Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
Evolve::test_OrbitSolver Class Reference

The test suite that exercises the OrbitSolver class. More...

#include <testOrbitSolver.h>

+ Inheritance diagram for Evolve::test_OrbitSolver:
+ Collaboration diagram for Evolve::test_OrbitSolver:

Private Member Functions

void set_single_component_dissipation (double min_frequency, double max_frequency, double decay_scale, double phase_lag=1.0e-5)
 Set the dissipation of the primary to only a single tidal. More...
 
void make_single_component_star (const StellarEvolution::Interpolator &evolution, double wind_strength, double wind_sat_freq, double coupling_timescale, double min_frequency, double max_frequency, double decay_scale, double phase_lag=1.0e-5)
 Create __star with constant dissipation in a range, quickly decaying outside of that. More...
 
void evolve (double wdisk, double tdisk, double initial_a, const double *initial_Lstar, double initial_incl=0.0, double secondary_mass=1.0, double tsecondary=Core::NaN, double max_age=MAX_AGE, double secondary_radius=1.0, double precision=1e-6, double max_step_factor=1e-3)
 Add a planet to the given star and evolve, returning the solver. More...
 
std::vector< const std::list< double > * > get_evolution () const
 Return the last calculated evolution. More...
 
void test_solution (const std::vector< const std::list< double > * > &tabulated_real_quantities, std::vector< const Core::OneArgumentDiffFunction *> expected_real_quantities, const ExpectedEvolutionMode< Core::EvolModeType > &expected_evol_mode, const ExpectedEvolutionMode< bool > &expected_wind_mode, double min_age, double max_age, bool debug_mode=false)
 Tests the latest evolution calculated by the solver against the given tracks. More...
 
void test_no_planet_scenario (const StellarEvolution::Interpolator &stellar_evol, double *initial_Lstar, double windK, double wind_sat_freq, double core_env_coupling_time, std::vector< const Core::OneArgumentDiffFunction *> &expected_evolution, const ExpectedEvolutionMode< bool > &expected_wind_mode, double max_age=MAX_AGE, bool debug_mode=false)
 Test a planet-less scenario computed in 3 different ways: 1) withou a planet 2) without dissipation 3) with massless planet. More...
 
std::vector< const Core::OneArgumentDiffFunction * > calculate_expected_unlocked_evolution (double phase_lag, double secondary_mass, bool decaying=true)
 Calculate the predicted evolution for the test_unlocked_evolution() case. More...
 

Private Attributes

Evolve::OrbitSolver__solver
 The solver used for the current test. More...
 
Evolve::DiskBinarySystem__system
 The system being evolved by the current test. More...
 
Star::InterpolatedEvolutionStar__star
 The star used in the current test (NULL if primary is planet). More...
 
Planet::Planet__primary_planet
 The primary planet in the current test (NULL if primary is star). More...
 
std::vector< const Core::OneArgumentDiffFunction *> __temp_functions
 A list of functions allocated during a test to delete at the end. More...
 

Detailed Description

The test suite that exercises the OrbitSolver class.

Definition at line 36 of file testOrbitSolver.h.

Member Function Documentation

◆ calculate_expected_unlocked_evolution()

std::vector< const Core::OneArgumentDiffFunction * > Evolve::test_OrbitSolver::calculate_expected_unlocked_evolution ( double  phase_lag,
double  secondary_mass,
bool  decaying = true 
)
private

Calculate the predicted evolution for the test_unlocked_evolution() case.

Parameters
phase_lagThe constant phase lag of the primary's surface zone.
secondary_massThe mass of the secondary in the system in Jupiter masses.
decayingIf true, the decaying evolution is returned (see test_unlocked_evolution()), otherwise, the expanding one.

Definition at line 629 of file testOrbitSolver.cpp.

◆ evolve()

void Evolve::test_OrbitSolver::evolve ( double  wdisk,
double  tdisk,
double  initial_a,
const double *  initial_Lstar,
double  initial_incl = 0.0,
double  secondary_mass = 1.0,
double  tsecondary = Core::NaN,
double  max_age = MAX_AGE,
double  secondary_radius = 1.0,
double  precision = 1e-6,
double  max_step_factor = 1e-3 
)
private

Add a planet to the given star and evolve, returning the solver.

