Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
StellarEvolution::MockStellarEvolution Class Reference

Implements a StellarEvolution based on polynomial evolution quantities. More...

#include <PolynomialEvolution.h>

+ Inheritance diagram for StellarEvolution::MockStellarEvolution:
+ Collaboration diagram for StellarEvolution::MockStellarEvolution:

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...
 
EvolvingStellarQuantityoperator() (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...
 

Detailed Description

Implements a StellarEvolution based on polynomial evolution quantities.

Definition at line 126 of file PolynomialEvolution.h.

Constructor & Destructor Documentation

◆ MockStellarEvolution()

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.

Parameters
core_formation_ageThe age at which the core forms in Gyr.
RThe polynomial coefficients of the radius dependence on mass and age.
IconvThe polynomial coefficients of the convective zone moment of inertia dependence on stellar mass and age.
IradThe polynomial coefficients of the radiative zone moment of inertia dependence on stellar mass and age.
RcoreThe polynomial coefficients of the core radius dependence on stellar mass and age.
McoreThe polynomial coefficients of the core mass dependence on stellar mass and age.
LumThe polynomial coefficients of the luminosity dependence on stellar mass and age.

Definition at line 27 of file PolynomialEvolution.cpp.

Member Function Documentation

◆ core_formation_age()

double StellarEvolution::MockStellarEvolution::core_formation_age ( ) const
inlinevirtual

The age in Gyr at which the core forms.

Reimplemented from StellarEvolution::Interpolator.

Definition at line 209 of file PolynomialEvolution.h.

◆ operator()()

EvolvingStellarQuantity * StellarEvolution::MockStellarEvolution::operator() ( QuantityID  quantity,
double  mass,
double  feh 
) const
virtual

See StellarEvolutino::Interpolator::operator()()

Reimplemented from StellarEvolution::Interpolator.

Definition at line 74 of file PolynomialEvolution.cpp.

Member Data Documentation

◆ __core_formation_age

double StellarEvolution::MockStellarEvolution::__core_formation_age
private

The age in Gyr at which the core forms.

Definition at line 162 of file PolynomialEvolution.h.

◆ __Iconv

std::valarray< std::valarray<double> > StellarEvolution::MockStellarEvolution::__Iconv
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.

◆ __Irad

std::valarray< std::valarray<double> > StellarEvolution::MockStellarEvolution::__Irad
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.

◆ __Itot

std::valarray< std::valarray<double> > StellarEvolution::MockStellarEvolution::__Itot
private

The polynomial coefficients of total stellar moment of inertia dependence on stellar mass and age.

Definition at line 131 of file PolynomialEvolution.h.

◆ __Lum

std::valarray< std::valarray<double> > StellarEvolution::MockStellarEvolution::__Lum
private

The polynomial coefficients of the luminosity dependence on stellar mass and age.

Definition at line 131 of file PolynomialEvolution.h.

◆ __Mcore

std::valarray< std::valarray<double> > StellarEvolution::MockStellarEvolution::__Mcore
private

The polynomial coefficients of the core mass dependence on stellar mass and age.

Definition at line 131 of file PolynomialEvolution.h.

◆ __Menv

std::valarray< std::valarray<double> > StellarEvolution::MockStellarEvolution::__Menv
private

The polynomial coefficients of the envelope mass dependence on stellar mass and age.

Definition at line 131 of file PolynomialEvolution.h.

◆ __R

std::valarray< std::valarray<double> > StellarEvolution::MockStellarEvolution::__R
private

The polynomial coefficients of the radius dependence on mass and age.

Definition at line 131 of file PolynomialEvolution.h.

◆ __Rcore

std::valarray< std::valarray<double> > StellarEvolution::MockStellarEvolution::__Rcore
private

The polynomial coefficients of the core radius dependence on stellar mass and age.

Definition at line 131 of file PolynomialEvolution.h.


The documentation for this class was generated from the following files: