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

Evaluate the tidal potential using the expansion. More...

#include <TidalPotentialExpansion.h>

+ Collaboration diagram for Evolve::TidalPotentialExpansion:

Public Member Functions

 TidalPotentialExpansion (double primary_mass=Core::NaN, double secondary_mass=Core::NaN, double semimajor=Core::NaN, double eccentricity=Core::NaN, double inclination=Core::NaN, double arg_of_periapsis=Core::NaN)
 
double evaluate_spherical_coords (double radial_distance, double azimuthal_angle, double polar_angle, double time)
 
template<class POSITION_TYPE >
double operator() (const POSITION_TYPE &position, double time)
 Return the tidal potential at a specific position and time in SI. More...
 
void set_eccentricity_order (unsigned e_order)
 

Private Member Functions

double tidal_term (int mprime, double radial_distance, double azimuthal_angle, double polar_angle, double orbital_phase) const
 Return a single tidal term: \( \Sum_{m=-2}^{2} \mathcal{U}_{m,m'} \rho'%2 Y_{2,m}(\theta', \phi')\exp(-im'\Omega t) \). More...
 

Private Attributes

TidalPotentialTerms __expansion_coef
 The coefficients of the expansion of the tidal potential. ( \( \mathcal{U}_{m,m'} \)) More...
 
double __primary_mass
 The mass of the tidally perturbed object in solar masses. More...
 
double __secondary_mass
 The mass of the perturber object in solar masses. More...
 
double __semimajor
 The semimajor axis of the orbit in solar radii. More...
 
double __eccentricity
 The eccentricity of the orbit. More...
 
double __inclination
 
double __arg_of_periapsis
 

Detailed Description

Evaluate the tidal potential using the expansion.

Definition at line 21 of file TidalPotentialExpansion.h.

Constructor & Destructor Documentation

◆ TidalPotentialExpansion()

Evolve::TidalPotentialExpansion::TidalPotentialExpansion ( double  primary_mass = Core::NaN,
double  secondary_mass = Core::NaN,
double  semimajor = Core::NaN,
double  eccentricity = Core::NaN,
double  inclination = Core::NaN,
double  arg_of_periapsis = Core::NaN 
)
inline
Parameters
primary_massSee same name argument to EccentricOrbit.
secondary_massSee same name argument to EccentricOrbit.
semimajorSee same name argument to EccentricOrbit.
eccentricitySee same name argument to EccentricOrbit.
inclinationSee same name argument to TidalPotential.
arg_of_periapsisSee same name argument to TidalPotential.

Definition at line 69 of file TidalPotentialExpansion.h.

Member Function Documentation

◆ evaluate_spherical_coords()

double Evolve::TidalPotentialExpansion::evaluate_spherical_coords ( double  radial_distance,
double  azimuthal_angle,
double  polar_angle,
double  time 
)

Return the tidal potential at a specific position in polar coordinates and time in seconds.

Parameters
radial_distanceThe radial distance from the origin of the point to where to evaluate the tidal potential.
azimuthal_angleThe azimuthal angle of the point to where to evaluate the tidal potential, should be in the range of \( [0, 2\pi) \).
polar_angleThe polar angle of the point to where to evaluate the tidal potential, should be in the range of \( [0, \pi] \).
timeThe time in second since periastron passage. It is perfectly valid to pass values bigger than the orbital period.

Definition at line 52 of file TidalPotentialExpansion.cpp.

◆ operator()()

template<class POSITION_TYPE >
double Evolve::TidalPotentialExpansion::operator() ( const POSITION_TYPE &  position,
double  time 
)

Return the tidal potential at a specific position and time in SI.

Parameters
positionThe position to evaluate the potential at in a coordinate system centered on the primary body with \( \hat{z} = \hat{S} \), \( \hat{y} = \hat{S} \times \hat{L} \).

Must provide indexing with indices 0, 1, 2 for the three components.

Parameters
timeThe time in days when to evalutae the tidal potential. The system is in periapsis at time = 0.

Definition at line 138 of file TidalPotentialExpansion.h.

◆ tidal_term()

double Evolve::TidalPotentialExpansion::tidal_term ( int  mprime,
double  radial_distance,
double  azimuthal_angle,
double  polar_angle,
double  orbital_phase 
) const
private

Return a single tidal term: \( \Sum_{m=-2}^{2} \mathcal{U}_{m,m'} \rho'%2 Y_{2,m}(\theta', \phi')\exp(-im'\Omega t) \).

Parameters
mprimeThe value of m' in the expression evaluated by this function.
radial_distanceSee same name argument to evaluate_spherical_coords()
azimuthal_angleSee same name argument to evaluate_spherical_coords()
polar_angleSee same name argument to evaluate_spherical_coords()
orbital_phaseThe orbital phase of the secondary body ( \( 2 \pi n - argument_of_periapsis\) is periapsis).

Definition at line 12 of file TidalPotentialExpansion.cpp.

Member Data Documentation

◆ __arg_of_periapsis

double Evolve::TidalPotentialExpansion::__arg_of_periapsis
private

90 degrees less than the angle from \( \hat{y} = \hat{S} \times \hat{L} \) to the direction of periapsis in radians.

Definition at line 29 of file TidalPotentialExpansion.h.

◆ __eccentricity

double Evolve::TidalPotentialExpansion::__eccentricity
private

The eccentricity of the orbit.

Definition at line 29 of file TidalPotentialExpansion.h.

◆ __expansion_coef

TidalPotentialTerms Evolve::TidalPotentialExpansion::__expansion_coef
private

The coefficients of the expansion of the tidal potential. ( \( \mathcal{U}_{m,m'} \))

Definition at line 25 of file TidalPotentialExpansion.h.

◆ __inclination

double Evolve::TidalPotentialExpansion::__inclination
private

The angle between the orbital angular momentum and the spin angular momentum of the primary.;

Definition at line 29 of file TidalPotentialExpansion.h.

◆ __primary_mass

double Evolve::TidalPotentialExpansion::__primary_mass
private

The mass of the tidally perturbed object in solar masses.

Definition at line 29 of file TidalPotentialExpansion.h.

◆ __secondary_mass

double Evolve::TidalPotentialExpansion::__secondary_mass
private

The mass of the perturber object in solar masses.

Definition at line 29 of file TidalPotentialExpansion.h.

◆ __semimajor

double Evolve::TidalPotentialExpansion::__semimajor
private

The semimajor axis of the orbit in solar radii.

Definition at line 29 of file TidalPotentialExpansion.h.


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