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

Satisfied when the maximum tidal torque that the planet can exert on the star is no longer sufficient to keep the lock. More...

#include <BreakLockCondition.h>

+ Inheritance diagram for Evolve::BreakLockCondition:
+ Collaboration diagram for Evolve::BreakLockCondition:

Public Member Functions

 BreakLockCondition (BinarySystem &system, unsigned locked_zone_index)
 Create a condition monitoring for a lock breaking. 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
 How far away from breaking the lock the system is. More...
 
virtual size_t num_subconditions () const
 The number of subconditions in the current condition. More...
 
StoppingConditionType type (unsigned=0) const
 Identify this as a BREAK_LOCK condition. More...
 
void reached (short deriv_sign, unsigned index=0)
 See StoppingCondition::reached(). More...
 
virtual short expected_crossing_deriv_sign (unsigned index=0) const
 See StoppingCondition::expected_crossing_deriv_sign(). More...
 
virtual std::string describe (int index=0) 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...
 

Private Attributes

BinarySystem__system
 The binary system this condition is attached to. More...
 
unsigned __locked_zone_index
 The index within the list of locked zones of the checked zone. More...
 

Detailed Description

Satisfied when the maximum tidal torque that the planet can exert on the star is no longer sufficient to keep the lock.

Definition at line 23 of file BreakLockCondition.h.

Constructor & Destructor Documentation

◆ BreakLockCondition()

Evolve::BreakLockCondition::BreakLockCondition ( BinarySystem system,
unsigned  locked_zone_index 
)
inline

Create a condition monitoring for a lock breaking.

Parameters
systemThe binary system this locking condition is attached to
locked_zone_indexIndex within the list of locked zones of the checked zone.

Definition at line 32 of file BreakLockCondition.h.

Member Function Documentation

◆ describe()

std::string Evolve::BreakLockCondition::describe ( int  index = 0) const
virtual

◆ expected_crossing_deriv_sign()

virtual short Evolve::BreakLockCondition::expected_crossing_deriv_sign ( unsigned  index = 0) const
inlinevirtual

See StoppingCondition::expected_crossing_deriv_sign().

Parameters
indexWhich sub-condition.

Reimplemented from Evolve::StoppingCondition.

Definition at line 74 of file BreakLockCondition.h.

◆ num_subconditions()

virtual size_t Evolve::BreakLockCondition::num_subconditions ( ) const
inlinevirtual

The number of subconditions in the current condition.

Reimplemented from Evolve::StoppingCondition.

Definition at line 65 of file BreakLockCondition.h.

◆ operator()()

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

How far away from breaking the lock the system is.

Two values are calculated: the fraction of the above the lock terms which must be included in order to maintain the lock and that minus 1.

This way, if the lock is broken with a positive/negative value, the future evolution is expected to proceed with positive/negative forcing frequency.

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

The evolution mode must be LOCKED_TO_PLANET.

Implements Evolve::StoppingCondition.

Definition at line 7 of file BreakLockCondition.cpp.

◆ reached()

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

See StoppingCondition::reached().

Reimplemented from Evolve::StoppingCondition.

Definition at line 96 of file BreakLockCondition.cpp.

◆ type()

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

Identify this as a BREAK_LOCK condition.

Implements Evolve::StoppingCondition.

Definition at line 68 of file BreakLockCondition.h.

Member Data Documentation

◆ __locked_zone_index

unsigned Evolve::BreakLockCondition::__locked_zone_index
private

The index within the list of locked zones of the checked zone.

Definition at line 29 of file BreakLockCondition.h.

◆ __system

BinarySystem& Evolve::BreakLockCondition::__system
private

The binary system this condition is attached to.

Definition at line 26 of file BreakLockCondition.h.


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