Collaboration diagram for Evolve::TidalPotentialTerms:Public Member Functions | |
| double | get_expansion_precision () const |
| Return the expansion precision target for the expansion terms. More... | |
| 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) 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) 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 | prepare (const std::string &tabulated_pms_fname, double precision, bool pre_load, bool disable_precision_fail) |
| See EccentricityExpansionCoefficients::prepare() More... | |
| static unsigned | required_expansion_order (double e) |
| The maximum orbital frequency multiplier to include in the potential Fourier expansion in order to achive a specified precision. More... | |
| static std::pair< double, double > | get_expansion_range (int max_mp) |
| Return the range of eccentricities (min, max) over which an expansion going up to given max m' is valid and required. More... | |
| static unsigned | max_expansion_order () |
| The maximum eccentricity expansion order (orbital frequency multiplier for which the expansion is known. More... | |
| static const EccentricityExpansionCoefficients & | expansion_coefficient_evaluator () |
| Provide direct access to the eccentircity expansion coefficients. More... | |
Private Attributes | |
| 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 20 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 |
Provide direct access to the eccentircity expansion coefficients.
Definition at line 156 of file TidalPotentialTerms.h.
|
inline |
Return the expansion precision target for the expansion terms.
Definition at line 84 of file TidalPotentialTerms.h.
|
static |
Return the range of eccentricities (min, max) over which an expansion going up to given max m' is valid and required.
For eccentricities below the minimum (first value of returned pair) terms with frequency \(m\Omega_\star-m'\Omega_{orb}\) can be excluded from the expansion for all m, without violating the precision requirement. For eccentricities at or above maximum (second value of returned pair) at least one \(m\Omega_\star-m'\Omega_{orb}\) term must be included in the series in order to satisfy the precision requirement.
Definition at line 120 of file TidalPotentialTerms.cpp.
|
inlinestatic |
The maximum eccentricity expansion order (orbital frequency multiplier for which the expansion is known.
Definition at line 151 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 | ||
| ) | 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\).
configure() should already have been called with the appropriate inclination and argument of periapsis.
| e | The eccentricity. |
| m | The m index (spin freuqency multiplier). |
| mp | The m' index (orbital frequency multiplier). |
| no_deriv | Set to the undifferentiated value. |
| inclination_deriv | Set to the inclination derivative. |
| eccentricity_deriv | Set to the eccentricity_derivative. |
Definition at line 137 of file TidalPotentialTerms.cpp.
| void Evolve::TidalPotentialTerms::operator() | ( | double | e, |
| int | m, | ||
| int | mp, | ||
| double & | no_deriv, | ||
| double & | inclination_deriv, | ||
| double & | eccentricity_deriv | ||
| ) | 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. |
Definition at line 174 of file TidalPotentialTerms.cpp.
|
inlinestatic |
See EccentricityExpansionCoefficients::prepare()
Definition at line 51 of file TidalPotentialTerms.h.
|
inlinestatic |
The maximum orbital frequency multiplier to include in the potential Fourier expansion in order to achive a specified precision.
The return value (call it \(O\)) is such that \(O p_{m, O+1} < //\mathrm{precision}\). The reasoning is that if \(p_{m,s}\) will decay substantially as s doubles.
| e | The eccentricity at which tidal potential needs to be evaluated. |
Definition at line 69 of file TidalPotentialTerms.h.
|
private |
The argument of periaspsis set by the last call to configure().
Definition at line 36 of file TidalPotentialTerms.h.
|
staticprivate |
The eccentricity expansion of \(p_{m,s}\).
Definition at line 23 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 30 of file TidalPotentialTerms.h.
|
private |
The \(\mathcal{U}_{m,m'}\) quantities defined in Lai (2012).
Definition at line 40 of file TidalPotentialTerms.h.
|
private |
The derivatives of the \(\mathcal{U}_{m,m'}\) quantities w.r.t. the inclination.
Definition at line 40 of file TidalPotentialTerms.h.
|
private |
The inclination with which __Ummp was last filled.
Definition at line 33 of file TidalPotentialTerms.h.