SEVN
Loading...
Searching...
No Matches
Star_auxiliary Class Reference

#include <star.h>

Inheritance diagram for Star_auxiliary:
Star

Public Member Functions

double get_last_fromtable (Lookup::Tables tab_id, unsigned int interpolating_track) const
 
bool has_been_properly_initiliased ()
 
double Mcore (bool old=false)
 
double Rcore (bool old=false)
 
double Menvelope (bool old=false)
 
double Renvelope (bool old=false)
 
utilities::jump_convergence find_track_after_CE_Ebinding (double Ebind, double Min_Mass, double Max_mass, bool pureHE=false)
 
bool isoutputtime ()
 
bool printall ()
 
bool notprint ()
 
bool printevents ()
 
template<class T >
void castp (const size_t &id, T classtype)
 
std::vector< std::string > get_initparams (bool effective_values=true) const
 
std::vector< std::vector< double > > load_auxiliary_table (std::string tab_name) const
 
void recordstate ()
 
void recordstate_w_timeupdate ()
 
void print ()
 
void print_to_log (std::string &message)
 
void print_failed (bool include_in_output=false)
 
std::string log_message_SNIa ()
 
bool just_exploded ()
 
bool aminakedhelium () const
 Flag check. More...
 
bool amifollowingpureHetrack () const
 
bool amiWR () const
 
bool amiWR_0 () const
 
bool aminakedco () const
 
bool amiempty () const
 
bool amiremnant () const
 
bool amiremnant_0 () const
 
bool amiWD () const
 
bool amiWD_0 () const
 
bool amiNS () const
 
bool amiNS_0 () const
 
bool amiBH () const
 
bool amiBH_0 () const
 
bool amiCompact () const
 
bool amiCompact_0 () const
 
bool amIdegenerate () const
 
bool amIdegenerate_0 () const
 
bool haveienvelope () const
 
bool amifollowingQHE () const
 
bool amiauxiliary () const
 
bool amiRRL (double Lmin=1.3, double Lmax=1.9, bool just_He_core=false) const
 
Material whatamidonating () const
 
Material whatamidonating_0 () const
 
bool breaktrigger () const
 
int get_bse_phase () const
 
int get_bse_phase_0 () const
 
unsigned long get_rseed ()
 
double get_max_zams () const
 
double get_min_zams () const
 
double get_max_Z () const
 
double get_min_Z () const
 
double get_zams () const
 
double get_Z () const
 
double get_rzams ()
 
double get_zams0 () const
 
double get_Z0 () const
 
double get_rzams0 () const
 
double get_MCO_max () const
 
double get_MHE_min () const
 
double get_tf () const
 
double get_tini () const
 
double get_dtout_original () const
 
size_t get_jcounter () const
 
const supernovaget_supernova () const
 
double get_staremnant (size_t ID)
 
Staremnantget_staremnant () const
 
double get_svpar_num (std::string name) const
 Get the value of the parameters store in the svpar class in io. More...
 
std::string get_svpar_str (std::string name) const
 
bool get_svpar_bool (std::string name) const
 
const std::vector< double > & getstate ()
 
double getp (const size_t &id) const
 
double getp_fk (const size_t &id) const
 
double getp_0 (const size_t &id) const
 
double getp_fk0 (const size_t &id) const
 
double get_Vlast (const size_t &id) const
 
double get_last_Timestep () const
 
unsigned int get_dtout_type ()
 
std::string getps (const size_t &id) const
 
std::string getps_fk (const size_t &id) const
 
std::string getps_0 (const size_t &id) const
 
std::string getps_fk0 (const size_t &id) const
 
std::string get_id_name () const
 
double getp_raw (const size_t &id) const
 
double getp_fk_raw (const size_t &id) const
 
double getp_0_raw (const size_t &id) const
 
double getp_fk0_raw (const size_t &id) const
 
bool table_loaded (size_t propID) const
 
double * get_table_pointer_atpos (size_t table_id, int interpolating_track, int pos)
 
double get_current_tphase () const
 
double get_next_tphase () const
 
std::string get_phase_str () const
 
size_t get_ID () const
 
std::string & get_name ()
 
std::string get_sn_type () const
 
double * get_mtrack ()
 
double * get_ztrack ()
 
const double * get_tphase () const
 
double & costart ()
 
double & hestart ()
 
bool & kicked ()
 
void copy_property_from (const size_t &prop_id, const size_t &copy_from_id)
 
void set_kicked ()
 Set flags. More...
 
void set_forcejump ()
 
void set_empty ()
 
void set_empty_in_bse (Binstar *b)
 
void set_staremnant (Staremnant *remnant)
 
void set_remnant ()
 
void set_COnaked ()
 
void set_QHE ()
 
void reset_QHE ()
 
void set_MCO_max_aftermerge (Star *merged_star)
 
void set_MHE_min_aftermerge (Star *merged_star)
 
void evolution_step_done ()
 
void evolution_guard (const char *file_input=nullptr, int line_input=-1)
 
bool get_COnaked ()
 
double get_dtout ()
 
double get_dtmax ()
 
void evolve_to_tini ()
 
void evolve_to_tini_as_remnant ()
 
utilities::evolution evolve ()
 
int lose_the_envelope ()
 
void update_from_binary (int Property_id, double DV, Binstar *b=nullptr)
 
void restore ()
 
void resynch (const double &dt)
 
void sync_with (Star *s)
 
void sync_with (double dt)
 
double plife () const
 
void tracktimes ()
 
void lookuppositions ()
 
void explode_as_SNI ()
 
void explode_as_SNI (_UNUSED Binstar *b)
 
void tobe_exploded_as_SNI ()
 
bool is_exploding_as_SNI () const
 
utilities::sn_explosion check_remnant_mass_limits ()
 
void init (std::vector< std::string > &params, bool isareset)
 
double inspect_param_dt (std::string p)
 
double inspect_param_tini (std::string p, bool ignore_global=false)
 
double inspect_param_tf (std::string p)
 
double inspect_param_mass (std::string p)
 
double inspect_param_Z (std::string p, bool ignore_global=false)
 
unsigned long inspect_param_rseed (std::string p)
 
std::string inspect_param_sntype (std::string p)
 
double inspect_param_spin (std::string p)
 
utilities::jump_convergence find_new_track (bool is_merger=false)
 CHANGE OF TRACKS METHODS. More...
 
utilities::jump_convergence find_new_track_after_merger ()
 
utilities::jump_convergence jump_to_pureHE_tracks ()
 
utilities::jump_convergence jump_to_normal_tracks ()
 

Public Attributes

double ttimes [4]
 
size_t pos [4]
 
double * times_in [4]
 
bool repeatstep
 
bool changedphase
 
double vkick [4]
 

Protected Types

enum  Init_params {
  _Mzams = 0 , _Z , _Spin , _SN_type ,
  _Tini , _Tfin , _Dtout
}
 

Protected Member Functions

void set_MCO_max ()
 
void set_MHE_min ()
 
double age_phase (std::string phase)
 
void remnant ()
 
void remnant_in_bse (Binstar *b)
 
void turn_into_remnant ()
 
void crem_transition_to_NS ()
 
void crem_transition_to_BH ()
 
void initialise_auxiliary_star (const Star *s, double mzams, double Z, std::string tini, bool pureHE)
 
void initialise_auxiliary_star (const Star *s, double mzams, double Z, double tini, bool pureHE)
 
void change_params (double mzams=utilities::NULL_DOUBLE, double Z=utilities::NULL_DOUBLE, std::string tini=utilities::NULL_STR)
 
void change_params (double mzams=utilities::NULL_DOUBLE, double Z=utilities::NULL_DOUBLE, double tini=utilities::NULL_DOUBLE)
 
void default_initialiser (bool isareset=false, bool pureHE=false)
 
void reset (double mzams=utilities::NULL_DOUBLE, double Z=utilities::NULL_DOUBLE, std::string tini=utilities::NULL_STR)
 
void reset (double mzams=utilities::NULL_DOUBLE, double Z=utilities::NULL_DOUBLE, double tini=utilities::NULL_DOUBLE)
 
double find_mass_linear (double mlow, double mhigh, const double MAX_MASS, const double MIN_MASS, const double plife, const size_t Phase, const bool pureHE, double &best_rel_err, utilities::jump_convergence &convergence, const size_t property_id=Mass::ID, const double z_look=utilities::NULL_DOUBLE)
 CHANGE OF TRACKS METHODS. More...
 
double find_mass_bisection (double mlow, double mhigh, const double MAX_MASS, const double MIN_MASS, const double plife, const size_t Phase, const bool pureHE, double &best_rel_err, utilities::jump_convergence &convergence, const size_t property_id=Mass::ID, const double z_look=utilities::NULL_DOUBLE)
 
utilities::jump_convergence match_M (double &best_rel_err, bool is_merger=false)
 
utilities::jump_convergence match_core (double &best_rel_err, _UNUSED bool is_merger=false)
 
utilities::jump_convergence match_HE_and_binding (double Ebind, double &best_rel_err, double Min_Mass=utilities::NULL_DOUBLE, double Max_Mass=utilities::NULL_DOUBLE, bool pureHe=false)
 
utilities::jump_convergence jump_tracks (Star *s)
 
void update_jtrack_counter ()
 
void correct_evolution_error ()
 
int _main_get_bse_phase (bool old=false) const
 
std::string log_mess_COnaked ()
 
std::string log_mess_HEnaked (utilities::jump_convergence outcome)
 
std::string log_mess_jumped (_UNUSED utilities::jump_convergence outcome)
 

Protected Attributes

double tphase [Nphases] = {0.}
 
double t_co_start
 
double t_he_start
 
std::vector< std::vector< double > > tphase_neigh
 
double tf
 
double tini
 
double dtout
 
unsigned int dtout_type = Lookup::DTout_type::_DTUNKNOWN
 
double Z0
 
double Z
 
double mzams0
 
double mzams
 
double rzams0
 
double rzams =-1
 
size_t jtrack_counter =0
 
double MCO_max =std::nan("")
 
double MHE_min =std::nan("")
 
double Mtrack [4] = {0.}
 
double Ztrack [2] = {0.}
 

Private Member Functions

bool is_dtout_generator_callable ()
 
void set_rzams ()
 
void reset_staremnant ()
 
void default_destructor ()
 
void set_mzams (const double a, const char *file, const int line)
 
void set_Z (const double a, const char *file, const int line)
 
void set_sntype (const std::string &a, _UNUSED const char *file, _UNUSED const int line)
 
void set_tf (const double a, const char *file, const int line)
 
void set_dtout (const double a, const char *file, const int line)
 
void set_rseed (const unsigned long a, const char *file, const int line)
 
void init_1 (std::vector< std::string > &params)
 
void init_2 (std::vector< std::string > &params)
 
void init_on_lookup ()
 

Private Attributes

supernovaSN = nullptr
 
Staremnantstaremnant = nullptr
 
std::unique_ptr< utilities::ListGeneratordtout_generator =nullptr
 
Lookup::Remnants initialise_as_remnant
 FLAGS. More...
 
bool faulty_initialisation =false
 
bool auxiliary_star =false
 
bool needsinit
 
bool isremnant
 
bool isempty
 
bool iskicked
 
bool tobe_SNIA =false
 
bool isconaked
 
bool once_conaked
 
bool break_at_remnant
 
bool print_all_steps
 
bool print_per_phase
 
bool print_only_end
 
bool print_events
 
bool initialised_on_zams
 
bool force_jump
 
bool ami_on_pureHE_track
 
bool ami_following_QHE
 
bool evolution_step_completed
 
std::vector< std::vector< double > > allstates
 
std::string sntype
 
SevnLogging svlog
 
IOio
 
std::vector< std::string > init_params
 
size_t ID
 
std::string name
 
std::vector< double > state
 
std::vector< std::vector< std::vector< double > * > > tables
 
vector< Property * > properties
 
std::vector< double > dtout_phase
 
unsigned long rseed =0
 

Member Enumeration Documentation

◆ Init_params

enum Star::Init_params
protectedinherited

Enum linked to the init_param list

Enumerator
_Mzams 
_Z 
_Spin 
_SN_type 
_Tini 
_Tfin 
_Dtout 

Member Function Documentation

◆ _main_get_bse_phase()

int Star::_main_get_bse_phase ( bool  old = false) const
protectedinherited

Core function to translate SEVN phase to BSE phases. Notice, we assume that nakedHe BSE is equivalent to pureHe in SEVN (i.e., star on pureHe tracks)

Parameters
oldif true use getp_0 properties
Returns
an integer representing the BSE phase (see Hurley+02)

Separate from Deep of fully convective low mass Ms and high mass MS

◆ age_phase()

double Star::age_phase ( std::string  phase)
inlineprotectedinherited

Return the age of a given phase in Myr

Parameters
phaseName of the phase (zams, tms, hsb, cheb, tcheb, hesb, end)
Returns
Age in Myr

◆ amiauxiliary()

bool Star::amiauxiliary ( ) const
inlineinherited

Check if the star is an auxiliary star

Returns
true or false

◆ amiBH()

bool Star::amiBH ( ) const
inlineinherited

Check if the star is a BH

Returns
true if the star is a BH

◆ amiBH_0()

bool Star::amiBH_0 ( ) const
inlineinherited

Check if the star is a BH

Returns
true if the star is a BH

◆ amiCompact()

bool Star::amiCompact ( ) const
inlineinherited

Check if the star is a compact remnant (NS or BH)

Returns
true if the star is a BH or a NS

◆ amiCompact_0()

bool Star::amiCompact_0 ( ) const
inlineinherited

Check if the star was a compact remnant (NS or BH) in the previous step

Returns
true if the star was a BH or a NS

◆ amIdegenerate()

bool Star::amIdegenerate ( ) const
inlineinherited

Check if the star is a degenerate remnant (WD NS or BH)

Returns
true if the star is a BH or a NS

◆ amIdegenerate_0()

