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

#include <Orbit.h>

Inheritance diagram for disabled_rl:
Orbital_change_RL Orbital_change

Public Member Functions

 disabled_rl (bool reg=true)
 
 ~disabled_rl ()
 
disabled_rlinstance () override
 
std::string name () override
 
bool is_process_ongoing () override
 Other function that return useful information. More...
 
void set_options (IO *_io) override
 
virtual void set_options (_UNUSED IO *_io)
 
void init (_UNUSED Binstar *b) override
 
int speciale_evolve (_UNUSED Binstar *b) override
 Mass transfer. More...
 
double get_DM (int ID)
 
double DM (_UNUSED Binstar *b, _UNUSED int procID, _UNUSED int starID) override
 
bool is_swallowed (int starID)
 
bool is_colliding ()
 
virtual double get_mt_value () const
 
virtual double get_mt_tshold () const
 
virtual double DA (_UNUSED Binstar *b, _UNUSED int procID)
 
virtual double DE (_UNUSED Binstar *b, _UNUSED int procID)
 
virtual double DAngMomSpin (_UNUSED Binstar *b, _UNUSED int procID, _UNUSED int starID)
 

Static Public Member Functions

static Orbital_change_RLInstance (const std::string &name)
 

Public Attributes

bool novae =false
 
bool super_eddington =false
 

Static Public Attributes

static disabled_rl _disabled_rl
 

Protected Member Functions

void Register (Orbital_change_RL *ptr, const std::string &_name)
 
virtual void RLO (_UNUSED Star *donor, _UNUSED Star *accretor, _UNUSED Binstar *b)
 
virtual double correct_accreted_mass (double DM_accreted, _UNUSED double DM_donor, _UNUSED Star *donor, _UNUSED Star *accretor, _UNUSED Binstar *b)
 
virtual double fRL_radius (_UNUSED Star *star, _UNUSED Binstar *b)
 
int set_DM (double DM, int starID)
 
int reset_DM ()
 
int set_swallowed (int starID)
 
int reset_swallowed (int starID)
 
int reset_swallowed ()
 
void set_mix ()
 
void unset_mix ()
 
bool get_mix ()
 
void set_comenv ()
 
void unset_comenv ()
 
bool get_comenv ()
 
void set_is_RLO_happening ()
 
void unset_is_RLO_happening ()
 
void set_is_colliding ()
 
void unset_is_colliding ()
 
virtual int dynamic_swallowing (_UNUSED Binstar *b)
 Mass transfer. More...
 
virtual double estimate_q (Star *donor, Star *accretor)
 q stuff More...
 
virtual int outcome_double_RLO (_UNUSED Binstar *b)
 Utilities. More...
 
virtual int outcome_collision (_UNUSED Binstar *b)
 
virtual int outcome_collision (_UNUSED Star *donor, _UNUSED Star *accretor, _UNUSED Binstar *b)
 
virtual double Hfrac (Star *s)
 
virtual double dMdt_eddington (Star *donor, Star *accretor, Binstar *b)
 
bool is_giant_like (int star_type_bse)
 
virtual double dynamic_dmdt (_UNUSED Star *s, _UNUSED Binstar *b)
 Mass transfer. More...
 
virtual double nuclear_dmdt (_UNUSED Star *s, _UNUSED Binstar *b)
 
virtual double thermal_dmdt (_UNUSED Star *s, _UNUSED Binstar *b)
 
virtual double thermal_nuclear_accreted_mass (_UNUSED double DM_donor, _UNUSED Star *donor, _UNUSED Star *accretor, _UNUSED Binstar *b)
 
virtual double kelvin_helmotz_tscale (Star *s)
 time scales More...
 
virtual double dynamic_tscale (Star *s)
 
virtual int check_compact_accretor (int donor_type_bse, int accretor_type_bse)
 Checks. More...
 

Protected Attributes

MTstabilitymt_stability
 
SevnLogging svlog
 

Static Private Member Functions

static std::map< std::string, Orbital_change_RL * > & GetStaticMap ()
 
static std::vector< int > & GetUsed ()
 

Private Attributes

double _DM [2] ={0,0}
 
bool _is_swallowed [2] ={false, false}
 
bool mix = false
 
bool comenv = false
 
bool _is_RLO_happening =false
 
bool _is_colliding =false
 

Constructor & Destructor Documentation

◆ disabled_rl()

disabled_rl::disabled_rl ( bool  reg = true)
inline

◆ ~disabled_rl()

disabled_rl::~disabled_rl ( )
inline

Member Function Documentation

◆ check_compact_accretor()

virtual int Orbital_change_RL::check_compact_accretor ( int  donor_type_bse,
int  accretor_type_bse 
)
inlineprotectedvirtualinherited

Checks.

Check that for compact remnants (WD,NS,BH) the accretor is as compact or more compact with respect to the donor.

Parameters
donor_type_bseBSE type of the donor
accretor_type_bseBSE type of the accretor
Returns
EXIT_SUCCESS or throw an error
Exceptions
sevnstd::rl_error

◆ correct_accreted_mass()

virtual double Orbital_change_RL::correct_accreted_mass ( double  DM_accreted,
_UNUSED double  DM_donor,
_UNUSED Star donor,
_UNUSED Star accretor,
_UNUSED Binstar b 
)
inlineprotectedvirtualinherited

General function to be called to correct the accreted mass for whatever reason. In this general version it just returns the same amount of DM_accreted in input. The idea is that specialised version of this process could need to add special correction without change the rest of the process.

Parameters
DM_accretedmass accreted by the accretor (before this correction) in Msun
DM_donormass donated by the donor in Msun
donorPointer to the star that is overflowing the RocheLobe
accretorPointer to the star that is accreting mass
bPointer to the binary

Reimplemented in Hurley_rl_propeller.

◆ DA()

virtual double Orbital_change::DA ( _UNUSED Binstar b,
_UNUSED int  procID 
)
inlinevirtualinherited

Reimplemented in Peters_gw, Hurley_rl, Hurley_SNKicks, and Tides_simple.

◆ DAngMomSpin()

virtual double Orbital_change::DAngMomSpin ( _UNUSED Binstar b,
_UNUSED int  procID,
_UNUSED int  starID 
)
inlinevirtualinherited

Reimplemented in Tides_simple, and Hurley_rl.

◆ DE()

virtual double Orbital_change::DE ( _UNUSED Binstar b,
_UNUSED int  procID 
)
inlinevirtualinherited

Reimplemented in Peters_gw, Hurley_rl, Hurley_SNKicks, and Tides_simple.

◆ DM()

double Orbital_change_RL::DM ( _UNUSED Binstar b,
_UNUSED int  procID,
_UNUSED int  starID 
)
inlineoverridevirtualinherited

Reimplemented from Orbital_change.

◆ dMdt_eddington()

double Orbital_change_RL::dMdt_eddington ( Star donor,
Star accretor,
Binstar b 
)
protectedvirtualinherited

Estimate the rate of mass transfer considering the Eddington limit

Parameters
donorStar that is donating mass through the RLO
accretorStar that is accreting mass
Returns

◆ dynamic_dmdt()

virtual double Orbital_change_RL::dynamic_dmdt ( _UNUSED Star s,
_UNUSED Binstar b 
)
inlineprotectedvirtualinherited

Mass transfer.

Rate of dynamic mass transfer

Parameters
spointer to the Star that is losing mass
bpointer to the binary
Returns
dm/dt or thrown an error
Exceptions
rl_errorif the method is not implemented

Reimplemented in Hurley_rl.

◆ dynamic_swallowing()

virtual int Orbital_change_RL::dynamic_swallowing ( _UNUSED Binstar b)
inlineprotectedvirtualinherited

Mass transfer.

Function that handle the situation in which the mass transfer is dynamic unstable but the stars are not mixing or doing a ce.

Parameters
bPointer to the binary
Returns
EXIT_SUCCESS;

Reimplemented in Hurley_rl, and Hurley_rl_bse.

◆ dynamic_tscale()

double Orbital_change_RL::dynamic_tscale ( Star s)
protectedvirtualinherited

Dynamic time scale (Eq. 63, Hurley+2002) Directly taken from SEVN1

Parameters
sPointer to star
Returns
Dynamic time scale in yr

◆ estimate_q()

double Orbital_change_RL::estimate_q ( Star donor,
Star accretor 
)
protectedvirtualinherited

q stuff

q

Simply estimate the mass fraction of the donor over the accretor

Parameters
donorStar that is donating mass through the RLO
accretorStar that is accreting mass
Returns
mass_fraction

◆ fRL_radius()

virtual double Orbital_change_RL::fRL_radius ( _UNUSED Star star,
_UNUSED Binstar b 
)
inlineprotectedvirtualinherited

Roche Lobe radius normalised over the star radius

Parameters
starpointer to the star for which we are estimateting fRL
bpointer to the binary
Returns
R_rl/R_star

Reimplemented in Hurley_rl.

◆ get_comenv()

bool Orbital_change_RL::get_comenv ( )
inlineprotectedinherited

◆ get_DM()

double Orbital_change_RL::get_DM ( int  ID)
inlineinherited

◆ get_mix()

bool Orbital_change_RL::get_mix ( )
inlineprotectedinherited

◆ get_mt_tshold()

virtual double Orbital_change_RL::get_mt_tshold ( ) const
inlinevirtualinherited

Reimplemented in Hurley_rl.

◆ get_mt_value()

virtual double Orbital_change_RL::get_mt_value ( ) const
inlinevirtualinherited

Reimplemented in Hurley_rl.

◆ GetStaticMap()

static std::map< std::string, Orbital_change_RL * > & Orbital_change_RL::GetStaticMap ( )
inlinestaticprivateinherited

◆ GetUsed()

static std::vector< int > & Orbital_change_RL::GetUsed ( )
inlinestaticprivateinherited

◆ Hfrac()

double Orbital_change_RL::Hfrac ( Star s)
protectedvirtualinherited

Estimate the H fraction based on the functional form .... (found in SEVN1)

Parameters
sPointer to the star
Returns

◆ init()

void Orbital_change_RL::init ( _UNUSED Binstar b)
inlineoverridevirtualinherited

Init function to be called at the beginning of the Process::evolve

Parameters
bPointer to the binary

Reimplemented from Orbital_change.

Reimplemented in Hurley_rl.

◆ instance()

disabled_rl * disabled_rl::instance ( )
inlineoverridevirtual

Reimplemented from Orbital_change_RL.

◆ Instance()

Orbital_change_RL * Orbital_change_RL::Instance ( const std::string &  name)
staticinherited

◆ is_colliding()

bool Orbital_change_RL::is_colliding ( )
inlineinherited

◆ is_giant_like()

bool Orbital_change_RL::is_giant_like ( int  star_type_bse)
inlineprotectedinherited

Check if the star can be considered giant or giant-like in the BSE type classification

Parameters
star_type_bseBSE star type
Returns
true if the type is between 2 and 9 (inclusive) but not 7, false otherwise

◆ is_process_ongoing()

bool disabled_rl::is_process_ongoing ( )
inlineoverridevirtual

Other function that return useful information.

Check if the process is really ongoing, i.e. it is really changing properties.

Returns

Reimplemented from Orbital_change_RL.

◆ is_swallowed()

bool Orbital_change_RL::is_swallowed ( int  starID)
inlineinherited

◆ kelvin_helmotz_tscale()

double Orbital_change_RL::kelvin_helmotz_tscale ( Star s)
protectedvirtualinherited

time scales

Time scales.

Kelvin-Helmholtz time scale from the modified classical expression (Eq. 61, Hurley+2002) Directly taken from SEVN1

Parameters
sPointer to star
Returns
Kelvin-Helmholtz time scale in yr

◆ name()

std::string disabled_rl::name ( )
inlineoverridevirtual

Reimplemented from Orbital_change_RL.

◆ nuclear_dmdt()

virtual double Orbital_change_RL::nuclear_dmdt ( _UNUSED Star s,
_UNUSED Binstar b 
)
inlineprotectedvirtualinherited

Rate of nuclear mass transfer

Parameters
spointer to the Star that is losing mass
bpointer to the binary
Returns
dm/dt or thrown an error
Exceptions
rl_errorif the method is not implemented

Reimplemented in Hurley_rl.

◆ outcome_collision() [1/2]

virtual int Orbital_change_RL::outcome_collision ( _UNUSED Binstar b)
inlineprotectedvirtualinherited

Set binary mix or common evelope to true depending on the stellar bse phases in case of collision at the pericenter

Parameters
bPointer to the binary
Returns
EXIT_SUCCESS

Reimplemented in Hurley_rl.

◆ outcome_collision() [2/2]

virtual int Orbital_change_RL::outcome_collision ( _UNUSED Star donor,
_UNUSED Star accretor,
_UNUSED Binstar b 
)
inlineprotectedvirtualinherited

Set binary mix or common evelope to true depending on the stellar bse phases in case of collision at the pericenter

Parameters
bPointer to the binary
Returns
EXIT_SUCCESS

◆ outcome_double_RLO()

virtual int Orbital_change_RL::outcome_double_RLO ( _UNUSED Binstar b)
inlineprotectedvirtualinherited

Utilities.

Set binary mix or common evelope to true depending on the stellar bse phases in case of both stars are overfilling the RL

Parameters
bPointer to the binary
Returns
EXIT_SUCCESS

Reimplemented in Hurley_rl.

◆ Register()

void Orbital_change_RL::Register ( Orbital_change_RL ptr,
const std::string &  _name 
)
inlineprotectedinherited

◆ reset_DM()

int Orbital_change_RL::reset_DM ( )
inlineprotectedinherited

◆ reset_swallowed() [1/2]

int Orbital_change_RL::reset_swallowed ( )
inlineprotectedinherited

◆ reset_swallowed() [2/2]

int Orbital_change_RL::reset_swallowed ( int  starID)
inlineprotectedinherited

◆ RLO()

virtual void Orbital_change_RL::RLO ( _UNUSED Star donor,
_UNUSED Star accretor,
_UNUSED Binstar b 
)
inlineprotectedvirtualinherited

Actual RocheLobe Overflow process

Parameters
donorPointer to the star that is overflowing the RocheLobe
accretorPointer to the star that is accreting mass
bPointer to the binary

◆ set_comenv()

void Orbital_change_RL::set_comenv ( )
inlineprotectedinherited

◆ set_DM()

int Orbital_change_RL::set_DM ( double  DM,
int  starID 
)
inlineprotectedinherited

◆ set_is_colliding()

void Orbital_change_RL::set_is_colliding ( )
inlineprotectedinherited

◆ set_is_RLO_happening()

void Orbital_change_RL::set_is_RLO_happening ( )
inlineprotectedinherited

◆ set_mix()

void Orbital_change_RL::set_mix ( )
inlineprotectedinherited

◆ set_options() [1/2]

virtual void Orbital_change::set_options ( _UNUSED IO _io)
inlinevirtualinherited

◆ set_options() [2/2]

void Orbital_change_RL::set_options ( IO _io)
inlineoverrideinherited

◆ set_swallowed()

int Orbital_change_RL::set_swallowed ( int  starID)
inlineprotectedinherited

◆ speciale_evolve()

int Orbital_change_RL::speciale_evolve ( _UNUSED Binstar b)
overridevirtualinherited

Mass transfer.

Reimplemented from Orbital_change.

◆ thermal_dmdt()

virtual double Orbital_change_RL::thermal_dmdt ( _UNUSED Star s,
_UNUSED Binstar b 
)
inlineprotectedvirtualinherited

Rate of nuclear mass transfer

Parameters
spointer to the Star that is losing mass
bpointer to the binary
Returns
dm/dt or thrown an error
Exceptions
rl_errorif the method is not implemented

Reimplemented in Hurley_rl.

◆ thermal_nuclear_accreted_mass()

virtual double Orbital_change_RL::thermal_nuclear_accreted_mass ( _UNUSED double  DM_donor,
_UNUSED Star donor,
_UNUSED Star accretor,
_UNUSED Binstar b 
)
inlineprotectedvirtualinherited
Parameters
donor
accretor
b
Returns

Reimplemented in Hurley_rl, and Hurley_rl_bse.

◆ unset_comenv()

void Orbital_change_RL::unset_comenv ( )
inlineprotectedinherited

◆ unset_is_colliding()

void Orbital_change_RL::unset_is_colliding ( )
inlineprotectedinherited

◆ unset_is_RLO_happening()

void Orbital_change_RL::unset_is_RLO_happening ( )
inlineprotectedinherited

◆ unset_mix()

void Orbital_change_RL::unset_mix ( )
inlineprotectedinherited

Member Data Documentation

◆ _disabled_rl

disabled_rl disabled_rl::_disabled_rl
static

◆ _DM

double Orbital_change_RL::_DM[2] ={0,0}
privateinherited

◆ _is_colliding

bool Orbital_change_RL::_is_colliding =false
privateinherited

◆ _is_RLO_happening

bool Orbital_change_RL::_is_RLO_happening =false
privateinherited

◆ _is_swallowed

bool Orbital_change_RL::_is_swallowed[2] ={false, false}
privateinherited

Array of bool corresponding to the ID of stars in binary. If true, the star has been swallowed through the RLO

◆ comenv

bool Orbital_change_RL::comenv = false
privateinherited

◆ mix

bool Orbital_change_RL::mix = false
privateinherited

◆ mt_stability

MTstability* Orbital_change_RL::mt_stability
protectedinherited

◆ novae

bool Orbital_change_RL::novae =false
inherited

◆ super_eddington

bool Orbital_change_RL::super_eddington =false
inherited

◆ svlog

SevnLogging Orbital_change::svlog
protectedinherited

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