Program Listing for File testGravitationalPotential.h¶
↰ Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/unit_tests/testEvolve/testGravitationalPotential.h)
#ifndef __TEST_GRAVITATIONAL_POTENTIAL_H
#define __TEST_GRAVITATIONAL_POTENTIAL_H
#include "EccentricOrbit.h"
#include "TidalPotential.h"
#include "TidalPotentialExpansion.h"
#include "../shared/Common.h"
#include <iostream>
#include <iomanip>
#include <sstream>
namespace Evolve {
class test_GravitationalPotential : public Test::Suite {
private:
void print_orbit(const EccentricOrbit &orbit) const;
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;
double abs_expected_precision(
const Eigen::Vector3d &position,
const EccentricOrbit &orbit
) const;
void test_single_point(
TidalPotentialExpansion &approx_potential,
const TidalPotential &exact_potential,
const Eigen::Vector3d &position
);
void test_system(
double primary_mass,
double secondary_mass,
double semimajor,
double eccentricity,
double inclination,
double arg_of_periapsis,
unsigned e_order=0
);
protected:
void setup() {};
void tear_down() {};
public:
test_GravitationalPotential();
void test_expansion();
}; //End test_GravitationalPotential class.
} //End Evolve namespace.
#endif