bool Star::amIdegenerate_0 ( ) const
inlineinherited

Check if the star was a degenerate remnant (WD NS or BH) in the previous step

Returns
true if the star was a WD, BH or a NS

◆ amiempty()

bool Star::amiempty ( ) const
inlineinherited

◆ amifollowingpureHetrack()

bool Star::amifollowingpureHetrack ( ) const
inlineinherited

Check if it is currently following pureHe tables

Returns
True if it is a naked He star, False otherwise

◆ amifollowingQHE()

bool Star::amifollowingQHE ( ) const
inlineinherited

Check if the star is following the Quasi homegenous evolution path. E.g. the radius does not evolve during MS and after MS the star becomes a pureHE.

Returns
true or false

◆ aminakedco()

bool Star::aminakedco ( ) const
inlineinherited

◆ aminakedhelium()

bool Star::aminakedhelium ( ) const
inlineinherited

Flag check.

Check if it is currently a naked Helium star

Returns
True if it is a naked He star, False otherwise

◆ amiNS()

bool Star::amiNS ( ) const
inlineinherited

Check if the star was a NS

Returns
true if the star was a NS

◆ amiNS_0()

bool Star::amiNS_0 ( ) const
inlineinherited

Check if the star was a NS

Returns
true if the star was a NS

◆ amiremnant()

bool Star::amiremnant ( ) const
inlineinherited

◆ amiremnant_0()

bool Star::amiremnant_0 ( ) const
inlineinherited

◆ amiRRL()

bool Star::amiRRL ( double  Lmin = 1.3,
double  Lmax = 1.9,
bool  just_He_core = false 
) const
inlineinherited

Check if the star has the right condition to be a RRL pulsators. The check is based on Temperature, Luminosity and phase of the star. The temperature range is taken from Karczmarek+17, the check on luminositu and phase depends on the function paramter.

Parameters
Lminminimum luminosity threshold in Lsun (default 1.3 Lsun)
Lmaxmaximum luminosity cap in Lsun (defulat 1.9 Lsun)
just_He_coreif false consider only the star with phase 4 (CoreHeBurning), otherwise all the stars with an He core (Phase>MainSequence) (default false)
Returns
true if all the conditions are satisfied, false otherwise.

◆ amiWD()

bool Star::amiWD ( ) const
inlineinherited

Check if the star is a WD

Returns
true if the star is a WD

◆ amiWD_0()

bool Star::amiWD_0 ( ) const
inlineinherited

Check if the star was a WD in the previous step

Returns
true if the star is a WD

◆ amiWR()

bool Star::amiWR ( ) const
inlineinherited

Check if the star is a Wolf-Rayet based on the Eq.2 of Spera+19

Returns
True if the star is a Wolf-Rayet, false otherwise

◆ amiWR_0()

bool Star::amiWR_0 ( ) const
inlineinherited

Check if the star was a Wolf-Rayet based on the Eq.2 of Spera+19

Returns
True if the star is a Wolf-Rayet, false otherwise

◆ breaktrigger()

bool Star::breaktrigger ( ) const
inlineinherited

◆ castp()

template<class T >
void Star::castp ( const size_t &  id,
classtype 
)
inlineinherited

◆ change_params() [1/2]

void Star::change_params ( double  mzams = utilities::NULL_DOUBLE,
double  Z = utilities::NULL_DOUBLE,
double  tini = utilities::NULL_DOUBLE 
)
inlineprotectedinherited

◆ change_params() [2/2]

void Star::change_params ( double  mzams = utilities::NULL_DOUBLE,
double  Z = utilities::NULL_DOUBLE,
std::string  tini = utilities::NULL_STR 
)
inlineprotectedinherited

◆ check_remnant_mass_limits()

utilities::sn_explosion Star::check_remnant_mass_limits ( )
inlineinherited

Check if the remnant has exceeded the Chandrasekhar or VTO limits and call the transition to the new remnant

Returns
utilities::SNIA_EXPLODE if a SN Ia has been triggered otherwise utilities::SN_NOT_EXPLODE;

◆ copy_property_from()

void Star::copy_property_from ( const size_t &  prop_id,
const size_t &  copy_from_id 
)
inlineinherited

Pubblic wrapper for the property function copy_V_from

Parameters
prop_idId of the property for which we have to change V copying from another property
copy_from_idId of the property from which we have to copy the value of v

◆ correct_evolution_error()

void Star::correct_evolution_error ( )
inlineprotectedinherited

Take into account the correction due to errors on evolution (E.g. Mhe>Mtot ecc) So far we use only the correct_interpolation_errors_real from properties

◆ costart()

double & Star::costart ( )
inlineinherited

◆ crem_transition_to_BH()

void Star::crem_transition_to_BH ( )
protectedinherited

◆ crem_transition_to_NS()

void Star::crem_transition_to_NS ( )
protectedinherited

◆ default_destructor()

void Star::default_destructor ( )
privateinherited

Perform all the required actions to safely destroy heap allocated members

Here we have to delete all the pointer to stuff allocated on the heap

◆ default_initialiser()

void Star::default_initialiser ( bool  isareset = false,
bool  pureHE = false 
)
protectedinherited

Initialise the class to the default

Parameters
isaresetif true avoid to reinitialise unnecessary staff
pureHEif true initialise the stars on the pureHE track
_rseedRandom seed, if 0 it will generated automatically

needsinit=true is needed in lookup position to reinisialise the binary search of the position in the lookup tables

◆ evolution_guard()

void Star::evolution_guard ( const char *  file_input = nullptr,
int  line_input = -1 
)
inlineinherited

◆ evolution_step_done()

void Star::evolution_step_done ( )
inlineinherited

Set some flags/methods at the end of a successful evolution step, i.e. when all the repetitions are done

◆ evolve()

utilities::evolution Star::evolve ( )
inherited

Evolve the star from the current state to the end of simulation (or one of the breaking condition is verified). It each step, it evolves the times and the Phase, then it checks for breaking condition (isempty, isremnant, isconade). If they are not verified it set the right position in the interpolating tracks and then it evolves all the properties in the list. Finally it checks if the repeatstep member (it is managed by the TimeStep property), if is true it reset the properties to the last stage and repeat the evolution with a smaller timestep.

If empty, force V0=V and return

If time to explode and the star is not already a remnant turno into remnant and return.

If it is remnant of conaked just evolve accordingly the properties

Here the star is a remnant so just evolve the time and put V0=V

Here the star is a remnant so just evolve the time and put V0=V

◆ evolve_to_tini()

void Star::evolve_to_tini ( )
inlineinherited

The proposed timestep is equal to the initial time of the star (tini)

Set the rigth positions on the interpolating tracks

◆ evolve_to_tini_as_remnant()

void Star::evolve_to_tini_as_remnant ( )
inherited

Just propose a very large timestep

◆ explode_as_SNI() [1/2]

void Star::explode_as_SNI ( )
inherited

Explode as SNI leaving an empty remnant

◆ explode_as_SNI() [2/2]

void Star::explode_as_SNI ( _UNUSED Binstar b)
inherited

