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

#include <Orbit.h>

Inheritance diagram for Peters_gw:
Orbital_change_GW Orbital_change

Public Member Functions

virtual void init (_UNUSED Binstar *b)
 
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_GWInstance (const std::string &name)
 

Protected Member Functions

double function_core (double M1, double M2, double a)
 
double Peters_GW_de (double M1, double M2, double a, double e)
 
double Peters_GW_da (double M1, double M2, double a, double e)
 
void Register (Orbital_change_GW *ptr, const std::string &_name)
 

Protected Attributes

const double G3_over_c5 =utilities::G3_over_c5
 
const double K_a =64./5.
 
const double c2_a =73./24.
 
const double c4_a =37./96.
 
const double K_e =304./15.
 
const double c2_e =121./304.
 
SevnLogging svlog
 

Private Member Functions

 Peters_gw (bool reg=true)
 
 ~Peters_gw ()
 
Peters_gwinstance () override
 
std::string name () override
 
double DA (_UNUSED Binstar *b, _UNUSED int procID) override
 
double DE (_UNUSED Binstar *b, _UNUSED int procID) override
 

Static Private Member Functions

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

Static Private Attributes

static Peters_gw _peters_gw
 

Constructor & Destructor Documentation

◆ Peters_gw()

Peters_gw::Peters_gw ( bool  reg = true)
inlineprivate

◆ ~Peters_gw()

Peters_gw::~Peters_gw ( )
inlineprivate

Member Function Documentation

◆ DA()

double Peters_gw::DA ( _UNUSED Binstar b,
_UNUSED int  procID 
)
overrideprivatevirtual

Change in semimajor axis obtained using Eq. 5.6 in Peters64

Parameters
bbinary sistem
procIDId of the process calling the function
Returns
Variation of semimajor axis in the time interval stored in BTimestep

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 Peters_gw::DE ( _UNUSED Binstar b,
_UNUSED int  procID 
)
overrideprivatevirtual

Change in eccentricity using Eq. 5.7 in Peters64

Parameters
bbinary sistem
procIDId of the process calling the function
Returns
Variation of eccentricity in the time interval stored in BTimestep

Eq.5.7 in Peters64

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.

◆ function_core()

double Peters_gw::function_core ( double  M1,
double  M2,
double  a 
)
inlineprotected

Core function both for estimate of edot/e and adot/a (see below)

Parameters
M1Mass of the first star [Msun]
M2Mass of the second star [Msun]
asemi-major axis [Rsun]
Returns
G^3/c^5 * (M1*M2)*(M1+M2)/a^4

◆ GetStaticMap()

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

◆ GetUsed()

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

◆ init()

virtual void Orbital_change::init ( _UNUSED Binstar b)
inlinevirtualinherited

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

Parameters
b

Reimplemented in Orbital_change_RL, Hurley_rl, Hurley_SNKicks, and Tides_simple.

◆ instance()

Peters_gw * Peters_gw::instance ( )
inlineoverrideprivatevirtual

Reimplemented from Orbital_change_GW.

◆ Instance()

Orbital_change_GW * Orbital_change_GW::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.

◆ name()

std::string Peters_gw::name ( )
inlineoverrideprivatevirtual

Reimplemented from Orbital_change_GW.

◆ Peters_GW_da()

double Peters_gw::Peters_GW_da ( double  M1,
double  M2,
double  a,
double  e 
)
inlineprotected

Estimate of semimajor axis time derivative over current semimajor axis from Eq. 5.6 in Peters64

Parameters
M1Mass of the first star
M2Mass of the second star
asemi-major axis [Rsun]
eeccentricity
Returns
adot/a = -64/5 (G^3/c^5 M1* M2* (M1 +M2))/a^4 (1 + 73/24 * e^2 + 37/96 * e^4 )/(1-e*e)^(7/2)

◆ Peters_GW_de()

double Peters_gw::Peters_GW_de ( double  M1,
double  M2,
double  a,
double  e 
)
inlineprotected

Estimate of the eccentricity time derivative over current eccentricity from Eq. 5.7 in Peters64

Parameters
M1Mass of the first star [Msun]
M2Mass of the second star [Msun]
asemi-major axis [Rsun]
eeccentricity
Returns
edot/e = -304/15 (G^3/c^5 M1* M2* (M1 +M2))/a^4 (1 + 121/24 * e^2 )/(1-e*e)^(5/2)

◆ Register()

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

◆ set_options()

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

◆ 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

◆ _peters_gw

Peters_gw Peters_gw::_peters_gw
staticprivate

◆ c2_a

const double Peters_gw::c2_a =73./24.
protected

◆ c2_e

const double Peters_gw::c2_e =121./304.
protected

◆ c4_a

const double Peters_gw::c4_a =37./96.
protected

◆ G3_over_c5

const double Peters_gw::G3_over_c5 =utilities::G3_over_c5
protected

◆ K_a

const double Peters_gw::K_a =64./5.
protected

◆ K_e

const double Peters_gw::K_e =304./15.
protected

◆ svlog

SevnLogging Orbital_change::svlog
protectedinherited

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