Parameters
tsecondaryIf NaN defaults to tdisk.

Definition at line 156 of file testOrbitSolver.cpp.

◆ get_evolution()

std::vector< const std::list< double > * > Evolve::test_OrbitSolver::get_evolution ( ) const
private

Return the last calculated evolution.

Definition at line 253 of file testOrbitSolver.cpp.

◆ make_single_component_star()

void Evolve::test_OrbitSolver::make_single_component_star ( const StellarEvolution::Interpolator evolution,
double  wind_strength,
double  wind_sat_freq,
double  coupling_timescale,
double  min_frequency,
double  max_frequency,
double  decay_scale,
double  phase_lag = 1.0e-5 
)
private

Create __star with constant dissipation in a range, quickly decaying outside of that.

Parameters
evolutionThe stellar evolution to use.
wind_strengthThe strength of the wind.
wind_sat_freqThe wind saturation frequency.
coupling_timescaleThe core-envelope coupling timescale.
min_frequencyThe minimum frequency at which the dissipation should be at its maximum value.
max_frequencyThe maximum frequency at which the dissipation should be at its maximum value.
decay_scaleThe scale on which frequnecy should decay.
phase_lagThe phase lag of the only dissipative tidal component.

Definition at line 132 of file testOrbitSolver.cpp.

◆ set_single_component_dissipation()

void Evolve::test_OrbitSolver::set_single_component_dissipation ( double  min_frequency,
double  max_frequency,
double  decay_scale,
double  phase_lag = 1.0e-5 
)
private

Set the dissipation of the primary to only a single tidal.

Parameters
min_frequencyThe minimum frequency at which the dissipation should be at its maximum value.
max_frequencyThe maximum frequency at which the dissipation should be at its maximum value.
decay_scaleThe scale on which frequnecy should decay.
phase_lagThe phase lag of the only dissipative tidal component.

Definition at line 84 of file testOrbitSolver.cpp.

◆ test_no_planet_scenario()

void Evolve::test_OrbitSolver::test_no_planet_scenario ( const StellarEvolution::Interpolator stellar_evol,
double *  initial_Lstar,
double  windK,
double  wind_sat_freq,
double  core_env_coupling_time,
std::vector< const Core::OneArgumentDiffFunction *> &  expected_evolution,
const ExpectedEvolutionMode< bool > &  expected_wind_mode,
double  max_age = MAX_AGE,
bool  debug_mode = false 
)
private

Test a planet-less scenario computed in 3 different ways: 1) withou a planet 2) without dissipation 3) with massless planet.

Definition at line 517 of file testOrbitSolver.cpp.

◆ test_solution()

void Evolve::test_OrbitSolver::test_solution ( const std::vector< const std::list< double > * > &  tabulated_real_quantities,
std::vector< const Core::OneArgumentDiffFunction *>  expected_real_quantities,
const ExpectedEvolutionMode< Core::EvolModeType > &  expected_evol_mode,
const ExpectedEvolutionMode< bool > &  expected_wind_mode,
double  min_age,
double  max_age,
bool  debug_mode = false 
)
private

Tests the latest evolution calculated by the solver against the given tracks.

Definition at line 303 of file testOrbitSolver.cpp.

Member Data Documentation

◆ __primary_planet

Planet::Planet* Evolve::test_OrbitSolver::__primary_planet
private

The primary planet in the current test (NULL if primary is star).

Definition at line 48 of file testOrbitSolver.h.

◆ __solver

Evolve::OrbitSolver* Evolve::test_OrbitSolver::__solver
private

The solver used for the current test.

Definition at line 39 of file testOrbitSolver.h.

◆ __star

Star::InterpolatedEvolutionStar* Evolve::test_OrbitSolver::__star
private

The star used in the current test (NULL if primary is planet).

Definition at line 45 of file testOrbitSolver.h.

◆ __system

Evolve::DiskBinarySystem* Evolve::test_OrbitSolver::__system
private

The system being evolved by the current test.

Definition at line 42 of file testOrbitSolver.h.

◆ __temp_functions

std::vector< const Core::OneArgumentDiffFunction* > Evolve::test_OrbitSolver::__temp_functions
private

A list of functions allocated during a test to delete at the end.

Definition at line 51 of file testOrbitSolver.h.


The documentation for this class was generated from the following files: