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

Satisfied when the planet enters below either the roche sphere or the stellar photosphere. More...

#include <SecondaryDeathCondition.h>

+ Inheritance diagram for Evolve::SecondaryDeathCondition:
+ Collaboration diagram for Evolve::SecondaryDeathCondition:

Public Member Functions

 SecondaryDeathCondition (BinarySystem &system)
 Create a condition watching for the death of the secondary body in a system due to tidal disruption of engulfment. 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
 The difference between the semimajor axis and the larger of the roche radius and the stellar radius divided by the latter. More...
 
StoppingConditionType type (unsigned=0) const
 Identify this as a PLANET_DEATH condition. More...
 
void reached (short deriv_sign, unsigned index=0)
 See StoppingCondition::reached(). 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

BinarySystem__system
 The system this condition is attached to. More...
 

Detailed Description

Satisfied when the planet enters below either the roche sphere or the stellar photosphere.

Definition at line 23 of file SecondaryDeathCondition.h.

Constructor & Destructor Documentation

◆ SecondaryDeathCondition()

Evolve::SecondaryDeathCondition::SecondaryDeathCondition ( BinarySystem system)
inline

Create a condition watching for the death of the secondary body in a system due to tidal disruption of engulfment.

Definition at line 30 of file SecondaryDeathCondition.h.

Member Function Documentation

◆ describe()

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

◆ operator()()

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

The difference between the semimajor axis and the larger of the roche radius and the stellar radius divided by the latter.

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

The evolution mode must be FAST_PLANET, LOCKED_TO_PLANET or SLOW_PLANET.

Implements Evolve::StoppingCondition.

Definition at line 7 of file SecondaryDeathCondition.cpp.

◆ reached()

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

See StoppingCondition::reached().

Reimplemented from Evolve::StoppingCondition.

Definition at line 59 of file SecondaryDeathCondition.cpp.

◆ type()

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

Identify this as a PLANET_DEATH condition.

Implements Evolve::StoppingCondition.

Definition at line 50 of file SecondaryDeathCondition.h.

Member Data Documentation

◆ __system

BinarySystem& Evolve::SecondaryDeathCondition::__system
private

The system this condition is attached to.

Definition at line 26 of file SecondaryDeathCondition.h.


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