Satisfied when the planet enters below either the roche sphere or the stellar photosphere. More...
#include <SecondaryDeathCondition.h>
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... | |
Satisfied when the planet enters below either the roche sphere or the stellar photosphere.
Definition at line 23 of file SecondaryDeathCondition.h.
|
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.
|
virtual |
See StoppingCondition::describe().
Implements Evolve::StoppingCondition.
Definition at line 69 of file SecondaryDeathCondition.cpp.
|
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.
|
virtual |
See StoppingCondition::reached().
Reimplemented from Evolve::StoppingCondition.
Definition at line 59 of file SecondaryDeathCondition.cpp.
|
inlinevirtual |
Identify this as a PLANET_DEATH condition.
Implements Evolve::StoppingCondition.
Definition at line 50 of file SecondaryDeathCondition.h.
|
private |
The system this condition is attached to.
Definition at line 26 of file SecondaryDeathCondition.h.