Public Member Functions | |
void | change_e_order (unsigned new_e_order) |
Change the eccentricity expansion order. More... | |
unsigned | current_e_order () const |
void | configure (double inclination, double arg_of_periapsis=0) |
Set the inclination relative to the orbit. More... | |
void | operator() (double e, int m, int mp, std::complex< double > &no_deriv, std::complex< double > &inclination_deriv, std::complex< double > &eccentricity_deriv, std::complex< double > &highest_e_order_term) const |
Calculates \(\sum_s W_{2,s}D_{m,s}(\Theta)p_{s,m'}\) (see documentation) and its derivatives w.r.t. e and \(\Theta\). More... | |
void | operator() (double e, int m, int mp, double &no_deriv, double &inclination_deriv, double &eccentricity_deriv, double &highest_e_order_term) const |
Return only the real parts of the complex version of the operator, since only the real part enters the tidal torque and power. More... | |
Static Public Member Functions | |
static void | read_eccentricity_expansion (const std::string &fname) |
Reads the eccentricity expansion coefficients of \(p_{m,s}\). More... | |
static unsigned | max_e_order () |
The maximum eccentricity expansion order for which the expansion is known. More... | |
Private Attributes | |
unsigned | __e_order |
The expansion order in eccentricity to use. More... | |
double | __Ummp_inclination |
The inclination with which __Ummp was last filled. More... | |
double | __arg_of_periapsis |
The argument of periaspsis set by the last call to configure(). More... | |
std::valarray< std::valarray< double > > | __Ummp |
The \(\mathcal{U}_{m,m'}\) quantities defined in Lai (2012). More... | |
std::valarray< std::valarray< double > > | __Ummp_deriv |
The derivatives of the \(\mathcal{U}_{m,m'}\) quantities w.r.t. the inclination. More... | |
Static Private Attributes | |
static EccentricityExpansionCoefficients | __pms |
The eccentricity expansion of \(p_{m,s}\). More... | |
static const double | __Umm_coef [][3] |
The constant coefficiients in \(\mathcal{U}_{m,m'}\) of Lai (2012). More... | |
Definition at line 18 of file TidalPotentialTerms.h.
|
inline |
Change the eccentricity expansion order.
Definition at line 52 of file TidalPotentialTerms.h.
void Evolve::TidalPotentialTerms::configure | ( | double | inclination, |
double | arg_of_periapsis = 0 |
||
) |
Set the inclination relative to the orbit.
Definition at line 42 of file TidalPotentialTerms.cpp.
|
inlinestatic |
The maximum eccentricity expansion order for which the expansion is known.
Definition at line 127 of file TidalPotentialTerms.h.
void Evolve::TidalPotentialTerms::operator() | ( | double | e, |
int | m, | ||
int | mp, | ||
std::complex< double > & | no_deriv, | ||
std::complex< double > & | inclination_deriv, | ||
std::complex< double > & | eccentricity_deriv, | ||
std::complex< double > & | highest_e_order_term | ||
) | const |
Calculates \(\sum_s W_{2,s}D_{m,s}(\Theta)p_{s,m'}\) (see documentation) and its derivatives w.r.t. e and \(\Theta\).
fill_Umm should already have been called with the appropriate inclination and argument of periapsis.
e | The eccentricity. |
m | The m index. |
mp | The m' index. |
no_deriv | Set to the undifferentiated value. |
inclination_deriv | Set to the inclination derivative. |
eccentricity_deriv | Set to the eccentricity_derivative. |
highest_e_order_term | The contribution of only the term with the highest eccentricity power. Useful for detemining when the expansion order should be increased. |
Definition at line 121 of file TidalPotentialTerms.cpp.
void Evolve::TidalPotentialTerms::operator() | ( | double | e, |
int | m, | ||
int | mp, | ||
double & | no_deriv, | ||
double & | inclination_deriv, | ||
double & | eccentricity_deriv, | ||
double & | highest_e_order_term | ||
) | const |
Return only the real parts of the complex version of the operator, since only the real part enters the tidal torque and power.
e | The eccentricity. |
m | The m index. |
mp | The m' index. |
no_deriv | Set to the undifferentiated value. |
inclination_deriv | Set to the inclination derivative. |
eccentricity_deriv | Set to the eccentricity_derivative. |
highest_e_order_term | The contribution of only the term with the highest eccentricity power. Useful for detemining when the expansion order should be increased. |
Definition at line 164 of file TidalPotentialTerms.cpp.
|
inlinestatic |
Reads the eccentricity expansion coefficients of \(p_{m,s}\).
The given file should have been generated by tabulate_eccentricity_expansion_coefficients.py.
Definition at line 122 of file TidalPotentialTerms.h.
|
private |
The argument of periaspsis set by the last call to configure().
Definition at line 37 of file TidalPotentialTerms.h.
|
private |
The expansion order in eccentricity to use.
Definition at line 21 of file TidalPotentialTerms.h.
|
staticprivate |
The eccentricity expansion of \(p_{m,s}\).
Definition at line 24 of file TidalPotentialTerms.h.
|
staticprivate |
The constant coefficiients in \(\mathcal{U}_{m,m'}\) of Lai (2012).
The first index is m+2 (since m starts from -2) and the second index is m'/2+1 since the only allowed values are -2, 0 and 1.
Definition at line 31 of file TidalPotentialTerms.h.
|
private |
The \(\mathcal{U}_{m,m'}\) quantities defined in Lai (2012).
Definition at line 41 of file TidalPotentialTerms.h.
|
private |
The derivatives of the \(\mathcal{U}_{m,m'}\) quantities w.r.t. the inclination.
Definition at line 41 of file TidalPotentialTerms.h.
|
private |
The inclination with which __Ummp was last filled.
Definition at line 34 of file TidalPotentialTerms.h.