9 #ifndef __BREAK_LOCK_CONDITION_H 10 #define __BREAK_LOCK_CONDITION_H 12 #include "../Core/SharedLibraryExportMacros.h" 37 unsigned locked_zone_index
40 __locked_zone_index(locked_zone_index)
57 std::valarray<double> operator()(
59 const std::valarray<double> &orbit,
60 const std::valarray<double> &derivatives,
61 std::valarray<double> &stop_deriv
71 void reached(
short deriv_sign,
unsigned index=0);
81 return (index == 0 ? -1 : 1);
85 virtual std::string describe(
int index = 0)
const;
virtual size_t num_subconditions() const
The number of subconditions in the current condition.
The spin-orbit lock can no longer be maintaned.
StoppingConditionType type(unsigned=0) const
Identify this as a BREAK_LOCK condition.
Satisfied when the maximum tidal torque that the planet can exert on the star is no longer sufficient...
StoppingConditionType
The reasons for stopping the evolution currently supported.
Orientations of zones of bodies in a binary system.
unsigned __locked_zone_index
The index within the list of locked zones of the checked zone.
BinarySystem & __system
The binary system this condition is attached to.
A base class for all stopping conditions.
virtual short expected_crossing_deriv_sign(unsigned index=0) const
See StoppingCondition::expected_crossing_deriv_sign().
EvolModeType
The various evolution modes.
Defines the various stopping conditions needed by OrbitSolver.
Describes a system of two bodies orbiting each other.
BreakLockCondition(BinarySystem &system, unsigned locked_zone_index)
Create a condition monitoring for a lock breaking.