satisfied when a forcing frequency reaches a critical value. More...
#include <LagForcingFrequencyBreakCondition.h>
Public Member Functions | |
LagForcingFrequencyBreakCondition (BrokenPowerlawPhaseLagZone &zone, const DissipatingBody &body, const DissipatingBody &other_body, int orbital_frequency_multiplier, int spin_frequency_multiplier) | |
Monitor a single forcing term of a single zone for a number of critical forcing frequencies. 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 differences between the current forcing frequency of the zone monitored and the two closest critical frequencies divided by the corresponding critical frequency. More... | |
virtual void | reached (short deriv_sign, unsigned index=0) |
Adjust the above and below critical frequencies being monitored. More... | |
virtual size_t | num_subconditions () const |
The number of subconditions (1 if all critical spins are below or above the current spin, 2 otherwise). More... | |
virtual StoppingConditionType | type (unsigned=0) const |
Define stopping condition type as EXTERNAL. More... | |
virtual short | expected_crossing_deriv_sign (unsigned index=0) const |
See StoppingCondition::expected_crossing_deriv_sign(). 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... | |
Private Member Functions | |
void | set_num_subconditions () |
Set the appropriate value of __num_subcondition. More... | |
Private Attributes | |
int | __orbital_frequency_multiplier |
int | __spin_frequency_multiplier |
BrokenPowerlawPhaseLagZone & | __zone |
The zone being monitored (for more convenient access). More... | |
const DissipatingBody & | __body |
The body this condition is monitoring. More... | |
const DissipatingBody & | __other_body |
The other body in the system. More... | |
std::vector< std::vector< double >::size_type >::size_type | __term_index |
The index of the monitored tidal term within __zone.__tidal_indices. More... | |
std::vector< double >::size_type | __powerlaw_index |
The index of the currently active powerlaw within __zone.__tidal_frequency_powers. More... | |
unsigned | __num_subconditions |
See num_subcondition(). More... | |
satisfied when a forcing frequency reaches a critical value.
Definition at line 23 of file LagForcingFrequencyBreakCondition.h.
Evolve::LagForcingFrequencyBreakCondition::LagForcingFrequencyBreakCondition | ( | BrokenPowerlawPhaseLagZone & | zone, |
const DissipatingBody & | body, | ||
const DissipatingBody & | other_body, | ||
int | orbital_frequency_multiplier, | ||
int | spin_frequency_multiplier | ||
) |
Monitor a single forcing term of a single zone for a number of critical forcing frequencies.
zone | The zone being monitored. |
body | The body whose spin to monitor. |
other_body | The other body in the system. |
orbital_frequency_multiplier | The orbital frequency multiplier of the forcing term being monitored. |
spin_frequency_multiplier | The spin frequency multiplier of the forcing term being monitored. |
Definition at line 27 of file LagForcingFrequencyBreakCondition.cpp.
|
virtual |
See StoppingCondition::describe().
Implements Evolve::StoppingCondition.
Definition at line 156 of file LagForcingFrequencyBreakCondition.cpp.
|
virtual |
See StoppingCondition::expected_crossing_deriv_sign().
index | Which sub-condition. |
Reimplemented from Evolve::StoppingCondition.
Definition at line 142 of file LagForcingFrequencyBreakCondition.cpp.
|
inlinevirtual |
The number of subconditions (1 if all critical spins are below or above the current spin, 2 otherwise).
Reimplemented from Evolve::StoppingCondition.
Definition at line 105 of file LagForcingFrequencyBreakCondition.h.
|
virtual |
Return the differences between the current forcing frequency of the zone monitored and the two closest critical frequencies divided by the corresponding critical frequency.
See StoppingCondition::operator()() for a description of the arguments.
All evolution modes allowed.
Implements Evolve::StoppingCondition.
Definition at line 48 of file LagForcingFrequencyBreakCondition.cpp.
|
virtual |
Adjust the above and below critical frequencies being monitored.
See StoppingCondition::reached() for a description of the arguments.
Reimplemented from Evolve::StoppingCondition.
Definition at line 111 of file LagForcingFrequencyBreakCondition.cpp.
|
private |
Set the appropriate value of __num_subcondition.
Definition at line 15 of file LagForcingFrequencyBreakCondition.cpp.
|
inlinevirtual |
Define stopping condition type as EXTERNAL.
Implements Evolve::StoppingCondition.
Definition at line 109 of file LagForcingFrequencyBreakCondition.h.
|
private |
The body this condition is monitoring.
Definition at line 40 of file LagForcingFrequencyBreakCondition.h.
|
private |
See num_subcondition().
Definition at line 55 of file LagForcingFrequencyBreakCondition.h.
|
private |
The orbital frequency multiplier of the forcing term being monitored.
Definition at line 29 of file LagForcingFrequencyBreakCondition.h.
|
private |
The other body in the system.
Definition at line 40 of file LagForcingFrequencyBreakCondition.h.
|
private |
The index of the currently active powerlaw within __zone.__tidal_frequency_powers.
Definition at line 52 of file LagForcingFrequencyBreakCondition.h.
|
private |
The spin frequency multiplier of the forcing term being monitored.
Definition at line 29 of file LagForcingFrequencyBreakCondition.h.
|
private |
The index of the monitored tidal term within __zone.__tidal_indices.
Definition at line 48 of file LagForcingFrequencyBreakCondition.h.
|
private |
The zone being monitored (for more convenient access).
Definition at line 36 of file LagForcingFrequencyBreakCondition.h.