9 #ifndef __UNIT_TESTS_TIDAL_POTENTIAL_EXPANSION_H 10 #define __UNIT_TESTS_TIDAL_POTENTIAL_EXPANSION_H 14 #include "../../Evolve/TidalPotentialTerms.h" 16 #include <boost/math/special_functions/spherical_harmonic.hpp> 56 double radial_distance,
59 double azimuthal_angle,
71 double primary_mass=Core::NaN,
74 double secondary_mass=Core::NaN,
77 double semimajor=Core::NaN,
80 double eccentricity=Core::NaN,
83 double inclination=Core::NaN,
86 double arg_of_periapsis=Core::NaN
89 __secondary_mass(secondary_mass),
90 __semimajor(semimajor),
91 __eccentricity(eccentricity),
92 __inclination(inclination),
93 __arg_of_periapsis(arg_of_periapsis)
101 double radial_distance,
105 double azimuthal_angle,
117 template<
class POSITION_TYPE>
126 const POSITION_TYPE &position,
133 void set_eccentricity_order(
unsigned e_order)
137 template<
class POSITION_TYPE>
139 const POSITION_TYPE &position,
143 double radial_distance = position.norm(),
147 : std::acos(position[2]/radial_distance)
149 azimuthal_angle = std::atan2(position[1], position[0]);
151 if(azimuthal_angle < 0)
152 azimuthal_angle += 2.0 * M_PI;
double __semimajor
The semimajor axis of the orbit in solar radii.
double __eccentricity
The eccentricity of the orbit.
Evaluate the tidal potential using the expansion.
Orientations of zones of bodies in a binary system.
double __arg_of_periapsis
void change_e_order(unsigned new_e_order)
Change the eccentricity expansion order.
TidalPotentialTerms __expansion_coef
The coefficients of the expansion of the tidal potential. ( )
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)
double operator()(const POSITION_TYPE &position, double time)
Return the tidal potential at a specific position and time in SI.
double __secondary_mass
The mass of the perturber object in solar masses.
double tidal_term(int mprime, double radial_distance, double azimuthal_angle, double polar_angle, double orbital_phase) const
Return a single tidal term: .
double __primary_mass
The mass of the tidally perturbed object in solar masses.
Declare an interface for working with eccentric orbits.