10 #include "../StellarEvolution/CInterface.h" 11 #include "../Core/SharedLibraryExportMacros.h" 13 #include "../Evolve/DissipationQuantities.h" 18 LIB_PUBLIC
extern const int NO_DERIV;
44 double wind_saturation_frequency,
47 double diff_rot_coupling_timescale,
69 unsigned num_tidal_frequency_breaks,
72 unsigned num_spin_frequency_breaks,
75 double *tidal_frequency_breaks,
78 double *spin_frequency_breaks,
81 double *tidal_frequency_powers,
84 double *spin_frequency_powers,
87 double reference_phase_lag,
90 double inertial_mode_enhancement,
93 double inertial_mode_sharpness
126 int orbital_frequency_multiplier,
130 int spin_frequency_multiplier,
133 double forcing_frequency,
142 double *above_lock_value
LIB_PUBLIC double envelope_inertia_deriv(EvolvingStar *star, double age, int deriv_order)
One of the derivatives of the moment of inertia of the stellar envelope at a given age...
LIB_PUBLIC const int NO_DERIV
Identifier for not differentiating the phase lag.
LIB_PUBLIC double lag_from_lgQ(double lgQ)
Converts lg(Q) to a tidal phase lag.
Declares the class for stars that user pre-tabulated stellar evolution tracks.
LIB_PUBLIC const int ORBITAL_FREQUENCY_DERIV
Identifier for differentiating the phase lag w.r.t. orbital freuqency.
LIB_PUBLIC double core_formation_age(const EvolvingStar *star)
The age at which the core of a star forms.
LIB_PUBLIC void set_star_dissipation(EvolvingStar *star, unsigned zone_index, unsigned num_tidal_frequency_breaks, unsigned num_spin_frequency_breaks, double *tidal_frequency_breaks, double *spin_frequency_breaks, double *tidal_frequency_powers, double *spin_frequency_powers, double reference_phase_lag, double inertial_mode_enhancement, double inertial_mode_sharpness)
Set the dissipative properties of one of the zones of a star.
struct LIB_PUBLIC MESAInterpolator
Opaque struct to cast to/from StellarEvolution::Interpolator pointers.
LIB_PUBLIC void envelope_inertia_deriv_array(EvolvingStar *star, const double *age, int deriv_order, unsigned nvalues, double *result)
One of the derivatives of the moment of inertia of the stellar envelope at a given array of ages...
LIB_PUBLIC double core_inertia_deriv(EvolvingStar *star, double age, int deriv_order)
One of the derivatives of the moment of inertia of the stellar core at a given age.
LIB_PUBLIC void core_inertia_deriv_array(EvolvingStar *star, const double *age, int deriv_order, unsigned nvalues, double *result)
One of the derivatives of the moment of inertia of the stellar core at a given array of ages...
LIB_PUBLIC const int AGE_DERIV
Identifier for differentiating the phase lag w.r.t. age.
LIB_PUBLIC void destroy_star(EvolvingStar *star)
Destroy a previously created star.
LIB_PUBLIC double modified_phase_lag(const EvolvingStar *star, unsigned zone_index, int orbital_frequency_multiplier, int spin_frequency_multiplier, double forcing_frequency, int deriv, double *above_lock_value)
See Evolve::BrokenPowerlawPhaseLagZone::modified_phase_lag for details.
LIB_PUBLIC double star_radius(EvolvingStar *star, double age)
The radius of the star at a given age.
LIB_PUBLIC void envelope_inertia_array(EvolvingStar *star, const double *age, unsigned nvalues, double *result)
The moment of inertia of the stellar envelope at a given array of ages.
LIB_PUBLIC double luminosity(EvolvingStar *star, double age)
The luminosity of a star at a given age.
LIB_PUBLIC void luminosity_array(EvolvingStar *star, const double *age, unsigned nvalues, double *result)
The luminosity of a star at a given array of ages.
LIB_PUBLIC void select_interpolation_region(const EvolvingStar *star, double age)
Prepare the zone quantities for interpolation around the given age.
LIB_PUBLIC double core_inertia(EvolvingStar *star, double age)
The moment of inertia of the stellar core at a given age.
LIB_PUBLIC void star_radius_array(EvolvingStar *star, const double *age, unsigned nvalues, double *result)
The radius of the star at an array of ages.
LIB_PUBLIC void core_inertia_array(EvolvingStar *star, const double *age, unsigned nvalues, double *result)
The moment of inertia of the stellar core at a given array of ages.
LIB_PUBLIC EvolvingStar * create_star(double mass, double feh, double wind_strength, double wind_saturation_frequency, double diff_rot_coupling_timescale, const MESAInterpolator *interpolator)
Create a star to participate in the orbital evolution calculation.
LIB_PUBLIC double envelope_inertia(EvolvingStar *star, double age)
The moment of inertia of the stellar envelope at a given age.
LIB_PUBLIC double lifetime(const EvolvingStar *star)
The lifetime of a star (the maximum age at which it can be queried)
LIB_PUBLIC const int SPIN_FREQUENCY_DERIV
Identifier for differentiating the phase lag w.r.t. spin freuqency.
LIB_PUBLIC void detect_stellar_wind_saturation(EvolvingStar *star)
struct LIB_PUBLIC EvolvingStar
Opaque struct to cast to/from Star::InterpolatedEvolutionStar.