Satisfied when some multiples of the orbit and stellar rotation are synchronized. More...
#include <SynchronizedCondition.h>
Inheritance diagram for Evolve::SynchronizedCondition:
Collaboration diagram for Evolve::SynchronizedCondition: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.