Program Listing for File testDifferentialEquations.h¶
↰ Return to documentation for file (/home/kpenev/projects/git/poet/poet_src/unit_tests/testEvolve/testDifferentialEquations.h)
#ifndef __TEST_DIFFERENTIAL_EQUATIONS_H
#define __TEST_DIFFERENTIAL_EQUATIONS_H
#include "SingleTidalTermBody.h"
#include "../shared/Common.h"
#include "../shared/PolynomialEvolution.h"
#include "../shared/MakeStar.h"
#include "../../Planet/Planet.h"
#include "../../third_party_libs/alglib/alglib/src/interpolation.h"
namespace Evolve {
class test_DifferentialEquations : public Test::Suite {
private:
void output_rates(
const alglib::real_1d_array &eccentricities,
const alglib::real_1d_array &expected_semimajor_rate,
const alglib::real_1d_array &predicted_semimajor_rate,
const alglib::real_1d_array &expected_eccentricity_rate,
const alglib::real_1d_array &predicted_eccentricity_rate
) const;
double zahn77_semimajor_rate_coef(
int orbital_frequency_multiplier,
int spin_frequency_multiplier,
double eccentricity
) const;
double zahn77_eccentricity_rate_coef(
int orbital_frequency_multiplier,
int spin_frequency_multiplier
) const;
void check_agreement(
const alglib::real_1d_array& x,
const alglib::real_1d_array& y1,
const alglib::real_1d_array& y2,
unsigned agreement_order,
unsigned max_order,
const std::string &description
);
protected:
void setup() {};
void tear_down() {};
public:
test_DifferentialEquations();
void test_aligned_equations();
void test_error_estimate();
};// End test_DifferentialEquations class.
} //End Evolve namespace.
#endif