Explode as SNI leaving an empty remnant triggered by BSE

◆ find_mass_bisection()

double Star::find_mass_bisection ( double  mlow,
double  mhigh,
const double  MAX_MASS,
const double  MIN_MASS,
const double  plife,
const size_t  Phase,
const bool  pureHE,
double &  best_rel_err,
utilities::jump_convergence convergence,
const size_t  property_id = Mass::ID,
const double  z_look = utilities::NULL_DOUBLE 
)
protectedinherited

Iterative process to find the zams that match the mass defined in property_id at given plife and Phase, using a bisection method.

Parameters
mlowInitial low guess for mzams
mhighInitial high guess for mzams
MAX_MASSMaximum allowed value of mzams
MIN_MASSMinimum allowe value of mazams
plifePercentage of life at given phase (see below)
PhasePhase
pureHEIf true use the tracks from the pureHE tables
best_rel_errBest relative error considering the property_id (see below)
convergence0-utilities::JUMP_CONVERGE 1-utilities::JUMP 2-utilities::NO_JUMP
property_idProperty to match, it can be Mass, MHE, MCO
z_lookMetallicity to use to find the zams, if equal to utilities::NULL_double it is the same Z of the calling star
Returns
The value of the Mzams for which we obtain the best match. To interpret the match check the convergence (see above)

Start bisection guess

◆ find_mass_linear()

double Star::find_mass_linear ( double  mlow,
double  mhigh,
const double  MAX_MASS,
const double  MIN_MASS,
const double  plife,
const size_t  Phase,
const bool  pureHE,
double &  best_rel_err,
utilities::jump_convergence convergence,
const size_t  property_id = Mass::ID,
const double  z_look = utilities::NULL_DOUBLE 
)
protectedinherited

CHANGE OF TRACKS METHODS.

Iterative process to find the zams that match the mass defined in property_id at given plife and Phase, using a linear interpolation. We start with a low and high guess for mzams. If one of them has a relative error smaller than best_rel_err return the given zams, otherwise start an iterative approach, where a the line that connect low and high are used to predict a new zams. If this one is not enough to reach the convergence, the new zams takes tha place of the low or high limit and the iteration continues.

Parameters
mlowInitial low guess for mzams
mhighInitial high guess for mzams
MAX_MASSMaximum allowed value of mzams
MIN_MASSMinimum allowe value of mazams
plifePercentage of life at given phase (see below)
PhasePhase
pureHEIf true use the tracks from the pureHE tables
best_rel_errBest relative error considering the property_id (see below)
convergence0-utilities::JUMP_CONVERGE 1-utilities::JUMP 2-utilities::NO_JUMP
property_idProperty to match, it can be Mass, MHE, MCO
z_lookMetallicity to use to find the zams, if equal to utilities::NULL_double it is the same Z of the calling star
Returns
The value of the Mzams for which we obtain the best match. To interpret the match check the convergence (see above)

If the convergence has not been reached jump to the tracks with the best relative error.

◆ find_new_track()

utilities::jump_convergence Star::find_new_track ( bool  is_merger = false)
inherited

CHANGE OF TRACKS METHODS.

Find new interpolating track given the new conditions on mass of the star. This function checks if a track change is needed, in case it calls the appropriate change track functions

Parameters
is_a_mergerif true, this function is called to match the total mass after a merger
Returns
EXIT_SUCCESS or EXIT_FAILURE

1- CHECK IF THE STAR HAS BECOME A pureHE

2- CHECK IF THE STAR HAS BECOME a NAKED CO

◆ find_new_track_after_merger()

utilities::jump_convergence Star::find_new_track_after_merger ( )
inlineinherited

Function to call after a merger, it set the proper flags and call find_new_track

Returns

◆ find_track_after_CE_Ebinding()

utilities::jump_convergence Star::find_track_after_CE_Ebinding ( double  Ebind,
double  Min_Mass,
double  Max_mass,
bool  pureHE = false 
)
inherited

◆ get_bse_phase()

int Star::get_bse_phase ( ) const
inherited

◆ get_bse_phase_0()

int Star::get_bse_phase_0 ( ) const
inherited

◆ get_COnaked()

bool Star::get_COnaked ( )
inlineinherited

◆ get_current_tphase()

double Star::get_current_tphase ( ) const
inlineinherited

◆ get_dtmax()

double Star::get_dtmax ( )
inlineinherited

1) Max dt is the time to reach the end of the simulation

2) Max_dt_dtout, this is the maximum time to reach the next output time

3) Now we have two conditions for non remnant and not nakedco stars

3a) Do not jump more than two steps in the interpolating tables

3b) Use a dt so that we should have a minimum number of points per phase as defined in input (parameter ts_min_points_per_phase)

◆ get_dtout()

double Star::get_dtout ( )
inlineinherited

◆ get_dtout_original()

double Star::get_dtout_original ( ) const
inlineinherited

◆ get_dtout_type()

unsigned int Star::get_dtout_type ( )
inlineinherited

◆ get_ID()

size_t Star::get_ID ( ) const
inlineinherited

◆ get_id_name()

std::string Star::get_id_name ( ) const
inlineinherited

◆ get_initparams()

std::vector< std::string > Star::get_initparams ( bool  effective_values = true) const
inlineinherited

Return the initial parameters, the order of the parameters are the one in the Enum Star::Init_params. Notice if the parameter effective_values is false and there are some parameters that have been set in the command line option (e.f. Z) there will be a mismatch between the parameter returned by this function and the one currently used in the run. Be careful!

Parameters
effective_valuesIf false return the init_parameter as it is stores in init_params conserving the possible placeholder and the values from the input file, if true replace the placeholders and input values with the current effective values (Z from get_Z, sntype from get_sntype, tini from get_tini(), tfin from get_tfin(), dtout from get_dtout_original(),spin from get_svpar_str("spin") if != list or from the values stored in init_params)
Returns
A vector of strings

◆ get_jcounter()

size_t Star::get_jcounter ( ) const
inlineinherited

◆ get_last_fromtable()

double Star::get_last_fromtable ( Lookup::Tables  tab_id,
unsigned int  interpolating_track 
) const
inlineinherited

◆ get_last_Timestep()

double Star::get_last_Timestep ( ) const
inlineinherited

Method that return the current Timestep, i.e. the value from getp(Timestep::ID) if evolution_step_completed=false, i.e. we are currently evolving the properties the value from getp_0(Timestep::ID) if evolution_step_completed=false, i.e. if the the evolution step successfully ended and now getp(Timestep::ID) returns the Timestep predicted for the next step

Returns
current Timestep in Myr

◆ get_max_Z()

double Star::get_max_Z ( ) const
inlineinherited

◆ get_max_zams()

double Star::get_max_zams ( ) const
inlineinherited

◆ get_MCO_max()

double Star::get_MCO_max ( ) const
inlineinherited

◆ get_MHE_min()

double Star::get_MHE_min ( ) const
inlineinherited

◆ get_min_Z()

double Star::get_min_Z ( ) const
inlineinherited

◆ get_min_zams()

