8 #ifndef __EVOLVING_STELLAR_CORE_H 9 #define __EVOLVING_STELLAR_CORE_H 11 #include "../Core/SharedLibraryExportMacros.h" 14 #include "../Core/Functions.h" 15 #include "../StellarEvolution/EvolvingStellarQuantity.h" 22 const double __NEGLIGIBLE_INERTIA = 0.0;
23 const double __NEGLIGIBLE_MASS = 0.0;
24 const double __NEGLIGIBLE_RADIUS = 0.0;
40 double positive_definite_quantity(
size_t quantity,
43 double min_value)
const;
46 double current_positive_definite_quantity(
size_t quantity,
48 double min_value)
const;
54 double formation_age=Core::Inf,
64 *moment_of_inertia = NULL
67 __formation_age(formation_age)
73 return current_positive_definite_quantity(INERTIA,
75 __NEGLIGIBLE_INERTIA);
81 return positive_definite_quantity(INERTIA,
84 __NEGLIGIBLE_INERTIA);
90 return current_positive_definite_quantity(
RADIUS,
98 return positive_definite_quantity(
RADIUS,
101 __NEGLIGIBLE_RADIUS);
107 return current_positive_definite_quantity(MASS,
115 return positive_definite_quantity(MASS,
RADIUS
The derivative w.r.t. the radius of the body in .
Base class for zones of low mass evolving stars.
QuantityIndex
Identifiers for the various age dependent values which are only computed once per fixed age...
Radiative core for low mass evolving stars.
A class for stellar properties that depend on age.
Declares a base class for all stellar zones.
double outer_radius(int deriv_order=0) const
See DissipatingZone::outer_radius(int).
The outer mass boundary of the zone.
double moment_of_inertia(int deriv_order=0) const
See DissipatingZone::moment_of_inertia(int).
double __formation_age
The age at which the core first forms.
double outer_mass(int deriv_order=0) const
See DissipatingZone::outer_mass(int).
EvolvingStellarCore(double formation_age=Core::Inf, const StellarEvolution::EvolvingStellarQuantity *mass=NULL, const StellarEvolution::EvolvingStellarQuantity *radius=NULL, const StellarEvolution::EvolvingStellarQuantity *moment_of_inertia=NULL)
Create a stellar core with the specified properties.
The outer radius boundary of the zone.
double outer_mass(double age, int deriv_order=0) const
See DissipatingZone::outer_mass(double, int).
double formation_age() const
The age at which the core forms in Gyr.
double outer_radius(double age, int deriv_order=0) const
See DissipatingZone::outer_radius(double, int).
double moment_of_inertia(double age, int deriv_order=0) const
See DissipatingZone::moment_of_inertia(double, int).