Orientations of zones of bodies in a binary system. More...
Namespaces | |
Dissipation | |
Isolates constants related to the tidal dissipation. | |
Classes | |
class | BinarySystem |
Describes a system of two bodies orbiting each other. More... | |
class | BreakLockCondition |
Satisfied when the maximum tidal torque that the planet can exert on the star is no longer sufficient to keep the lock. More... | |
class | BrokenPowerlawPhaseLagZone |
A DissipatingZone where the phase lag is described by a broken powerlaw. More... | |
class | CombinedStoppingCondition |
A class combining the the outputs of multiple stopping conditions. More... | |
class | ConstPhaseLagZone |
A zone with constant phase lag for all tidal terms. More... | |
class | ConstSolutionIterator |
Iterates over the tabulated solution after an evolution calculation. More... | |
class | DiskBinarySystem |
For some prescribed amount of time the surface of the pramary spins at a prescribed rate, it is then released and (at a possibly different age) a secondary body forms in a prescribed initial orbit. More... | |
class | DissipatingBody |
A base class for any body contributing to tidal dissipation. More... | |
class | DissipatingZone |
A layer of a system body for which the tidal bulge is not exactly in phase with the tidal potential. More... | |
class | EccentricityExpansionCoefficients |
A class which reads-in and provides a convenient interface to the \(p_{m,s}\) coefficients. More... | |
class | EccentricOrbit |
Basic description of two bodies in an eccentric orbit. More... | |
class | ExpectedEvolutionMode |
Some evolution mode that changes at specified ages. More... | |
class | ExternalStoppingCondition |
A base class for all external stopping conditions. More... | |
class | ExtremumInformation |
Infomation about an extremum of a function. More... | |
class | LagForcingFrequencyBreakCondition |
satisfied when a forcing frequency reaches a critical value. More... | |
class | NoStopCondition |
A stopping condition that is never satisfied. More... | |
class | OrbitSolver |
Solves the system of ODEs describing the evolution of a single planet around a single star. More... | |
class | PolynomialEvolutionZone |
class | RotFastCondition |
Satisfied when a zone is rotating faster than a threshold. More... | |
class | SecondaryDeathCondition |
Satisfied when the planet enters below either the roche sphere or the stellar photosphere. More... | |
class | SingleTidalTermBody |
A skumanich wind body with a single zone dissipative to only a single tidal term. More... | |
class | SingleTidalTermZone |
A zone dissipative to only a single tidal term. More... | |
class | SpinOrbitLockInfo |
Defines a lock between the spin of a dissipating body and the orbit. More... | |
class | StopHistoryInterval |
A collection of accepted and discarded evolution steps which contain some reason to stop. More... | |
class | StopInformation |
The information about why and where the evolution should stop. More... | |
class | StoppingCondition |
A base class for all stopping conditions. More... | |
class | SynchronizedCondition |
Satisfied when some multiples of the orbit and stellar rotation are synchronized. More... | |
class | test_DifferentialEquations |
The test suite that compares the differential equations for eccentricity and semimajor axis to literature expansions. More... | |
class | test_GravitationalPotential |
The test suite that compares the tidal potential expansion to the exact expression. More... | |
class | test_LockMonitoring |
The test suite that ensures the correct locks are selected for monitoring and the fixes applied to the tidal frequency are correct. More... | |
class | test_OrbitSolver |
The test suite that exercises the OrbitSolver class. More... | |
class | test_TidalTorquePower |
The test suite that compares the tidal torque and power for a single zone against expectations. More... | |
class | TidalPotential |
Calculate the tidal potential over one component of an eccentric binary. More... | |
class | TidalPotentialExpansion |
Evaluate the tidal potential using the expansion. More... | |
class | TidalPotentialTerms |
class | TidalTermTriplet |
class | TransformedSolution |
A class that can be passed to the solution testing function instead of the solver that transforms the solutions before testing. More... | |
class | ZoneOrientation |
Enumerations | |
enum | ZoneEvolutionQuantities { ANGULAR_MOMENTUM, ANGULAR_MOMENTUM_DERIV, INCLINATION, INCLINATION_DERIV, PERIAPSIS, PERIAPSIS_DERIV, MOMENT_OF_INERTIA, MOMENT_OF_INERTIA_FIRST_DERIV, MOMENT_OF_INERTIA_SECOND_DERIV, OUTER_RADIUS, OUTER_RADIUS_FIRST_DERIV, OUTER_RADIUS_SECOND_DERIV, OUTER_MASS, OUTER_MASS_DERIV, NUM_REAL_EVOL_QUANTITIES, E_ORDER =NUM_REAL_EVOL_QUANTITIES, ORBITAL_FREQ_MULTIPLIER, SPIN_FREQ_MULTIPLIER, NUM_EVOL_QUANTITIES } |
IDs for quantities saved as part of the evolution. More... | |
enum | StoppingConditionType { NO_STOP, SYNCHRONIZED, BREAK_LOCK, PLANET_DEATH, WIND_SATURATION, LARGE_EXPANSION_ERROR, SMALL_EXPANSION_ERROR, EXTERNAL } |
The reasons for stopping the evolution currently supported. More... | |
enum | RealEvolutionQuantity { SEMIMAJOR, ECCENTRICITY, CONV_INCLINATION, RAD_INCLINATION, CONV_PERIAPSIS, RAD_PERIAPSIS, CONV_ANGMOM, RAD_ANGMOM, AGE, NUM_REAL_QUANTITIES } |
Define identifiers for the quantities whose evolution we check. More... | |
Functions | |
std::ostream & | operator<< (std::ostream &os, const ZoneEvolutionQuantities &evol_var) |
More civilized output for EvolVarType variables. More... | |
std::ostream & | operator<< (std::ostream &os, const Dissipation::Quantity &quantity) |
More civilized output for Dissipation::Quantity variables. More... | |
std::ostream & | operator<< (std::ostream &os, Dissipation::QuantityEntry entry) |
More civilized output for Dissipation::QuantityEntry variables. More... | |
LIB_LOCAL bool | zone_specific (Dissipation::QuantityEntry entry) |
int | stellar_system_diff_eq ( double age, const double *parameters, double *derivatives, void *system) |
A wrapper tha allows the stellar system differential equation to be passed to the GSL ODE solver. More... | |
int | stellar_system_jacobian ( double age, const double *parameters, double *param_derivs, double *age_derivs, void *system_mode) |
A wrapper tha allows the stellar system jacobian to be passed to the GSL ODE solver. More... | |
std::ostream & | operator<< (std::ostream &os, const SpinOrbitLockInfo &lock) |
Civilized output for locks. More... | |
std::ostream & | operator<< (std::ostream &os, StopHistoryInterval interval) |
Civilized output of a StopHistoryInterval. More... | |
std::ostream & | operator<< (std::ostream &os, const StopInformation &stop) |
Civilized output of a StopInformation object. More... | |
std::ostream & | operator<< (std::ostream &os, const StoppingConditionType &stop_cond_type) |
More civilized output for StoppingConditionType variables. More... | |
Eigen::Vector3d | zone_to_zone_transform ( const ZoneOrientation &from_zone, const ZoneOrientation &to_zone, const Eigen::Vector3d &vector, Dissipation::QuantityEntry deriv=Dissipation::NO_DERIV, bool with_respect_to_from=false) |
Transforms a vector betwen the coordinates systems of two zones. More... | |
std::ostream & | operator<< (std::ostream &os, RealEvolutionQuantity q) |
double | locked_unsat_eq (double a, void *params) |
The equation that should be solved in order to get the semimamjor axis at a gien time. More... | |
double | locked_sat_eq (double a, void *params) |
The equation that should be solved in order to get the semimamjor axis at a given time for the locked evolution when the wind is saturated. More... | |
double | locked_unsat_deriv (double a, void *params) |
The derivative of the equation that should be solved in order to get the semimamjor axis at a given time for the locked evolution when the wind is not saturated. More... | |
double | locked_sat_deriv (double a, void *params) |
The derivative of the equation that should be solved in order to get the semimamjor axis at a gien time for the locked evolution when the wind is saturated. More... | |
void | locked_unsat_eq_deriv (double a, void *params, double *f, double *df) |
The equation and its derivative that should be solved in order to get the semimamjor axis at a given time for the locked evolution when the wind is not saturated. More... | |
void | locked_sat_eq_deriv (double a, void *params, double *f, double *df) |
The equation and its derivative that should be solved in order to get the semimamjor axis at a given time for the locked evolution when the wind is saturated. More... | |
Variables | |
const double | MIN_RELATIVE_STEP |
const double | epsilon = std::numeric_limits<double>::epsilon() |
const double | TSTART = 2.0 * MIN_AGE |
const double | zero = 0.0 |
const double | one = 1.0 |
const double | Mjup_to_Msun |
const double | Rjup_to_Rsun |
StellarEvolution::PolynomialEvolutionQuantity | nan_func (std::valarray< double >(Core::NaN, 2), TSTART, MAX_AGE) |
StellarEvolution::PolynomialEvolutionQuantity | zero_func (std::valarray< double >(), TSTART, MAX_AGE) |
StellarEvolution::PolynomialEvolutionQuantity | one_func (std::valarray< double >(1.0, 1), TSTART, MAX_AGE) |
StellarEvolution::PolynomialEvolutionQuantity | two_func (std::valarray< double >(2.0, 1), TSTART, MAX_AGE) |
StellarEvolution::PolynomialEvolutionQuantity | two_hundred_func (std::valarray< double >(200.0, 1), TSTART, MAX_AGE) |
Orientations of zones of bodies in a binary system.
Define identifiers for the quantities whose evolution we check.
Definition at line 15 of file RealEvolutionQuantity.h.
The reasons for stopping the evolution currently supported.
Definition at line 19 of file StoppingCondition.h.
IDs for quantities saved as part of the evolution.
Definition at line 28 of file DissipatingZone.h.
double Evolve::locked_sat_deriv | ( | double | a, |
void * | params | ||
) |
The derivative of the equation that should be solved in order to get the semimamjor axis at a gien time for the locked evolution when the wind is saturated.
The paramaters should be: alpha, beta.
Definition at line 1925 of file testOrbitSolver.cpp.
double Evolve::locked_sat_eq | ( | double | a, |
void * | params | ||
) |
The equation that should be solved in order to get the semimamjor axis at a given time for the locked evolution when the wind is saturated.
The paramaters should be: alpha, beta, kappa, C, t
Definition at line 1888 of file testOrbitSolver.cpp.
void Evolve::locked_sat_eq_deriv | ( | double | a, |
void * | params, | ||
double * | f, | ||
double * | df | ||
) |
The equation and its derivative that should be solved in order to get the semimamjor axis at a given time for the locked evolution when the wind is saturated.
The paramaters should be: alpha, beta, kappa, C, t
Definition at line 1965 of file testOrbitSolver.cpp.
double Evolve::locked_unsat_deriv | ( | double | a, |
void * | params | ||
) |
The derivative of the equation that should be solved in order to get the semimamjor axis at a given time for the locked evolution when the wind is not saturated.
The paramaters should be: alpha, beta.
Definition at line 1912 of file testOrbitSolver.cpp.
double Evolve::locked_unsat_eq | ( | double | a, |
void * | params | ||
) |
The equation that should be solved in order to get the semimamjor axis at a gien time.
The paramaters should be: alpha, beta, kappa, C, t
Definition at line 1865 of file testOrbitSolver.cpp.
void Evolve::locked_unsat_eq_deriv | ( | double | a, |
void * | params, | ||
double * | f, | ||
double * | df | ||
) |
The equation and its derivative that should be solved in order to get the semimamjor axis at a given time for the locked evolution when the wind is not saturated.
The paramaters should be: alpha, beta, kappa, C, t
Definition at line 1938 of file testOrbitSolver.cpp.
LIB_LOCAL std::ostream & Evolve::operator<< | ( | std::ostream & | os, |
const StopInformation & | stop | ||
) |
Civilized output of a StopInformation object.
Definition at line 6 of file StopInformation.cpp.
LIB_LOCAL std::ostream & Evolve::operator<< | ( | std::ostream & | os, |
const SpinOrbitLockInfo & | lock | ||
) |
Civilized output for locks.
Definition at line 6 of file SpinOrbitLockInfo.cpp.
std::ostream & Evolve::operator<< | ( | std::ostream & | os, |
const ZoneEvolutionQuantities & | evol_var | ||
) |
More civilized output for EvolVarType variables.
Definition at line 7 of file DissipatingZone.cpp.
LIB_LOCAL std::ostream & Evolve::operator<< | ( | std::ostream & | os, |
const StoppingConditionType & | stop_cond_type | ||
) |
More civilized output for StoppingConditionType variables.
Definition at line 13 of file StoppingCondition.cpp.
LIB_LOCAL std::ostream & Evolve::operator<< | ( | std::ostream & | os, |
const Dissipation::Quantity & | quantity | ||
) |
More civilized output for Dissipation::Quantity variables.
Definition at line 14 of file DissipationQuantities.cpp.
LIB_LOCAL std::ostream & Evolve::operator<< | ( | std::ostream & | os, |
Dissipation::QuantityEntry | entry | ||
) |
More civilized output for Dissipation::QuantityEntry variables.
More civilized output for Dissipation::QuantityError variables.
Definition at line 31 of file DissipationQuantities.cpp.
LIB_LOCAL std::ostream & Evolve::operator<< | ( | std::ostream & | os, |
StopHistoryInterval | interval | ||
) |
Civilized output of a StopHistoryInterval.
Definition at line 237 of file StopHistoryInterval.cpp.
LIB_LOCAL int Evolve::stellar_system_diff_eq | ( | double | age, |
const double * | parameters, | ||
double * | derivatives, | ||
void * | system_mode | ||
) |
A wrapper tha allows the stellar system differential equation to be passed to the GSL ODE solver.
age | System age in Gyr. |
parameters | A C-style array of the variables evolved under the current set of equations. |
derivatives | A C-style array of the rates of change of the orbital_parameters. |
system | A C-style array of pointers giving the stellar system, the current evolution mode, the wind saturation state to assume, the spin-orbit lock of the star and the dissipation rates. |
Definition at line 23 of file OrbitSolver.cpp.
LIB_LOCAL int Evolve::stellar_system_jacobian | ( | double | age, |
const double * | orbital_parameters, | ||
double * | param_derivs, | ||
double * | age_derivs, | ||
void * | system_mode | ||
) |
A wrapper tha allows the stellar system jacobian to be passed to the GSL ODE solver.
age | System age in Gyr. |
parameters | A C-style array of the variables evolved under the current set of equations. |
param_derivs | A C-style array of the Jacobian matrix entries. |
age_derivs | A C-style array of the partial age derivatives of the differential equations. Age is in Gyr. |
system_mode | A C-style array of pointers giving the stellar system and the current evolution mode. |
Definition at line 39 of file OrbitSolver.cpp.
LIB_PUBLIC Eigen::Vector3d Evolve::zone_to_zone_transform | ( | const ZoneOrientation & | from_zone, |
const ZoneOrientation & | to_zone, | ||
const Eigen::Vector3d & | vector, | ||
Dissipation::QuantityEntry | deriv, | ||
bool | with_respect_to_from | ||
) |
Transforms a vector betwen the coordinates systems of two zones.
from_zone | The zone whose coordinate system the vectors are currently in. |
to_zone | The zone whose coordinate system we want to transform the vectors to. |
vector | The vector to transform. |
deriv | Derivatives with respect to inclination and periapsis can be computed (assuming vector does not depend on these), in addition to the regular transform. It is an error to request another derivative. |
with_respect_to_from | If deriv is not NO_DERIV, derivatives can be computed with respect to quantities of the from_zone (if this argument is true) or the to_zone (if false). |
Definition at line 6 of file ZoneOrientation.cpp.
const double Evolve::MIN_RELATIVE_STEP |
Definition at line 17 of file OrbitSolver.cpp.
const double Evolve::Mjup_to_Msun |
Definition at line 17 of file testOrbitSolver.cpp.
const double Evolve::Rjup_to_Rsun |
Definition at line 21 of file testOrbitSolver.cpp.