double Star::get_min_zams ( ) const
inlineinherited

◆ get_mtrack()

double * Star::get_mtrack ( )
inlineinherited

◆ get_name()

std::string & Star::get_name ( )
inlineinherited

◆ get_next_tphase()

double Star::get_next_tphase ( ) const
inlineinherited

◆ get_phase_str()

std::string Star::get_phase_str ( ) const
inlineinherited

◆ get_rseed()

unsigned long Star::get_rseed ( )
inlineinherited

◆ get_rzams()

double Star::get_rzams ( )
inlineinherited

Get rzams, if it has never been set set it.

Returns

◆ get_rzams0()

double Star::get_rzams0 ( ) const
inlineinherited

◆ get_sn_type()

std::string Star::get_sn_type ( ) const
inlineinherited

◆ get_staremnant() [1/2]

Staremnant * Star::get_staremnant ( ) const
inlineinherited

◆ get_staremnant() [2/2]

double Star::get_staremnant ( size_t  ID)
inherited

◆ get_supernova()

const supernova * Star::get_supernova ( ) const
inlineinherited

◆ get_svpar_bool()

bool Star::get_svpar_bool ( std::string  name) const
inlineinherited

◆ get_svpar_num()

double Star::get_svpar_num ( std::string  name) const
inlineinherited

Get the value of the parameters store in the svpar class in io.

◆ get_svpar_str()

std::string Star::get_svpar_str ( std::string  name) const
inlineinherited

◆ get_table_pointer_atpos()

double * Star::get_table_pointer_atpos ( size_t  table_id,
int  interpolating_track,
int  pos 
)
inlineinherited

Get the pointer to a given position inside the tables for Properties in table_id for given interpolating_track at position pos. For example get_table_atpos(_Mass,0,0) returns the pointer to the Mass tables for the interpolating track 0 (with Zams_0 and Z_0) at position in the array 0.

Parameters
tabled_idId of the table (see Lookup::Tables)
interpolating_trackId of the interpolating track
posPosition inside the table
Returns
Pointer to the value at a given position of the table. If the given table is not loaded return a nullptr.

◆ get_tf()

double Star::get_tf ( ) const
inlineinherited

◆ get_tini()

double Star::get_tini ( ) const
inlineinherited

◆ get_tphase()

const double * Star::get_tphase ( ) const
inlineinherited

◆ get_Vlast()

double Star::get_Vlast ( const size_t &  id) const
inlineinherited

◆ get_Z()

double Star::get_Z ( ) const
inlineinherited

◆ get_Z0()

double Star::get_Z0 ( ) const
inlineinherited

◆ get_zams()

double Star::get_zams ( ) const
inlineinherited

◆ get_zams0()

double Star::get_zams0 ( ) const
inlineinherited

◆ get_ztrack()

double * Star::get_ztrack ( )
inlineinherited

◆ getp()

double Star::getp ( const size_t &  id) const
inlineinherited

◆ getp_0()

double Star::getp_0 ( const size_t &  id) const
inlineinherited

◆ getp_0_raw()

double Star::getp_0_raw ( const size_t &  id) const
inlineinherited

◆ getp_fk()

double Star::getp_fk ( const size_t &  id) const
inlineinherited

◆ getp_fk0()

double Star::getp_fk0 ( const size_t &  id) const
inlineinherited

◆ getp_fk0_raw()

double Star::getp_fk0_raw ( const size_t &  id) const
inlineinherited

◆ getp_fk_raw()

double Star::getp_fk_raw ( const size_t &  id) const
inlineinherited

◆ getp_raw()

double Star::getp_raw ( const size_t &  id) const
inlineinherited

◆ getps()

std::string Star::getps ( const size_t &  id) const
inlineinherited

◆ getps_0()

std::string Star::getps_0 ( const size_t &  id) const
inlineinherited

◆ getps_fk()

std::string Star::getps_fk ( const size_t &  id) const
inlineinherited

◆ getps_fk0()

std::string Star::getps_fk0 ( const size_t &  id) const
inlineinherited

◆ getstate()

const std::vector< double > & Star::getstate ( )
inlineinherited

◆ has_been_properly_initiliased()

bool Star::has_been_properly_initiliased ( )
inlineinherited

◆ haveienvelope()

bool Star::haveienvelope ( ) const
inlineinherited

Check if the stars has a clear core/envelope separation.

Returns
True if the stare has a core+envelope structure, otherwise false

◆ hestart()

double & Star::hestart ( )
inlineinherited

◆ init()

void Star::init ( std::vector< std::string > &  params,
bool  isareset 
)
inlineinherited

Initialise the star. Mass, Z, Spin, sn_type, t initial, t final, dt print output.

Parameters
paramsA vector of string with the following orderd parameters: Mass, Z, Spin, sn_type, t initial, t final, dt print output.

◆ init_1()

void Star::init_1 ( std::vector< std::string > &  params)
inlineprivateinherited

Initialise the Mzams, Z, Spin, sn_type

Parameters
paramsA vector of string with the following orderd parameters: Mass, Z, Spin, sn_type, t initial, t final, dt print output.

◆ init_2()

void Star::init_2 ( std::vector< std::string > &  params)
inlineprivateinherited

Initialise the LocalTime, tf and dtout

Parameters
paramsA vector of string with the following orderd parameters: Mass, Z, Spin, sn_type, t initial, t final, dt print output.

◆ init_on_lookup()

void Star::init_on_lookup ( )
inlineprivateinherited

Set the 4 interpolating tracks and set the various variables to look into them. NB: The info here are used by the properties to set their interpolating weights. The weights can be different between properties. E.g. for the Mass the weights are linear, while for Luminosity and Radius the weights are estimated as the Log difference (between the interpolating Mass tracks).

Find Zlow and Zhigh

Find neighbour ZAMSs at zlow and zhigh

◆ initialise_auxiliary_star() [1/2]

void Star::initialise_auxiliary_star ( const Star s,
double  mzams,
double  Z,
double  tini,
bool  pureHE 
)
inlineprotectedinherited

Wrapper of the function initialise_auxiliary_star(const Star *s, double mzams, double Z, std::string tini, bool pureHE), where tini is a double instead of a string. Internally it will transform tini to a string and call the origianl function

Parameters
spointer to an instance of class Star to get the initial parameters
mzamsNew Mzams mass in Msun
ZNew Z metallicity
tiniNew initial time (double)
pureHEif true initialise it as a pureHE otherwsie as an H star

◆ initialise_auxiliary_star() [2/2]

void Star::initialise_auxiliary_star ( const Star s,
double  mzams,
double  Z,
std::string  tini,
bool  pureHE 
)
inlineprotectedinherited

This function takes care of the initiliasation of the auxiliary stars, i.e. stars that are generated starting from another star. Essentially, we got the initial parameters from another stars initialising a new stars. Notice, before to make the initiliasation we save the state of utilities::mtrand (it is a static threadlocal local varialbe, e.g. global variable for each thread), indeed during the initiliastion the mtrand engin will be reset, restarting the random number generation from the beginning. After the initliasation mtrand is restored to the old state so that the random number generation is not affcted by the creation of a auxiliary star. Without this save/restore, after a change of track mtrand is reset and if this happens before a SN kick you could end with a systems with the same natal kick for both stars chaning some of their parameters, i.e. Mzams,Z,tini, pureHE or not

