Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
EvolvingStellarCore.h
Go to the documentation of this file.
1 
8 #ifndef __EVOLVING_STELLAR_CORE_H
9 #define __EVOLVING_STELLAR_CORE_H
10 
11 #include "../Core/SharedLibraryExportMacros.h"
12 #include "EvolvingStellarZone.h"
13 
14 #include "../Core/Functions.h"
15 #include "../StellarEvolution/EvolvingStellarQuantity.h"
16 
17 namespace Star {
18 
20  class LIB_PUBLIC EvolvingStellarCore : public EvolvingStellarZone {
21  private:
24 
30  MASS,
33  };
34 
35  public:
39  double formation_age=Core::Inf,
40 
43 
45  const StellarEvolution::EvolvingStellarQuantity *radius = NULL,
46 
49  *moment_of_inertia = NULL
50  ) :
51  EvolvingStellarZone({mass, radius, moment_of_inertia}),
52  __formation_age(formation_age)
53  {}
54 
56  double moment_of_inertia(int deriv_order = 0) const
57  {return current_age_quantity(INERTIA, deriv_order);}
58 
60  double moment_of_inertia(double age, int deriv_order = 0) const
61  {return any_age_quantity(INERTIA, age, deriv_order);}
62 
64  double outer_radius(int deriv_order = 0) const
65  {return current_age_quantity(RADIUS, deriv_order);}
66 
68  double outer_radius(double age, int deriv_order = 0) const
69  {return any_age_quantity(RADIUS, age, deriv_order);}
70 
72  double outer_mass(int deriv_order = 0) const
73  {return current_age_quantity(MASS, deriv_order);}
74 
76  double outer_mass(double age, int deriv_order = 0) const
77  {return any_age_quantity(MASS, age, deriv_order);}
78 
80  double formation_age() const {return __formation_age;}
81  }; //End EvolvingStellarCore class.
82 
83 }//End Star namespace.
84 
85 #endif
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).