Implements a StellarEvolution based on polynomial evolution quantities. More...
#include <PolynomialEvolution.h>
Public Member Functions | |
MockStellarEvolution (double core_formation_age=Core::NaN, const std::valarray< std::valarray< double > > &R=std::valarray< std::valarray< double > >(), const std::valarray< std::valarray< double > > &Iconv=std::valarray< std::valarray< double > >(), const std::valarray< std::valarray< double > > &Irad=std::valarray< std::valarray< double > >(), const std::valarray< std::valarray< double > > &Rcore=std::valarray< std::valarray< double > >(), const std::valarray< std::valarray< double > > &Mcore=std::valarray< std::valarray< double > >(), const std::valarray< std::valarray< double > > &Lum=std::valarray< std::valarray< double > >()) | |
Uses the given values and polynomials for the quantities. More... | |
EvolvingStellarQuantity * | operator() (QuantityID quantity, double mass, double feh) const |
See StellarEvolutino::Interpolator::operator()() More... | |
double | core_formation_age () const |
The age in Gyr at which the core forms. More... | |
Public Member Functions inherited from StellarEvolution::Interpolator | |
Interpolator () | |
Construct an object that can be set to interpolate between tabulated evolution tracks. More... | |
Interpolator (const std::valarray< double > &tabulated_masses, const std::valarray< double > &tabulated_feh, const std::list< std::valarray< double > > &tabulated_ages, const std::vector< std::list< std::valarray< double > > > &tabulated_quantities, const std::vector< double > &smoothing, const std::vector< int > &nodes, const std::vector< bool > &vs_log_age, const std::vector< bool > &log_quantity, unsigned num_threads) | |
Creates a fully functional stellar evolution interpolator. More... | |
void | create_from (const std::valarray< double > &tabulated_masses, const std::valarray< double > &tabulated_feh, const std::list< std::valarray< double > > &tabulated_ages, const std::vector< std::list< std::valarray< double > > > &tabulated_quantities, const std::vector< double > &smoothing, const std::vector< int > &nodes, const std::vector< bool > &vs_log_age, const std::vector< bool > &log_quantity, unsigned num_threads) |
Fully setup an object created by the default constructor. More... | |
virtual void | save_state (const std::string &filename="../interp_state_data") const |
Serializes the interpolation state to file. More... | |
virtual void | load_state (const std::string &filename="../interp_state_data") |
Loads data from serialization. More... | |
void | delete_tracks () |
Free all evolution tracks, rendering all created quantities unuseable! More... | |
Private Attributes | |
std::valarray< std::valarray< double > > | __R |
The polynomial coefficients of the radius dependence on mass and age. More... | |
std::valarray< std::valarray< double > > | __Iconv |
The polynomial coefficients of the convective zone moment of inertia dependence on stellar mass and age. More... | |
std::valarray< std::valarray< double > > | __Irad |
The polynomial coefficients of the radiative zone moment of inertia dependence on stellar mass and age. More... | |
std::valarray< std::valarray< double > > | __Itot |
The polynomial coefficients of total stellar moment of inertia dependence on stellar mass and age. More... | |
std::valarray< std::valarray< double > > | __Rcore |
The polynomial coefficients of the core radius dependence on stellar mass and age. More... | |
std::valarray< std::valarray< double > > | __Mcore |
The polynomial coefficients of the core mass dependence on stellar mass and age. More... | |
std::valarray< std::valarray< double > > | __Menv |
The polynomial coefficients of the envelope mass dependence on stellar mass and age. More... | |
std::valarray< std::valarray< double > > | __Lum |
The polynomial coefficients of the luminosity dependence on stellar mass and age. More... | |
double | __core_formation_age |
The age in Gyr at which the core forms. More... | |
Implements a StellarEvolution based on polynomial evolution quantities.
Definition at line 126 of file PolynomialEvolution.h.
StellarEvolution::MockStellarEvolution::MockStellarEvolution | ( | double | core_formation_age = Core::NaN , |
const std::valarray< std::valarray< double > > & | R = std::valarray< std::valarray<double> >() , |
||
const std::valarray< std::valarray< double > > & | Iconv = std::valarray< std::valarray<double> >() , |
||
const std::valarray< std::valarray< double > > & | Irad = std::valarray< std::valarray<double> >() , |
||
const std::valarray< std::valarray< double > > & | Rcore = std::valarray< std::valarray<double> >() , |
||
const std::valarray< std::valarray< double > > & | Mcore = std::valarray< std::valarray<double> >() , |
||
const std::valarray< std::valarray< double > > & | Lum = std::valarray< std::valarray<double> >() |
||
) |
Uses the given values and polynomials for the quantities.
If empty polynomial coefficients are specified or NaN for constant quantities in which case random polynomials or values are used.
core_formation_age | The age at which the core forms in Gyr. |
R | The polynomial coefficients of the radius dependence on mass and age. |
Iconv | The polynomial coefficients of the convective zone moment of inertia dependence on stellar mass and age. |
Irad | The polynomial coefficients of the radiative zone moment of inertia dependence on stellar mass and age. |
Rcore | The polynomial coefficients of the core radius dependence on stellar mass and age. |
Mcore | The polynomial coefficients of the core mass dependence on stellar mass and age. |
Lum | The polynomial coefficients of the luminosity dependence on stellar mass and age. |
Definition at line 27 of file PolynomialEvolution.cpp.
|
inlinevirtual |
The age in Gyr at which the core forms.
Reimplemented from StellarEvolution::Interpolator.
Definition at line 209 of file PolynomialEvolution.h.
|
virtual |
See StellarEvolutino::Interpolator::operator()()
Reimplemented from StellarEvolution::Interpolator.
Definition at line 74 of file PolynomialEvolution.cpp.
|
private |
The age in Gyr at which the core forms.
Definition at line 162 of file PolynomialEvolution.h.
|
private |
The polynomial coefficients of the convective zone moment of inertia dependence on stellar mass and age.
Definition at line 131 of file PolynomialEvolution.h.
|
private |
The polynomial coefficients of the radiative zone moment of inertia dependence on stellar mass and age.
Definition at line 131 of file PolynomialEvolution.h.
|
private |
The polynomial coefficients of total stellar moment of inertia dependence on stellar mass and age.
Definition at line 131 of file PolynomialEvolution.h.
|
private |
The polynomial coefficients of the luminosity dependence on stellar mass and age.
Definition at line 131 of file PolynomialEvolution.h.
|
private |
The polynomial coefficients of the core mass dependence on stellar mass and age.
Definition at line 131 of file PolynomialEvolution.h.
|
private |
The polynomial coefficients of the envelope mass dependence on stellar mass and age.
Definition at line 131 of file PolynomialEvolution.h.
|
private |
The polynomial coefficients of the radius dependence on mass and age.
Definition at line 131 of file PolynomialEvolution.h.
|
private |
The polynomial coefficients of the core radius dependence on stellar mass and age.
Definition at line 131 of file PolynomialEvolution.h.