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

A zone with constant phase lag for all tidal terms. More...

#include <ConstPhaseLagZone.h>

+ Inheritance diagram for Evolve::ConstPhaseLagZone:
+ Collaboration diagram for Evolve::ConstPhaseLagZone:

Public Member Functions

 ConstPhaseLagZone (double phase_lag, const std::valarray< double > &mass_coefficients, const std::valarray< double > &radius_coefficients, const std::valarray< double > &inertia_coefficients)
 
double modified_phase_lag (int, int spin_frequency_multiplier, double forcing_frequency, Dissipation::QuantityEntry entry, double &above_lock_value) const
 See DissipatingZone::modified_phase_lag() More...
 
bool dissipative () const
 See DissipatingZone::dissipative() More...
 
bool can_lock () const
 See DissipatingZone::can_lock() More...
 
- Public Member Functions inherited from Evolve::PolynomialEvolutionZone
 PolynomialEvolutionZone (const std::valarray< double > &mass_coefficients, const std::valarray< double > &radius_coefficients, const std::valarray< double > &inertia_coefficients)
 Construct a polynomial evolution zone with the given coefficients. More...
 
virtual void configure (bool initialize, double age, double orbital_frequency, double eccentricity, double orbital_angmom, double spin, double inclination, double periapsis, bool spin_is_frequency)
 See DissipatingZone::configure(). More...
 
double outer_mass (int deriv_order=0) const
 See DissipatingZone::outer_mass(int). More...
 
double outer_mass (double age, int deriv_order=0) const
 See DissipatingZone::outer_mass(double, int). More...
 
double outer_radius (int deriv_order=0) const
 See DissipatingZone::outer_radius(int). More...
 
double outer_radius (double age, int deriv_order=0) const
 See DissipatingZone::outer_radius(double, int). More...
 
virtual double moment_of_inertia (int deriv_order=0) const
 See DissipatingZone::moment_of_inertia(int). More...
 
virtual double moment_of_inertia (double age, int deriv_order=0) const
 See DissipatingZone::moment_of_inertia(double, int). More...
 
double love_coefficient (int, int, Dissipation::QuantityEntry) const
 See DissipatingZone::love_coefficient() More...
 
- Public Member Functions inherited from Evolve::DissipatingZone
void set_evolution_rates (double angular_momentum, double inclination, double periapsis)
 Set evolution rates for this zone's properties for storing in the eveloution. More...
 
double forcing_frequency (int orbital_frequency_multiplier, int spin_frequency_multiplier, double orbital_frequency) const
 The tidal forcing frequency for the given term and orbital frequency. More...
 
void set_reference_zone_angmom (double reference_angmom)
 Defines the angular momentum of the reference zone for single body evolution. More...
 
double periapsis_evolution (const Eigen::Vector3d &orbit_torque, const Eigen::Vector3d &zone_torque, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV, const Eigen::Vector3d &orbit_torque_deriv=Eigen::Vector3d(), const Eigen::Vector3d &zone_torque_deriv=Eigen::Vector3d())
 The rate at which the periapsis of the orbit/reference zone in this zone's equatorial plane is changing. More...
 
double inclination_evolution (const Eigen::Vector3d &orbit_torque, const Eigen::Vector3d &zone_torque, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV, const Eigen::Vector3d &orbit_torque_deriv=Eigen::Vector3d(), const Eigen::Vector3d &zone_torque_deriv=Eigen::Vector3d())
 The rate at which the inclination between this zone and the orbit is changing. More...
 
virtual bool locked (int orbital_frequency_multiplier, int spin_frequency_multiplier) const
 Should return true iff the given term is presently locked. More...
 
virtual bool locked () const
 Should return true iff any tidal term is locked. More...
 
const SpinOrbitLockInfolock_held () const
 The currntly held lock. More...
 
void release_lock ()
 Update the zone as necessary when the held lock disappears from the expansion. More...
 
void release_lock (short direction)
 Update the zone as necessary when the held lock is broken. More...
 
void set_lock (int orbital_frequency_multiplier, int spin_frequency_multiplier)
 Locks the zone spin to the orbit in the given ratio. More...
 
double spin_frequency () const
 The spin frequency of the given zone. More...
 
double angular_momentum () const
 The angular momentum of the given zone in \(M_\odot R_\odot^2\). More...
 
double tidal_power (bool above, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV) const
 The dimensionless tidal power or one of its derivatives. More...
 
double tidal_power (double above_fraction, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV) const
 Same as tidal_power(bool, Dissipation::QuantityEntry), but using the predefined mix of below/above contributions. More...
 
double tidal_torque_x (bool above, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV) const
 The dimensionless tidal torque along x. More...
 
