Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
Evolve::EccentricityExpansionCoefficients Class Reference

A class which reads-in and provides a convenient interface to the \(p_{m,s}\) coefficients. More...

#include <EccentricityExpansionCoefficients.h>

+ Collaboration diagram for Evolve::EccentricityExpansionCoefficients:

Public Member Functions

 EccentricityExpansionCoefficients ()
 Create an uninitialized object. More...
 
void read (const std::string &tabulated_pms_fname="", int max_e_power=-1)
 Reads in tabulated expansion coefficients, making this object useable. More...
 
unsigned max_e_power () const
 Maximum eccentricity power with all necessary coefficients known. More...
 
std::pair< double, double > operator() (int m, int s, double e, unsigned max_e_power, bool deriv) const
 Taylor series approximation of \(p_{m,s}\) and the contribution of the highest power eccentricity terms. More...
 

Private Member Functions

int inner_index (int msign, int s, int epower) const
 The inner index in the __alpha/gamma_plus/gamma_minus arrays. More...
 
std::pair< double, double > p_m2s (double e, int s, unsigned max_e_power, bool deriv) const
 
std::pair< double, double > p_0s (double e, int s, unsigned max_e_power, bool deriv) const
 
std::pair< double, double > p_p2s (double e, int s, unsigned max_e_power, bool deriv) const
 

Private Attributes

unsigned __max_e_power
 Maximum eccentricity power with all necessary coefficients known. More...
 
std::vector< std::vector< double > > __alpha
 The expansion coefficients of \(p_{0,s}\) ( \(\alpha\) along with the s factior in the [documentation]{InclinationEccentricity_pms1}). More...
 
std::vector< std::vector< double > > __gamma_plus
 The expansion coefficients of \(p_{2,s}\) ( \(\gamma_{s,n}^+(s/2)^{s+2n}\) in the [documentation]{InclinationEccentricity_pms1}). More...
 
std::vector< std::vector< double > > __gamma_minus
 The expansion coefficients of \(p_{-2,s}\) ( \(\gamma_{s,n}^-(s/2)^{s+2n}\) in the [documentation]{InclinationEccentricity_pms1}). More...
 
bool __useable
 Is the object ready to be used? More...
 

Detailed Description

A class which reads-in and provides a convenient interface to the \(p_{m,s}\) coefficients.

Definition at line 26 of file EccentricityExpansionCoefficients.h.

Constructor & Destructor Documentation

◆ EccentricityExpansionCoefficients()

Evolve::EccentricityExpansionCoefficients::EccentricityExpansionCoefficients ( )
inline

Create an uninitialized object.

Definition at line 126 of file EccentricityExpansionCoefficients.h.

Member Function Documentation

◆ inner_index()

int Evolve::EccentricityExpansionCoefficients::inner_index ( int  msign,
int  s,
int  epower 
) const
private

The inner index in the __alpha/gamma_plus/gamma_minus arrays.

Parameters
msignIf -1 returns the index within __gamma_minus, if 0 returns the index within __alpha and if 1 returns the index within __gamma_plus.
sThe multiplier of the orbital frequency of the desired term.
epowerThe power of the eccentricity in the desired term.

Definition at line 6 of file EccentricityExpansionCoefficients.cpp.

◆ max_e_power()

unsigned Evolve::EccentricityExpansionCoefficients::max_e_power ( ) const
inline

Maximum eccentricity power with all necessary coefficients known.

Definition at line 140 of file EccentricityExpansionCoefficients.h.

◆ operator()()

std::pair< double, double > Evolve::EccentricityExpansionCoefficients::operator() ( int  m,
int  s,
double  e,
unsigned  max_e_power,
bool  deriv 
) const

Taylor series approximation of \(p_{m,s}\) and the contribution of the highest power eccentricity terms.

Parameters
mThe first index (0 or +-2).
sThe second index.
eThe value of the eccentricity to use.
max_e_powerThe maximum eccentricity order to include in the Taylor series.
derivIf true the result is differentiated w.r.t. to the eccentricity.

Definition at line 193 of file EccentricityExpansionCoefficients.cpp.

