Public Member Functions | |
InterpolatedEvolutionStar (double mass, double feh, double wind_strength, double wind_saturation_frequency, double diff_rot_coupling_timescale, const StellarEvolution::Interpolator &interpolator) | |
unsigned | number_zones () const |
The number of zones the body consists of. More... | |
Evolve::DissipatingZone & | zone (unsigned zone_index) |
See Evolve::DissipatingBody::zone(). More... | |
const EvolvingStellarEnvelope & | envelope () const |
The envelope of the star - inmodifiable. More... | |
EvolvingStellarEnvelope & | envelope () |
The envelope of the star - modifiable. More... | |
const EvolvingStellarCore & | core () const |
The core of the star. More... | |
EvolvingStellarCore & | core () |
The core of the star. More... | |
const Evolve::DissipatingZone & | zone (unsigned zone_index) const |
See Evolve::DissipatingBody::zone(). More... | |
double | lifetime () const |
The lifetime of the star (where tracks end). More... | |
double | luminosity (double age) const |
The luminosity of the star at the given age. More... | |
~InterpolatedEvolutionStar () | |
Cleanup after the star. More... | |
virtual void | reached_critical_age (double age) |
Change the star as necessary at the given age. More... | |
virtual double | next_stop_age () const |
The next age when the evolution needs to be stopped for a change in one of the bodies. More... | |
virtual void | select_interpolation_region (double age) const |
Prepare the stellar quantities for interpolation around the given age. More... | |
Public Member Functions inherited from Star::SaturatingSkumanichWindBody | |
SaturatingSkumanichWindBody (double wind_strength, double saturation_frequency) | |
double | angular_momentum_loss (Evolve::Dissipation::QuantityEntry entry=Evolve::Dissipation::NO_DERIV) const |
See DissipatingBody::angular_momentum_loss(). More... | |
double | saturation_frequency () |
The frequency at which the wind loss saturates in rad/day. More... | |
void | detect_saturation () |
Sets the saturation based on the currently configured spin frequency. More... | |
bool | saturated () |
Is the wind loss currently saturated? More... | |
void | saturation_freq_crossed (short deriv_sign) |
Called by the stopping condition monitoring wind saturation. More... | |
virtual void | add_to_evolution () |
Appends the state defined by last configure(), to the evolution. More... | |
virtual void | rewind_evolution (unsigned nsteps) |
Discards the last steps from the evolution. More... | |
virtual void | reset_evolution () |
Discards all evolution. More... | |
virtual Evolve::CombinedStoppingCondition * | stopping_conditions (Evolve::BinarySystem &system, bool primary) |
Conditions detecting the next possible discontinuities in the evolution due to this body. More... | |
const std::list< bool > & | wind_saturation_evolution () const |
The tabulated wind saturation states so far. More... | |
void | spin_jumped () |
Resets its saturation state after a discontinous spin jump. More... | |
Public Member Functions inherited from Evolve::DissipatingBody | |
DissipatingBody () | |
Some initializations for new objects. More... | |
void | lock_zone_spin (unsigned zone_index, int orbital_frequency_multiplier, int spin_frequency_multiplier) |
void | unlock_zone_spin (unsigned zone_index, short direction) |
Releases the given zone from a spin-orbit lock. More... | |
unsigned | number_locked_zones () const |
The number of zones currently in a spin-orbit lock. More... | |
Eigen::Vector3d | nontidal_torque (unsigned zone_index, Dissipation::QuantityEntry deriv=Dissipation::NO_DERIV, int deriv_zone=0) const |
External torque acting on a single zone (last calculate_torques_power()). More... | |
const Eigen::Vector3d & | tidal_torque (unsigned zone_index, bool above, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV) const |
Tidal torque acting on the given zone (last calculate_torques_power()). More... | |
double | tidal_power (unsigned zone_index, bool above, Dissipation::QuantityEntry entry=Dissipation::NO_DERIV) const |
Tidal power dissipated in the given zone. More... | |
void | set_above_lock_fractions (std::valarray< Eigen::VectorXd > &above_lock_fractions) |
Corrects the tidal orbit energy gain and angular momentum gain for locked zones. More... | |
double | tidal_orbit_power (Dissipation::QuantityEntry entry=Dissipation::NO_DERIV, unsigned deriv_zone_index=0, const Eigen::VectorXd &above_lock_fraction_deriv=Eigen::VectorXd()) const |
Rate of increase of the orbital energy due to tides in this body (last calculate_torques_power()). More... | |
Eigen::Vector3d | tidal_orbit_torque (Dissipation::QuantityEntry deriv=Dissipation::NO_DERIV, unsigned deriv_zone_index=0, const Eigen::VectorXd &above_lock_fraction_deriv=Eigen::VectorXd()) const |
The torque on the orbit due to tidal dissipation in the body. More... | |
Eigen::Vector3d | tidal_orbit_torque (const DissipatingZone &reference_zone, Dissipation::QuantityEntry deriv=Dissipation::NO_DERIV, unsigned deriv_zone_index=0, const Eigen::VectorXd &above_lock_fraction_deriv=Eigen::VectorXd()) const |
Same as tidal_orbit_torque(Dissipation::QuantityEntry, unsigned, const Eigen::VectorXd &) but allow specifying the zone whose coordinate system to use. More... | |
virtual Eigen::Vector3d | angular_momentum_coupling (unsigned top_zone_index, Dissipation::QuantityEntry deriv=Dissipation::NO_DERIV, bool with_respect_to_top=false) const =0 |
Coupling torque for two neighboring zones in the coordinate system of the top zone. More... | |
virtual double | angular_momentum_loss (Dissipation::QuantityEntry deriv=Dissipation::NO_DERIV) const =0 |
Rate of angular momentum loss by the top zone of the body and its derivatives. More... | |
double | radius (int deriv_order=0) const |
The current radius or its derivative with age of the body. More... | |
double | mass () const |
The mass of the body (constant with age). More... | |
double | spin_frequency () const |
The surface spin freuqency of the body. More... | |
double | surface_lock_frequency () const |
Angular velocity of the surface zone when locked (assumed constant). More... | |
void | set_surface_lock_frequency (double frequency) |
Sets the frequency at which the surface is locked (if any). More... | |
virtual void | change_e_order (unsigned new_e_order, BinarySystem &system, bool primary) |
Change the eccentricity expansion order for all dissipative zones. More... | |
virtual | ~DissipatingBody () |
Virtual destructor. More... | |
Public Member Functions inherited from Star::ExponentialDecayDiffRotBody | |
ExponentialDecayDiffRotBody (double coupling_timescale) | |
Construct a body with default differential rotatino torque. More... | |
virtual void | configure (bool initialize, double age, double companion_mass, double semimajor, double eccentricity, const double *spin_angmom, const double *inclination=NULL, const double *periapsis=NULL, bool locked_surface=false, bool zero_outer_inclination=false, bool zero_outer_periapsis=false) |
See DissipatingBody::configure(). More... | |
Eigen::Vector3d | angular_momentum_coupling (unsigned top_zone_index, Evolve::Dissipation::QuantityEntry entry=Evolve::Dissipation::NO_DERIV, bool with_respect_to_top=false) const |
See DissipatingBody::angular_momentum_coupling(). More... | |
Private Attributes | |
const StellarEvolution::EvolvingStellarQuantity * | __luminosity |
The luminosity of the star in \(L_\odot\) as a function of age in Gyr. More... | |
double | __lifetime |
The age at which the star leaves the main sequence in Gyrs. More... | |
EvolvingStellarEnvelope | __envelope |
The surface zone of the star (the entire star if high mass). More... | |
EvolvingStellarCore | __core |
The core of the star (NULL if high mass). More... | |
Definition at line 21 of file EvolvingStar.h.
|
inline |
mass | Mass of the star |
feh | The [Fe/H] of the star |
wind_strength | The strength of the wind. |
wind_saturation_frequency | The frequency at which the wind loss saturates in rad/day. |
diff_rot_coupling_timescale | The timescale for differential rotation coupling. |
interpolator | A StellarEvolution interpolator. |
Definition at line 43 of file EvolvingStar.h.
|
inline |
Cleanup after the star.
Definition at line 121 of file EvolvingStar.h.
|
inline |
The core of the star.
Definition at line 100 of file EvolvingStar.h.
|
inline |
The core of the star.
Definition at line 103 of file EvolvingStar.h.
|
inline |
The envelope of the star - inmodifiable.
Definition at line 94 of file EvolvingStar.h.
|
inline |
The envelope of the star - modifiable.
Definition at line 97 of file EvolvingStar.h.
|
inline |
The lifetime of the star (where tracks end).
Definition at line 115 of file EvolvingStar.h.
|
inline |
The luminosity of the star at the given age.
Definition at line 118 of file EvolvingStar.h.
|
inlinevirtual |
The next age when the evolution needs to be stopped for a change in one of the bodies.
Reimplemented from Evolve::DissipatingBody.
Definition at line 134 of file EvolvingStar.h.
|
inlinevirtual |
The number of zones the body consists of.
Implements Evolve::DissipatingBody.
Definition at line 82 of file EvolvingStar.h.
|
inlinevirtual |
Change the star as necessary at the given age.
Handles things like interpolation discontinuities.
Reimplemented from Evolve::DissipatingBody.
Definition at line 126 of file EvolvingStar.h.
|
inlinevirtual |
Prepare the stellar quantities for interpolation around the given age.
After calling this method, requesting values or derivatives outside the range of the continuous region containing this age (see ::discontinuities) fails an assert.
Definition at line 144 of file EvolvingStar.h.
|
inlinevirtual |
See Evolve::DissipatingBody::zone().
Implements Evolve::DissipatingBody.
Definition at line 85 of file EvolvingStar.h.
|
inlinevirtual |
See Evolve::DissipatingBody::zone().
Implements Evolve::DissipatingBody.
Definition at line 106 of file EvolvingStar.h.
|
private |
The core of the star (NULL if high mass).
Definition at line 40 of file EvolvingStar.h.
|
private |
The surface zone of the star (the entire star if high mass).
Definition at line 37 of file EvolvingStar.h.
|
private |
The age at which the star leaves the main sequence in Gyrs.
Definition at line 34 of file EvolvingStar.h.
|
private |
The luminosity of the star in \(L_\odot\) as a function of age in Gyr.
Since the luminosity does not enter in the equations solved it might not be defined. If that is the case, this member should be NULL.
Definition at line 31 of file EvolvingStar.h.