Parameters
spointer to an instance of class Star to get the initial parameters
mzamsNew Mzams mass in Msun
ZNew Z metallicity
tiniNew initial time (string)
pureHEif true initialise it as a pureHE otherwsie as an H star

◆ inspect_param_dt()

double Star::inspect_param_dt ( std::string  p)
inherited

Set the dtout parameter from the dtout in input

Parameters
pString
Returns
Return the value dtout, if 1e30 it means that the dtour has been set with special variables (e.g. print_all_steps=true)

Check if the global variable is set

◆ inspect_param_mass()

double Star::inspect_param_mass ( std::string  p)
inlineinherited

Set the zams mass of the star in Msun

Parameters
pzams in Msun, if HE is added at the end the star will be initiliased as a pureHE
Returns
zams in Msun

◆ inspect_param_rseed()

unsigned long Star::inspect_param_rseed ( std::string  p)
inlineinherited

Set the rseed for the star

Parameters
prseed
Returns
rseed as unsigned long

◆ inspect_param_sntype()

std::string Star::inspect_param_sntype ( std::string  p)
inlineinherited

Check if the global variable is set

◆ inspect_param_spin()

double Star::inspect_param_spin ( std::string  p)
inlineinherited

Check if the global variable is set

◆ inspect_param_tf()

double Star::inspect_param_tf ( std::string  p)
inlineinherited

Set time in Myr for tfin

Parameters
pnumber or string end
Returns
Time in Myr

Check if the global variable is set

◆ inspect_param_tini()

double Star::inspect_param_tini ( std::string  p,
bool  ignore_global = false 
)
inlineinherited

Set in Myr from tini. If the input is a number just return the number. Alternatively it can be ne name of a phase (zams,tms,hsb,cheb,tcheb,hesb,end) or a given fraction of phase lifetime, e.g. %80:2.

Parameters
pNumber or string
ignore_globalif true dot not consider the global input parameter tini
Returns
Time in Myr

Check if the global variable is set

Transform all to lowercase

TSTART

◆ inspect_param_Z()

double Star::inspect_param_Z ( std::string  p,
bool  ignore_global = false 
)
inlineinherited

Set the Z of the star

Parameters
pzams can be list or a number
ignore_globalif true dot not consider the global input parameter tini
Returns
If list return the Z listed in the input file otherwise use the one set in the parameter Z

Check if the global variable is set

◆ is_dtout_generator_callable()

bool Star::is_dtout_generator_callable ( )
inlineprivateinherited

◆ is_exploding_as_SNI()

bool Star::is_exploding_as_SNI ( ) const
inherited

Get the flag tobe_SNIa

◆ isoutputtime()

bool Star::isoutputtime ( )
inlineinherited

◆ jump_to_normal_tracks()

utilities::jump_convergence Star::jump_to_normal_tracks ( )
inherited

◆ jump_to_pureHE_tracks()

utilities::jump_convergence Star::jump_to_pureHE_tracks ( )
inherited

◆ jump_tracks()

utilities::jump_convergence Star::jump_tracks ( Star s)
protectedinherited

Set the interpolating tracks info from the one stored in the input star s. The function modify the pointer to the interpolating tracks tables and update the properties weights

Parameters
sstar
Returns
0-utilities::JUMP_CONVERGE 1-utilities::JUMP 2-utilities::NO_JUMP

Set the new parameters

First of all change the properties (this is the first thing to do, before s is changed by the jump)

Init stars

◆ just_exploded()

bool Star::just_exploded ( )
inlineinherited

This function return true if it exploded as SNII (remnant is NS or BH)

Returns
true ifcurrent remnant type is NS or BH and getp_0(Phase::id) is not remnant

◆ kicked()

bool & Star::kicked ( )
inlineinherited

◆ load_auxiliary_table()

std::vector< std::vector< double > > Star::load_auxiliary_table ( std::string  tab_name) const
inlineinherited

◆ log_mess_COnaked()

std::string Star::log_mess_COnaked ( )
inlineprotectedinherited

◆ log_mess_HEnaked()

std::string Star::log_mess_HEnaked ( utilities::jump_convergence  outcome)
inlineprotectedinherited

◆ log_mess_jumped()

std::string Star::log_mess_jumped ( _UNUSED utilities::jump_convergence  outcome)
inlineprotectedinherited

◆ log_message_SNIa()

std::string Star::log_message_SNIa ( )
inherited

Create a log message about SNIa explosion

Returns
A string containing the log message

◆ lookuppositions()

void Star::lookuppositions ( )
inlineinherited

◆ lose_the_envelope()

int Star::lose_the_envelope ( )
inlineinherited

Handle the losing of the envelope for the star

Returns
EXIT_SUCCESS if the envelope has been removed, EXIT_FAILURE otherwise (e.g. when the stars has not a core-envelope segregation)

◆ match_core()

utilities::jump_convergence Star::match_core ( double &  best_rel_err,
_UNUSED bool  is_merger = false 
)
protectedinherited

Jump to a new track matching the innermost core Mass at the same Phase and plife. It uses a bisection method to find the matching track.

Parameters
best_rel_err,referenceto a double, it stores the best relative error reached in the matching
is_a_mergerif true, this function is called to match the total mass after a merger
Returns
0-utilities::JUMP_CONVERGE 1-utilities::JUMP 2-utilities::NO_JUMP

Check if the innercore is too small do not jump

jump to the tracks with the best relative error.

◆ match_HE_and_binding()

utilities::jump_convergence Star::match_HE_and_binding ( double  Ebind,
double &  best_rel_err,
double  Min_Mass = utilities::NULL_DOUBLE,
double  Max_Mass = utilities::NULL_DOUBLE,
bool  pureHe = false 
)
protectedinherited

Specialised function that finds new interpolating track for stars without He or CO core (Phase 1)

Parameters
best_rel_err,referenceto a double, it stores the best relative error reached in the matching.
Returns
0-utilities::JUMP_CONVERGE 1-utilities::JUMP 2-utilities::NO_JUMP

If the convergence has not been reached jump to the tracks with the best relative error.

◆ match_M()

utilities::jump_convergence Star::match_M ( double &  best_rel_err,
bool  is_merger = false 
)
protectedinherited

Jump to a new track, matching the total mass (used for MS and pureMS stars)

Parameters
best_rel_errBest relative error of the match
is_a_mergerif true, this function is called to match the total mass after a merger
Returns
0-utilities::JUMP_CONVERGE 1-utilities::JUMP 2-utilities::NO_JUMP

jump to the tracks with the best relative error.

◆ Mcore()

double Star::Mcore ( bool  old = false)
inlineinherited

◆ Menvelope()

double Star::Menvelope ( bool  old = false)
inlineinherited

◆ notprint()

bool Star::notprint ( )
inlineinherited

