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

#include <Orbit.h>

Inheritance diagram for Hurley_SNKicks:
Orbital_change_SNKicks Orbital_change

Public Member Functions

 Hurley_SNKicks (bool reg=true)
 
 ~Hurley_SNKicks ()
 
Hurley_SNKicksinstance () override
 
std::string name () override
 
void init (_UNUSED Binstar *b) override
 
double DA (_UNUSED Binstar *b, _UNUSED int procID) override
 
double DE (_UNUSED Binstar *b, _UNUSED int procID) override
 
double get_cos_nu () const
 
double get_vcom () const
 
virtual double DM (_UNUSED Binstar *b, _UNUSED int procID, _UNUSED int starID)
 
virtual double DAngMomSpin (_UNUSED Binstar *b, _UNUSED int procID, _UNUSED int starID)
 
virtual bool is_process_ongoing ()
 Other function that return useful information. More...
 
virtual int speciale_evolve (_UNUSED Binstar *b)
 
virtual void set_options (_UNUSED IO *_io)
 

Static Public Member Functions

static Orbital_change_SNKicksInstance (const std::string &name)
 

Static Public Attributes

static Hurley_SNKicks _Hurley_SNKicks
 

Protected Member Functions

int kick_star (Star *sn, Star *other, Binstar *binstar, double &a_fin, double &ecc_fin)
 
void Register (Orbital_change_SNKicks *ptr, const std::string &_name)
 
void set_cos_nu (double _cos_nu)
 
void set_vcom (double _vcom)
 

Protected Attributes

const double G = utilities::G
 
SevnLogging svlog
 

Private Member Functions

void set_DA (double DA)
 
void set_DE (double DE)
 

Static Private Member Functions

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

Private Attributes

std::uniform_real_distribution< double > _uniform_real
 
double _DA = 0
 
double _DE = 0
 
double cos_nu
 
double vcom
 

Constructor & Destructor Documentation

◆ Hurley_SNKicks()

Hurley_SNKicks::Hurley_SNKicks ( bool  reg = true)
inline

◆ ~Hurley_SNKicks()

Hurley_SNKicks::~Hurley_SNKicks ( )
inline

Member Function Documentation

◆ DA()

double Hurley_SNKicks::DA ( _UNUSED Binstar b,
_UNUSED int  procID 
)
overridevirtual

Reimplemented from Orbital_change.

◆ DAngMomSpin()

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

Reimplemented in Tides_simple, and Hurley_rl.

◆ DE()

double Hurley_SNKicks::DE ( _UNUSED Binstar b,
_UNUSED int  procID 
)
overridevirtual

Reimplemented from Orbital_change.

◆ DM()

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

Reimplemented in Orbital_change_RL.

◆ get_cos_nu()

double Orbital_change_SNKicks::get_cos_nu ( ) const
inlineinherited

◆ get_vcom()

double Orbital_change_SNKicks::get_vcom ( ) const
inlineinherited

◆ GetStaticMap()

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

◆ GetUsed()

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

◆ init()

void Hurley_SNKicks::init ( _UNUSED Binstar b)
overridevirtual

Function that set all the variable needed in the estimate of DA, DE, DM

Parameters
b

Reimplemented from Orbital_change.

◆ instance()

Hurley_SNKicks * Hurley_SNKicks::instance ( )
inlineoverridevirtual

Reimplemented from Orbital_change_SNKicks.

◆ Instance()

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

◆ is_process_ongoing()

virtual bool Orbital_change::is_process_ongoing ( )
inlinevirtualinherited

Other function that return useful information.

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

Returns

Reimplemented in disabled_tides, disabled_gw, Orbital_change_RL, disabled_rl, disabled_mix, and disabled_SNKicks.

◆ kick_star()

int Hurley_SNKicks::kick_star ( Star sn,
Star other,
Binstar binstar,
double &  a_fin,
double &  ecc_fin 
)
protected

Estimate the final orbital paratmers after a Sn kick using the Hurley+02 formalism (see Appendix A1)

Parameters
snPointer to the star that is exploding as SN
otherPointer to the other star
binstarPointer to the binary system
a_finVariable where to store the final semimajor axis
ecc_finVariable where to store the final eccentricity
Returns
EXIT_SUCCESS

‍*************** Variables **********************‍///

‍***********************************************‍///

‍***********************************************‍///

‍***********************************************‍///

‍***********************************************‍///

‍***********************************************‍///

New velocity

‍***********************************************‍///

‍********* Estimate new orbital parameters *********‍/

‍***********************************************‍///

◆ name()

std::string Hurley_SNKicks::name ( )
inlineoverridevirtual

Reimplemented from Orbital_change_SNKicks.

◆ Register()

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

◆ set_cos_nu()

void Orbital_change_SNKicks::set_cos_nu ( double  _cos_nu)
inlineprotectedinherited

◆ set_DA()

void Hurley_SNKicks::set_DA ( double  DA)
inlineprivate

◆ set_DE()

void Hurley_SNKicks::set_DE ( double  DE)
inlineprivate

◆ set_options()

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

◆ set_vcom()

void Orbital_change_SNKicks::set_vcom ( double  _vcom)
inlineprotectedinherited

◆ speciale_evolve()

virtual int Orbital_change::speciale_evolve ( _UNUSED Binstar b)
inlinevirtualinherited

Function to be called (if needed) in the special_evolve function of Processes. Each Process can have its particular special evolve. See the proper documentation.

Parameters
bPointer to the binary.
Returns

Reimplemented in Orbital_change_RL.

Member Data Documentation

◆ _DA

double Hurley_SNKicks::_DA = 0
private

◆ _DE

double Hurley_SNKicks::_DE = 0
private

◆ _Hurley_SNKicks

Hurley_SNKicks Hurley_SNKicks::_Hurley_SNKicks
static

◆ _uniform_real

std::uniform_real_distribution<double> Hurley_SNKicks::_uniform_real
private

◆ cos_nu

double Orbital_change_SNKicks::cos_nu
privateinherited

◆ G

const double Hurley_SNKicks::G = utilities::G
protected

◆ svlog

SevnLogging Orbital_change::svlog
protectedinherited

◆ vcom

double Orbital_change_SNKicks::vcom
privateinherited

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