double tidal_torque_x (double above_fraction, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV) const
 Same as tidal_torque_x(bool, Dissipation::QuantityEntry) but below and above contributions mixed. More...
 
double tidal_torque_y (bool above, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV) const
 The dimensionless torque along y. More...
 
double tidal_torque_y (double above_fraction, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV) const
 Same as tidal_torque_y(bool, Dissipation::QuantityEntry) but below and above contributions mixed. More...
 
double tidal_torque_z (bool above, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV) const
 The dimensionless tidal torque along z. More...
 
double tidal_torque_z (double above_fraction, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV) const
 Same as tidal_torque_z(bool, Dissipation::QuantityEntry) but below and above contributions mixed. More...
 
virtual unsigned eccentricity_order () const
 
virtual void change_e_order (unsigned new_e_order, BinarySystem &system, bool primary, unsigned zone_index)
 Changes the order of the eccentricity expansion performed. More...
 
virtual void add_to_evolution ()
 Appends the state defined by last configure(), to the evolution. More...
 
virtual void rewind_evolution (unsigned nsteps)
 Discards the last steps from the evolution. More...
 
virtual void reset_evolution ()
 Discards all evolution. More...
 
const std::list< double > & get_evolution_real (ZoneEvolutionQuantities quantity) const
 The tabulated evolution of a real valued quantity so far. More...
 
const std::list< int > & get_evolution_integer (ZoneEvolutionQuantities quantity) const
 The tabulated evolution of an integer quantity so far. More...
 
unsigned locked_zone_index () const
 The index of this zone in the list of locked zones (valid only if locked). More...
 
unsigned & locked_zone_index ()
 Reference to the locked_zone_index() of this zone. More...
 
virtual CombinedStoppingConditionstopping_conditions (BinarySystem &system, bool primary, unsigned zone_index)
 Conditions detecting the next possible discontinuities in the evolution due to this zone. More...
 
virtual void spin_jumped ()
 Notifies the zone that its spin just jumped discontinously. More...
 
virtual void reached_critical_age (double)
 Change the body as necessary at the given age. More...
 
virtual double next_stop_age () const
 The next age when the evolution needs to be stopped for a change in one of the bodies. More...
 
const SpinOrbitLockInfolock_monitored (bool other=false) const
 Useful for debugging. More...
 
- Public Member Functions inherited from Evolve::ZoneOrientation
 ZoneOrientation (double inclination=Core::NaN, double periapsis=Core::NaN)
 
void configure (double inclination, double periapsis)
 Changes the zone orientation. More...
 
void set_evolution_rates (double inclination, double periapsis)
 
double inclination (bool evolution_rate=false) const
 The angle between the angular momenta of the zone and the orbit. More...
 
double periapsis (bool evolution_rate=false) const
 The argument of periapsis of this zone minus the reference zone's. More...
 

Private Attributes

double __phase_lag
 The constant value of the phase lag. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Evolve::DissipatingZone
void initializing (bool flag)
 Notify the zone that it is in the process of initializing or not. More...
 
void configure_spin (double spin, bool spin_is_frequency)
 Configures only the spin of the zone. More...
 

Detailed Description

A zone with constant phase lag for all tidal terms.

Definition at line 20 of file ConstPhaseLagZone.h.

Constructor & Destructor Documentation

◆ ConstPhaseLagZone()

Evolve::ConstPhaseLagZone::ConstPhaseLagZone ( double  phase_lag,
const std::valarray< double > &  mass_coefficients,
const std::valarray< double > &  radius_coefficients,
const std::valarray< double > &  inertia_coefficients 
)
inline
Parameters
phase_lagThe phase lag of all dissipative terms.
mass_coefficientsThe coefficients of the polynomial for the mass evolution.
radius_coefficientsThe coefficients of the polynomial for the radius evolution.
inertia_coefficientsThe coefficients of the polynomial for the moment of inertia evolution.

Definition at line 25 of file ConstPhaseLagZone.h.

Member Function Documentation

◆ can_lock()

bool Evolve::ConstPhaseLagZone::can_lock ( ) const
inlinevirtual

See DissipatingZone::can_lock()

Implements Evolve::DissipatingZone.

Definition at line 77 of file ConstPhaseLagZone.h.

◆ dissipative()

bool Evolve::ConstPhaseLagZone::dissipative ( ) const
inlinevirtual

◆ modified_phase_lag()

double Evolve::ConstPhaseLagZone::modified_phase_lag ( int  ,
int  spin_frequency_multiplier,
double  forcing_frequency,
Dissipation::QuantityEntry  entry,
double &  above_lock_value 
) const
inlinevirtual

Member Data Documentation

◆ __phase_lag

double Evolve::ConstPhaseLagZone::__phase_lag
private

The constant value of the phase lag.

Definition at line 23 of file ConstPhaseLagZone.h.


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