Satisfied when some multiples of the orbit and stellar rotation are synchronized. More...
#include <SynchronizedCondition.h>
Public Member Functions | |
SynchronizedCondition (int orbital_freq_mult, int spin_freq_mult, short deriv_sign, bool primary, unsigned zone_index, BinarySystem &system) | |
Create the synchronization condition for the given planet. 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 |
Return the difference between the orbital and multiplier scaled stellar spin angular velocities divided by the orbital angular velocity. More... | |
StoppingConditionType | type (unsigned=0) const |
Identify this as a SYNCHRONIZED condition. 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... | |
void | reached (short deriv_sign, unsigned index=0) |
Which body's spin is checked for locking. 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 | |
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... | |
bool | __primary |
Which body's spin is checked for locking. More... | |
unsigned | __zone_index |
Which zone is checked for locking. More... | |
const DissipatingZone & | __zone |
The zone whose spin is monitored. More... | |
BinarySystem & | __system |
The binary system this locking condition is attached to. More... | |
Satisfied when some multiples of the orbit and stellar rotation are synchronized.
Definition at line 22 of file SynchronizedCondition.h.
Evolve::SynchronizedCondition::SynchronizedCondition | ( | int | orbital_freq_mult, |
int | spin_freq_mult, | ||
short | deriv_sign, | ||
bool | primary, | ||
unsigned | zone_index, | ||
BinarySystem & | system | ||
) |
Create the synchronization condition for the given planet.
orbital_freq_mult | The mutiplier in front of the orbital frequency in the lock. |
spin_freq_mult | The multiplier in front of the spin frequency in the lock. |
deriv_sign | The sign the first derivative should have if a crossing occurs. |
primary | Which body's spin is checked for locking. |
zone_index | Which zone's spin is checked for locking. |
system | The binary system this locking condition is attached to |
Definition at line 8 of file SynchronizedCondition.cpp.
|
virtual |
See StoppingCondition::describe().
Implements Evolve::StoppingCondition.
Definition at line 144 of file SynchronizedCondition.cpp.
|
virtual |
Return the difference between the orbital and multiplier scaled stellar spin angular velocities divided by the orbital angular velocity.
See StoppingCondition::operator()() for a description of the arguments.
The evolution mode must be FAST_PLANET, SLOW_PLANET, LOCKED_TO_DISK or NO_PLANET.
Implements Evolve::StoppingCondition.
Definition at line 25 of file SynchronizedCondition.cpp.
|
inline |
The multiplier in front of the orbital frequency in the lock.
Definition at line 85 of file SynchronizedCondition.h.
|
virtual |
Which body's spin is checked for locking.
See StoppingCondition::reached().
Reimplemented from Evolve::StoppingCondition.
Definition at line 124 of file SynchronizedCondition.cpp.
|
inline |
The multiplier in front of the spin frequency in the lock.
Definition at line 88 of file SynchronizedCondition.h.
|
inlinevirtual |
Identify this as a SYNCHRONIZED condition.
Implements Evolve::StoppingCondition.
Definition at line 82 of file SynchronizedCondition.h.
|
private |
The mutiplier in front of the orbital frequency in the lock.
Definition at line 25 of file SynchronizedCondition.h.
|
private |
Which body's spin is checked for locking.
Definition at line 31 of file SynchronizedCondition.h.
|
private |
The multiplier in front of the spin frequency in the lock.
Definition at line 25 of file SynchronizedCondition.h.
|
private |
The binary system this locking condition is attached to.
Definition at line 40 of file SynchronizedCondition.h.
|
private |
The zone whose spin is monitored.
Definition at line 37 of file SynchronizedCondition.h.
|
private |
Which zone is checked for locking.
Definition at line 34 of file SynchronizedCondition.h.