13 double radial_distance,
14 double azimuthal_angle,
16 double orbital_phase)
const 19 for(
int m=-2; m<=2; ++m) {
20 std::complex<double> no_deriv,
31 assert(std::isfinite(no_deriv.real()));
35 std::pow(radial_distance, 2)
37 boost::math::spherical_harmonic(
44 std::complex<double>(std::cos(mprime * orbital_phase),
45 -std::sin(mprime * orbital_phase))
47 assert(std::isfinite(result));
53 double radial_distance,
54 double azimuthal_angle,
59 assert(radial_distance >= 0);
60 assert(azimuthal_angle >= 0);
61 assert(azimuthal_angle < 2 * M_PI);
62 assert(polar_angle >= 0);
63 assert(polar_angle <= M_PI);
67 double orbital_phase = (
76 double potential_norm = -(
89 int mprime = -mprime_range;
90 mprime <= mprime_range;
99 return potential_norm * result;
Basic description of two bodies in an eccentric orbit.
double __semimajor
The semimajor axis of the orbit in solar radii.
double __eccentricity
The eccentricity of the orbit.
Declare an interface for evaluating the expansion of the tidal potential.
Orientations of zones of bodies in a binary system.
const double solar_radius
Radius of the sun [m].
void configure(double inclination, double arg_of_periapsis=0)
Set the inclination relative to the orbit.
double __arg_of_periapsis
TidalPotentialTerms __expansion_coef
The coefficients of the expansion of the tidal potential. ( )
const double solar_mass
Mass of the sun [kg].
double evaluate_spherical_coords(double radial_distance, double azimuthal_angle, double polar_angle, double time)
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.
double orbital_period() const
The orbital period of the system in days.
const double G
Gravitational constant in SI.