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

Satisfied when some multiples of the orbit and stellar rotation are synchronized. More...

#include <SynchronizedCondition.h>

+ Inheritance diagram for Evolve::SynchronizedCondition:
+ Collaboration diagram for Evolve::SynchronizedCondition:

Public Member Functions

 SynchronizedCondition (int orbital_freq_mult, int spin_freq_mult, short deriv_sign, bool primary, unsigned zone_index, BinarySystem &system)
 Create the synchronization condition for the given planet. More...
 
std::valarray< double > operator() (Core::EvolModeType evol_mode, const std::valarray< double > &orbit, const std::valarray< double > &derivatives, std::valarray< double > &stop_deriv) const
 Return the difference between the orbital and multiplier scaled stellar spin angular velocities divided by the orbital angular velocity. More...
 
StoppingConditionType type (unsigned=0) const
 Identify this as a SYNCHRONIZED condition. More...
 
int orbital_frequency_multiplier () const
 The multiplier in front of the orbital frequency in the lock. More...
 
int spin_frequency_multiplier () const
 The multiplier in front of the spin frequency in the lock. More...
 
void reached (short deriv_sign, unsigned index=0)
 Which body's spin is checked for locking. More...
 
virtual std::string describe (int index=-1) const
 See StoppingCondition::describe(). More...
 
- Public Member Functions inherited from Evolve::StoppingCondition
 StoppingCondition (short expected_crossing_deriv_sign=0)
 Create a generic stopping condition. More...
 
virtual size_t num_subconditions () const
 The number of subconditions in the current condition. More...
 
virtual short expected_crossing_deriv_sign (unsigned index=0) const
 The expected sign of the derivative at the next zero-crossing. More...
 

Private Attributes

int __orbital_freq_mult
 The mutiplier in front of the orbital frequency in the lock. More...
 
int __spin_freq_mult
 The multiplier in front of the spin frequency in the lock. More...
 
bool __primary
 Which body's spin is checked for locking. More...
 
unsigned __zone_index
 Which zone is checked for locking. More...
 
const DissipatingZone__zone
 The zone whose spin is monitored. More...
 
BinarySystem__system
 The binary system this locking condition is attached to. More...
 

Detailed Description

Satisfied when some multiples of the orbit and stellar rotation are synchronized.

Definition at line 22 of file SynchronizedCondition.h.

Constructor & Destructor Documentation

◆ SynchronizedCondition()

Evolve::SynchronizedCondition::SynchronizedCondition ( int  orbital_freq_mult,
int  spin_freq_mult,
short  deriv_sign,
bool  primary,
unsigned  zone_index,
BinarySystem system 
)

Create the synchronization condition for the given planet.

Parameters
orbital_freq_multThe mutiplier in front of the orbital frequency in the lock.
spin_freq_multThe multiplier in front of the spin frequency in the lock.
deriv_signThe sign the first derivative should have if a crossing occurs.
primaryWhich body's spin is checked for locking.
zone_indexWhich zone's spin is checked for locking.
systemThe binary system this locking condition is attached to

Definition at line 8 of file SynchronizedCondition.cpp.

Member Function Documentation

◆ describe()

std::string Evolve::SynchronizedCondition::describe ( int  index = -1) const
virtual

◆ operator()()

std::valarray< double > Evolve::SynchronizedCondition::operator() ( Core::EvolModeType  evol_mode,
const std::valarray< double > &  orbit,
const std::valarray< double > &  derivatives,
std::valarray< double > &  stop_deriv 
) const
virtual

Return the difference between the orbital and multiplier scaled stellar spin angular velocities divided by the orbital angular velocity.

See StoppingCondition::operator()() for a description of the arguments.

The evolution mode must be FAST_PLANET, SLOW_PLANET, LOCKED_TO_DISK or NO_PLANET.

Implements Evolve::StoppingCondition.

Definition at line 25 of file SynchronizedCondition.cpp.

◆ orbital_frequency_multiplier()

int Evolve::SynchronizedCondition::orbital_frequency_multiplier ( ) const
inline

The multiplier in front of the orbital frequency in the lock.

Definition at line 85 of file SynchronizedCondition.h.

◆ reached()

void Evolve::SynchronizedCondition::reached ( short  deriv_sign,
unsigned  index = 0 
)
virtual

Which body's spin is checked for locking.

See StoppingCondition::reached().

Reimplemented from Evolve::StoppingCondition.

Definition at line 124 of file SynchronizedCondition.cpp.

◆ spin_frequency_multiplier()

int Evolve::SynchronizedCondition::spin_frequency_multiplier ( ) const
inline

The multiplier in front of the spin frequency in the lock.

Definition at line 88 of file SynchronizedCondition.h.

◆ type()

StoppingConditionType Evolve::SynchronizedCondition::type ( unsigned  = 0) const
inlinevirtual

Identify this as a SYNCHRONIZED condition.

Implements Evolve::StoppingCondition.

Definition at line 82 of file SynchronizedCondition.h.

Member Data Documentation

◆ __orbital_freq_mult

int Evolve::SynchronizedCondition::__orbital_freq_mult
private

The mutiplier in front of the orbital frequency in the lock.

Definition at line 25 of file SynchronizedCondition.h.

◆ __primary

bool Evolve::SynchronizedCondition::__primary
private

Which body's spin is checked for locking.

Definition at line 31 of file SynchronizedCondition.h.

◆ __spin_freq_mult

int Evolve::SynchronizedCondition::__spin_freq_mult
private

The multiplier in front of the spin frequency in the lock.

Definition at line 25 of file SynchronizedCondition.h.

◆ __system

BinarySystem& Evolve::SynchronizedCondition::__system
private

The binary system this locking condition is attached to.

Definition at line 40 of file SynchronizedCondition.h.

◆ __zone

const DissipatingZone& Evolve::SynchronizedCondition::__zone
private

The zone whose spin is monitored.

Definition at line 37 of file SynchronizedCondition.h.

◆ __zone_index

unsigned Evolve::SynchronizedCondition::__zone_index
private

Which zone is checked for locking.

Definition at line 34 of file SynchronizedCondition.h.


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