◆ plife()

double Star::plife ( ) const
inlineinherited

Estimate the fraction of life spent in the current phase.

Returns
(LocalTime-t_start_phase)/(t_start_next_phase - t_start_phase)

◆ print()

void Star::print ( )
inlineinherited

Print the current star properties. It is supposed that the evolution of this stars is not stopped by an error, therefore the summary is printed in the evolved files It uses the method print_evolved_summary and print_formatted_output of the class IO.h

◆ print_failed()

void Star::print_failed ( bool  include_in_output = false)
inlineinherited

Print the current star properties. It is supposed that the evolution of this stars is stopped by an error, therefore the summary is printed in the failed files It uses the method print_failed_summary and print_formatted_output of the class IO.h

Parameters
include_in_outputIf true flush allstates to the output even if the evolution failed

◆ print_to_log()

void Star::print_to_log ( std::string &  message)
inlineinherited

Print a message to the log file. It is a wrapper of the method log_put of the class IO

Parameters
message

◆ printall()

bool Star::printall ( )
inlineinherited

◆ printevents()

bool Star::printevents ( )
inlineinherited

◆ Rcore()

double Star::Rcore ( bool  old = false)
inlineinherited

◆ recordstate()

void Star::recordstate ( )
inlineinherited

Record the current state and put it inside the 2D vector (allstates) containing all the states.

◆ recordstate_w_timeupdate()

void Star::recordstate_w_timeupdate ( )
inlineinherited

NOTICE, this function can be called only after a complete evolution step. Record the current state and put it inside the 2D vector (allstates) containing all the states. Then update the dtout_generator Then Evolve the NextOutput property.

Check that the evolution has been done

◆ remnant()

void Star::remnant ( )
inlineprotectedinherited

◆ remnant_in_bse()

void Star::remnant_in_bse ( Binstar b)
inlineprotectedinherited

◆ Renvelope()

double Star::Renvelope ( bool  old = false)
inlineinherited

◆ reset() [1/2]

void Star::reset ( double  mzams = utilities::NULL_DOUBLE,
double  Z = utilities::NULL_DOUBLE,
double  tini = utilities::NULL_DOUBLE 
)
inlineprotectedinherited

Reset the current star to a new state. This is similar to the call of a constructor but without creating a new object

Parameters
mzamsNew zams Mass of the star in Msun, default[Old values]
ZNew Z of the star, default[Old values]
tiniNew initial age of the star in Myr, default[Old values]

◆ reset() [2/2]

void Star::reset ( double  mzams = utilities::NULL_DOUBLE,
double  Z = utilities::NULL_DOUBLE,
std::string  tini = utilities::NULL_STR 
)
inlineprotectedinherited

Reset the current star to a new state. This is similar to the call of a constructor but without creating a new object. Notice the reset cannot change tracks from normal to pureHE and viceversa

Parameters
mzamsNew zams Mass of the star in Msun, default[Old values]
ZNew Z of the star, default[Old values]
tiniNew initial age of the star in Myr, default[Old values]

◆ reset_QHE()

void Star::reset_QHE ( )
inlineinherited

◆ reset_staremnant()

void Star::reset_staremnant ( )
privateinherited

Reset the staremnant pointer and cler the associated memory space. The pointer is then set to nullptr

◆ restore()

void Star::restore ( )
inlineinherited

Restore all the properties and handle some flags

Restore all the properties

Restore other keywords

◆ resynch()

void Star::resynch ( const double &  dt)
inlineinherited

◆ set_COnaked()

void Star::set_COnaked ( )
inlineinherited

◆ set_dtout()

void Star::set_dtout ( const double  a,
const char *  file,
const int  line 
)
inlineprivateinherited

◆ set_empty()

void Star::set_empty ( )
inlineinherited

◆ set_empty_in_bse()

void Star::set_empty_in_bse ( Binstar b)
inlineinherited

◆ set_forcejump()

void Star::set_forcejump ( )
inlineinherited

◆ set_kicked()

void Star::set_kicked ( )
inlineinherited

Set flags.

◆ set_MCO_max()

void Star::set_MCO_max ( )
inlineprotectedinherited

◆ set_MCO_max_aftermerge()

void Star::set_MCO_max_aftermerge ( Star merged_star)
inlineinherited

Update MCO_max after a merge with another star. If the two stars already developed a CO core the maximum CO is the sum of the two, otherwise it is just the MCO_max of the star that already developed a CO core If neither of them has a CO core, the MCO_max remains unset (it is nan)/

Parameters
merged_starPointer to the merged star

◆ set_MHE_min()

void Star::set_MHE_min ( )
inlineprotectedinherited

◆ set_MHE_min_aftermerge()

void Star::set_MHE_min_aftermerge ( Star merged_star)
inlineinherited

Update MHE_max after a merge with another star. If the two stars already developed a CO core the minimum MHE is the sum of the two, otherwise it is just the MHE_min of the star that already developed a CO core If neither of them has a CO core, the MHE_min remains unset (it is nan)/

Parameters
merged_starPointer to the merged star

◆ set_mzams()

void Star::set_mzams ( const double  a,
const char *  file,
const int  line 
)
inlineprivateinherited

◆ set_QHE()

void Star::set_QHE ( )
inlineinherited

◆ set_remnant()

void Star::set_remnant ( )
inlineinherited

◆ set_rseed()

void Star::set_rseed ( const unsigned long  a,
const char *  file,
const int  line 
)
inlineprivateinherited

◆ set_rzams()

void Star::set_rzams ( )
privateinherited

Set the Rzams //WARNING! Since this use an auxiliary star, this method must no be called inside this special constructor otherwise it will generate a infinite nested call to this function.

◆ set_sntype()

void Star::set_sntype ( const std::string &  a,
_UNUSED const char *  file,
_UNUSED const int  line 
)
inlineprivateinherited

◆ set_staremnant()

void Star::set_staremnant ( Staremnant remnant)
inherited

◆ set_tf()

void Star::set_tf ( const double  a,
const char *  file,
const int  line 
)
inlineprivateinherited

◆ set_Z()

void Star::set_Z ( const double  a,
const char *  file,
const int  line 
)
inlineprivateinherited

◆ sync_with() [1/2]

void Star::sync_with ( double  dt)
inlineinherited

◆ sync_with() [2/2]

void Star::sync_with ( Star s)
inlineinherited

Sync the Timestep with the star s. This function set the value of timestep of this object to the value stored in the s Timestep.

Parameters
s

◆ table_loaded()

bool Star::table_loaded ( size_t  propID) const
inlineinherited

◆ tobe_exploded_as_SNI()

void Star::tobe_exploded_as_SNI ( )
inherited

Set the flat tobe_SNIa to true. This is flag that can be used to delay the SNIa explosion that will be managed elsewhere in the code

◆ tracktimes()

void Star::tracktimes ( )
inlineinherited

◆ turn_into_remnant()

void Star::turn_into_remnant ( )
protectedinherited

◆ update_from_binary()

void Star::update_from_binary ( int  Property_id,
double  DV,
Binstar b = nullptr 
)
inlineinherited