◆ p_0s()

std::pair< double, double > Evolve::EccentricityExpansionCoefficients::p_0s ( double  e,
int  s,
unsigned  max_e_power,
bool  deriv 
) const
private

Taylor series approximation of \(p_{0,s}(e)\), and the contribution of the highest power eccentricity terms.

Parameters
eThe eccentricity
sThe s index.
max_e_powerWhere to truncate the taylor series.
derivIf true the result is differentiated w.r.t. to the eccentricity.

Definition at line 48 of file EccentricityExpansionCoefficients.cpp.

◆ p_m2s()

std::pair< double, double > Evolve::EccentricityExpansionCoefficients::p_m2s ( double  e,
int  s,
unsigned  max_e_power,
bool  deriv 
) const
private

Taylor series approximation of \(p_{-2,s}(e)\), and the contribution of the highest power eccentricity terms.

Parameters
eThe eccentricity
sThe s index.
max_e_powerWhere to truncate the taylor series.
derivIf true the result is differentiated w.r.t. to the eccentricity.

Definition at line 15 of file EccentricityExpansionCoefficients.cpp.

◆ p_p2s()

std::pair< double, double > Evolve::EccentricityExpansionCoefficients::p_p2s ( double  e,
int  s,
unsigned  max_e_power,
bool  deriv 
) const
private

Taylor series approximation of \(p_{2,s}(e)\), and the contribution of the highest power eccentricity terms.

Parameters
eThe eccentricity
sThe s index.
max_e_powerWhere to truncate the taylor series.
derivIf true the result is differentiated w.r.t. to the eccentricity.

Definition at line 77 of file EccentricityExpansionCoefficients.cpp.

◆ read()

void Evolve::EccentricityExpansionCoefficients::read ( const std::string &  tabulated_pms_fname = "",
int  max_e_power = -1 
)

Reads in tabulated expansion coefficients, making this object useable.

Parameters
tabulated_pms_fnameThe name of the file to read pre-tabulated coefficients from.
max_e_powerOnly reads the file until all coefficients necessary for expansions of up to this power are read-in. If this is negative, the full file is read.

Definition at line 106 of file EccentricityExpansionCoefficients.cpp.

Member Data Documentation

◆ __alpha

std::vector< std::vector<double> > Evolve::EccentricityExpansionCoefficients::__alpha
private

The expansion coefficients of \(p_{0,s}\) ( \(\alpha\) along with the s factior in the [documentation]{InclinationEccentricity_pms1}).

The outer index is s+__max_e_power and the inner one is min(n, n+s).

Definition at line 38 of file EccentricityExpansionCoefficients.h.

◆ __gamma_minus

std::vector< std::vector<double> > Evolve::EccentricityExpansionCoefficients::__gamma_minus
private

The expansion coefficients of \(p_{-2,s}\) ( \(\gamma_{s,n}^-(s/2)^{s+2n}\) in the [documentation]{InclinationEccentricity_pms1}).

The outer index is s+__max_e_power+2 and the inner one is min(n-1, n+s+1).

Definition at line 38 of file EccentricityExpansionCoefficients.h.

◆ __gamma_plus

std::vector< std::vector<double> > Evolve::EccentricityExpansionCoefficients::__gamma_plus
private

The expansion coefficients of \(p_{2,s}\) ( \(\gamma_{s,n}^+(s/2)^{s+2n}\) in the [documentation]{InclinationEccentricity_pms1}).

The outer index is s+__max_e_power-2 and the inner one is min(n+1, n+s-1).

Definition at line 38 of file EccentricityExpansionCoefficients.h.

◆ __max_e_power

unsigned Evolve::EccentricityExpansionCoefficients::__max_e_power
private

Maximum eccentricity power with all necessary coefficients known.

Definition at line 29 of file EccentricityExpansionCoefficients.h.

◆ __useable

bool Evolve::EccentricityExpansionCoefficients::__useable
private

Is the object ready to be used?

Definition at line 57 of file EccentricityExpansionCoefficients.h.


The documentation for this class was generated from the following files: