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

Defines a lock between the spin of a dissipating body and the orbit. More...

#include <SpinOrbitLockInfo.h>

+ Collaboration diagram for Evolve::SpinOrbitLockInfo:

Public Member Functions

 SpinOrbitLockInfo (int orbital_freq_mult=0, int spin_freq_mult=0, short lock_direction=-1)
 Define which tidal dissipation term is in a lock. More...
 
 SpinOrbitLockInfo (const SpinOrbitLockInfo &orig)
 Copy the original to this. More...
 
SpinOrbitLockInfooperator= (const SpinOrbitLockInfo &rhs)
 Make this the same lock as RHS. More...
 
void set_lock (int orbital_freq_mult, int spin_freq_mult, short lock_direction=0)
 Define which tidal dissipation term is in a lock. More...
 
double spin (double orbital_frequency) const
 Spin frequency at exactly the lock that corresponds to the given orbital frequency. More...
 
bool operator() (int orbital_freq_mult, int spin_freq_mult) const
 Is the given tidal dissipation term one of the locked terms? More...
 
bool term (int orbital_freq_mult, int spin_freq_mult) const
 
 operator bool () const
 Should this lock be assumed. More...
 
short lock_direction () const
 
void lock_direction (short value)
 Set the lock direction to the given value. 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...
 
bool operator== (const SpinOrbitLockInfo &rhs) const
 

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...
 
short __lock_direction
 Should a lock be assumed, and if so from which direction is it approached? More...
 

Detailed Description

Defines a lock between the spin of a dissipating body and the orbit.

With inclined and eccentric orbits, locks can occur at many different general almost any rational ratio can result in a lock if the dissipation has the appropriate frequency dependence.

Definition at line 25 of file SpinOrbitLockInfo.h.

Constructor & Destructor Documentation

◆ SpinOrbitLockInfo() [1/2]

Evolve::SpinOrbitLockInfo::SpinOrbitLockInfo ( int  orbital_freq_mult = 0,
int  spin_freq_mult = 0,
short  lock_direction = -1 
)
inline

Define which tidal dissipation term is in a lock.

Parameters
orbital_freq_multThe multiple of the orbital frequency at the lock.
spin_freq_multThe multiple of the spin frequency at the lock.
lock_directionThe direction from which the spin frequency is approaching the lock. See __lock_direction for the meaning of the values.

Definition at line 52 of file SpinOrbitLockInfo.h.

◆ SpinOrbitLockInfo() [2/2]

Evolve::SpinOrbitLockInfo::SpinOrbitLockInfo ( const SpinOrbitLockInfo orig)
inline

Copy the original to this.

Definition at line 65 of file SpinOrbitLockInfo.h.

Member Function Documentation

◆ lock_direction() [1/2]

short Evolve::SpinOrbitLockInfo::lock_direction ( ) const
inline

The opposite of the sign of the forcing frequency associated with this component.

Definition at line 120 of file SpinOrbitLockInfo.h.

◆ lock_direction() [2/2]

void Evolve::SpinOrbitLockInfo::lock_direction ( short  value)
inline

Set the lock direction to the given value.

Definition at line 123 of file SpinOrbitLockInfo.h.

◆ operator bool()

Evolve::SpinOrbitLockInfo::operator bool ( ) const
inline

Should this lock be assumed.

Definition at line 116 of file SpinOrbitLockInfo.h.

◆ operator()()

bool Evolve::SpinOrbitLockInfo::operator() ( int  orbital_freq_mult,
int  spin_freq_mult 
) const
inline

Is the given tidal dissipation term one of the locked terms?

Parameters
orbital_freq_multThe multiple of the orbital frequency to consider.
spin_freq_multThe multiple of the spin frequency to consider.

Definition at line 94 of file SpinOrbitLockInfo.h.

◆ operator=()

SpinOrbitLockInfo& Evolve::SpinOrbitLockInfo::operator= ( const SpinOrbitLockInfo rhs)
inline

Make this the same lock as RHS.

Definition at line 71 of file SpinOrbitLockInfo.h.

◆ operator==()

bool Evolve::SpinOrbitLockInfo::operator== ( const SpinOrbitLockInfo rhs) const

Are the two locks for the same frequency ratio and in the same enabled/disabled state.

Definition at line 23 of file SpinOrbitLockInfo.cpp.

◆ orbital_frequency_multiplier()

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

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

Definition at line 126 of file SpinOrbitLockInfo.h.

◆ set_lock()

void Evolve::SpinOrbitLockInfo::set_lock ( int  orbital_freq_mult,
int  spin_freq_mult,
short  lock_direction = 0 
)

Define which tidal dissipation term is in a lock.

Parameters
orbital_freq_multThe multiple of the orbital frequency at the lock.
spin_freq_multThe multiple of the spin frequency at the lock.
lock_directionThe sign of the forcing frequency for this term. See __lock_direction for the meaning of the values.

Definition at line 15 of file SpinOrbitLockInfo.cpp.

◆ spin()

double Evolve::SpinOrbitLockInfo::spin ( double  orbital_frequency) const
inline

Spin frequency at exactly the lock that corresponds to the given orbital frequency.

Definition at line 90 of file SpinOrbitLockInfo.h.

◆ spin_frequency_multiplier()

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

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

Definition at line 129 of file SpinOrbitLockInfo.h.

◆ term()

bool Evolve::SpinOrbitLockInfo::term ( int  orbital_freq_mult,
int  spin_freq_mult 
) const
inline

Returns true if the lock is referring to the given term, regardless of whether it is locked or not.

Parameters
orbital_freq_multThe multiple of the orbital frequency to consider.
spin_freq_multThe multiple of the spin frequency to consider.

Definition at line 105 of file SpinOrbitLockInfo.h.

Member Data Documentation

◆ __lock_direction

short Evolve::SpinOrbitLockInfo::__lock_direction
private

Should a lock be assumed, and if so from which direction is it approached?

The values have the following meanings:

  • <0 : the actual spin frequency of the body is slightly smaller than necessary for a lock (or the orbital freqency is slightly larger).
  • 0 : The spin frequency and the orbital frequency have precisely the values to result in zero forcing frequency for this term.
  • >0 : the actual spin frequency of the body is slightly larger than necessary for a lock (or the orbital freqency is slightly smaller).

Definition at line 48 of file SpinOrbitLockInfo.h.

◆ __orbital_freq_mult

int Evolve::SpinOrbitLockInfo::__orbital_freq_mult
private

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

Definition at line 28 of file SpinOrbitLockInfo.h.

◆ __spin_freq_mult

int Evolve::SpinOrbitLockInfo::__spin_freq_mult
private

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

Definition at line 28 of file SpinOrbitLockInfo.h.


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