Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
testGravitationalPotential.h
Go to the documentation of this file.
1 
9 #ifndef __TEST_GRAVITATIONAL_POTENTIAL_H
10 #define __TEST_GRAVITATIONAL_POTENTIAL_H
11 
12 #include "EccentricOrbit.h"
13 #include "TidalPotential.h"
15 
16 #include "../shared/Common.h"
17 
18 #include <iostream>
19 #include <iomanip>
20 #include <sstream>
21 
22 namespace Evolve {
28  class test_GravitationalPotential : public Test::Suite {
29  private:
32  void print_orbit(const EccentricOrbit &orbit) const;
33 
38  double primary_mass,
39 
41  double secondary_mass,
42 
44  double semimajor,
45 
47  double eccentricity,
48 
50  double inclination,
51 
53  double arg_of_periapsis,
54 
57  const Eigen::Vector3d &position,
58 
60  unsigned e_order
61  ) const;
62 
67  const Eigen::Vector3d &position,
68 
70  const EccentricOrbit &orbit
71  ) const;
72 
75  void test_single_point(
77  TidalPotentialExpansion &approx_potential,
78 
80  const TidalPotential &exact_potential,
81 
84  const Eigen::Vector3d &position
85  );
86 
88  void test_system(
90  double primary_mass,
91 
93  double secondary_mass,
94 
96  double semimajor,
97 
99  double eccentricity,
100 
102  double inclination,
103 
105  double arg_of_periapsis,
106 
108  unsigned e_order=0
109  );
110 
111  protected:
113  void setup() {};
114 
116  void tear_down() {};
117 
118  public:
121 
124  void test_expansion();
125  }; //End test_GravitationalPotential class.
126 } //End Evolve namespace.
127 
128 #endif
void tear_down()
No fixtures at this time.
Basic description of two bodies in an eccentric orbit.
void test_single_point(TidalPotentialExpansion &approx_potential, const TidalPotential &exact_potential, const Eigen::Vector3d &position)
Test the expansion for a given system at a given position, sampling time.
void setup()
No fixtures at this time.
void print_tidal_potential(double primary_mass, double secondary_mass, double semimajor, double eccentricity, double inclination, double arg_of_periapsis, const Eigen::Vector3d &position, unsigned e_order) const
Print to stdout the value of the tidal potential without an approximation and using the expansion as ...
void test_expansion()
Test the expansion of the potential for multiple system configurations, locations and times...
Evaluate the tidal potential using the expansion.
Declare an interface for evaluating the expansion of the tidal potential.
The test suite that compares the tidal potential expansion to the exact expression.
Orientations of zones of bodies in a binary system.
double abs_expected_precision(const Eigen::Vector3d &position, const EccentricOrbit &orbit) const
Declare an interface for calculating the tidal potential due to a companion in an eccentric orbit...
void test_system(double primary_mass, double secondary_mass, double semimajor, double eccentricity, double inclination, double arg_of_periapsis, unsigned e_order=0)
Test the expansion for a given system, sampling positions and times.
Calculate the tidal potential over one component of an eccentric binary.
void print_orbit(const EccentricOrbit &orbit) const
Print to stdout the location of the secondary relative to the primary as a function of time for the g...
Declare an interface for working with eccentric orbits.