Update the stellar properties after binary evolution (if any)

Parameters
Property_idid of the Property to update in the list
DVVariation of the property to update

◆ update_jtrack_counter()

void Star::update_jtrack_counter ( )
inlineprotectedinherited

Add 1 to the counter of the tracks changes.

◆ whatamidonating()

Material Star::whatamidonating ( ) const
inherited

What material is transferred from this star to other objects through winds or rlo.

Returns
An item of the enum list Lookup::Material

◆ whatamidonating_0()

Material Star::whatamidonating_0 ( ) const
inherited

What material is transferred from this star to other objects through winds or rlo considering the get_0 properties.

Returns
An item of the enum list Lookup::Material

Member Data Documentation

◆ allstates

std::vector<std::vector<double> > Star::allstates
privateinherited

◆ ami_following_QHE

bool Star::ami_following_QHE
privateinherited

True if the star is following a Quasi-homogeneous evolution

◆ ami_on_pureHE_track

bool Star::ami_on_pureHE_track
privateinherited

True if the star is evolving on pureHE tracks

◆ auxiliary_star

bool Star::auxiliary_star =false
privateinherited

If true the star is considered auxiliary

◆ break_at_remnant

bool Star::break_at_remnant
privateinherited

Break the evolution when the stars become remnant

◆ changedphase

bool Star::changedphase
inherited

If true, move star and interpolating track to a new phase. It is set in Timestep::evolve(Star *s) in property.h

◆ dtout

double Star::dtout
protectedinherited

◆ dtout_generator

std::unique_ptr<utilities::ListGenerator> Star::dtout_generator =nullptr
privateinherited

Unique pointer to a list generator to handle dtout

◆ dtout_phase

std::vector<double> Star::dtout_phase
privateinherited

◆ dtout_type

unsigned int Star::dtout_type = Lookup::DTout_type::_DTUNKNOWN
protectedinherited

◆ evolution_step_completed

bool Star::evolution_step_completed
privateinherited

◆ faulty_initialisation

bool Star::faulty_initialisation =false
privateinherited

If true this object has not been properly initiliased

◆ force_jump

bool Star::force_jump
privateinherited

If true force the jump

◆ ID

size_t Star::ID
privateinherited

◆ init_params

std::vector<std::string> Star::init_params
privateinherited

◆ initialise_as_remnant

Lookup::Remnants Star::initialise_as_remnant
privateinherited

FLAGS.

◆ initialised_on_zams

bool Star::initialised_on_zams
privateinherited

Set to true when the tini is zams or cheb for pureHE stars

◆ io

IO* Star::io
privateinherited

Pointer to io class

◆ isconaked

bool Star::isconaked
privateinherited

If true the star is COnaked

◆ isempty

bool Star::isempty
privateinherited

◆ iskicked

bool Star::iskicked
privateinherited

◆ isremnant

bool Star::isremnant
privateinherited

◆ jtrack_counter

size_t Star::jtrack_counter =0
protectedinherited

Counter for track jumps

◆ MCO_max

double Star::MCO_max =std::nan("")
protectedinherited

maximum MCO reachable by this star. It is set the first time the star develop a CO core, i.e. pass from the phase 4 to 5

◆ MHE_min

double Star::MHE_min =std::nan("")
protectedinherited

minimum MHE reachable by this star. It is set the first time the star develop a MHE core, i.e. pass from the phase 1 to 2

◆ Mtrack

double Star::Mtrack[4] = {0.}
protectedinherited

◆ mzams

double Star::mzams
protectedinherited

Current zams (actually it is the mass at the PreMS)

◆ mzams0

double Star::mzams0
protectedinherited

Initial zams (set only in the Star constructor) (actually it is the mass at the PreMS). Notice if we initiliase the star as remnant, this is the initial remant mass not the mass of the progenitor

◆ name

std::string Star::name
privateinherited

◆ needsinit

bool Star::needsinit
privateinherited

◆ once_conaked

bool Star::once_conaked
privateinherited

If true the star was a nakedCO before to become a remnant

◆ pos

size_t Star::pos[4]
inherited

It contains the index of the current position in the tables of the interpolating tracks. The current time is between i nad i+1

◆ print_all_steps

bool Star::print_all_steps
privateinherited

Print al the intermediate steps

◆ print_events

bool Star::print_events
privateinherited

If true print only the timesteps where events happen

◆ print_only_end

bool Star::print_only_end
privateinherited

If true do not print intermediate steps

◆ print_per_phase

bool Star::print_per_phase
privateinherited

Print each phase, currently disabled

◆ properties

vector<Property*> Star::properties
privateinherited

◆ repeatstep

bool Star::repeatstep
inherited

If true, the evolution is restarted from the last point where repeastep=false. It is set in Timestep::evolve(Star *s) in property.h or in BTimestep::evolve(Binstar *binstar) in BinaryProperty.h

◆ rseed

unsigned long Star::rseed =0
privateinherited

◆ rzams

double Star::rzams =-1
protectedinherited

raiud at t=tzams for the current interpolating track

◆ rzams0

double Star::rzams0
protectedinherited

initial radius at t=tzams (set only in the standard Star constructor). Notice if we initiliase the star as remnant, this indicate the radius of a non remnant star with zams=mass

◆ SN

supernova* Star::SN = nullptr
privateinherited

Pointer to the SN model. Notice this will point to dynamically allocated memory, it has to be freed in the destructor

◆ sntype

std::string Star::sntype
privateinherited

◆ staremnant

Staremnant* Star::staremnant = nullptr
privateinherited

Pointer to the remnant class

◆ state

std::vector<double> Star::state
privateinherited

◆ svlog

SevnLogging Star::svlog
privateinherited

◆ t_co_start

double Star::t_co_start
protectedinherited

◆ t_he_start

double Star::t_he_start
protectedinherited

◆ tables

std::vector<std::vector<std::vector<double>*> > Star::tables
privateinherited

◆ tf

double Star::tf
protectedinherited

◆ times_in

double* Star::times_in[4]
inherited

Pointer to array containing the largest time present in the Time table of the interpolating tracks that is smaller than ttimes. It is updated in lookuppositions() (called inside evolvestar() )

◆ tini

double Star::tini
protectedinherited

◆ tobe_SNIA

bool Star::tobe_SNIA =false
privateinherited

Flag that can be used to rember that this star is exploding as SN Ia

◆ tphase

double Star::tphase[Nphases] = {0.}
protectedinherited

◆ tphase_neigh

std::vector<std::vector<double> > Star::tphase_neigh
protectedinherited

◆ ttimes

double Star::ttimes[4]
inherited

Contains the current times of the interpolating tracks (estimated using the plife). It is updated in tracktimes() (called inside

Returns
star() )

◆ vkick

double Star::vkick[4]
inherited

Vkick

◆ Z

double Star::Z
protectedinherited

Current metallicity

◆ Z0

double Star::Z0
protectedinherited

Initial metallicity (set only in the Star constructor)

◆ Ztrack

double Star::Ztrack[2] = {0.}
protectedinherited

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