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

#include <BinaryProperty.h>

Inheritance diagram for Period:
Derived_Property_Binary BinaryProperty

Public Types

typedef std::map< std::string, size_t > _PrintMap
 

Public Member Functions

 Period (bool reg=true)
 
std::string name () override
 
std::string units () override
 
PeriodInstance () override
 
int evolve (_UNUSED Binstar *binstar) override
 
int getID () const override
 
virtual void resynch (_UNUSED const double &dt, _UNUSED bool set0=true)
 
virtual void check_boundaries (_UNUSED double *val, _UNUSED Binstar *binstar)
 
virtual int special_evolve (_UNUSED Binstar *binstar)
 
double get_variation (Binstar *binstar) const
 
virtual int set_broken (_UNUSED Binstar *binstar)
 
virtual double get (_UNUSED const Binstar *b=nullptr)
 
double get_0 (_UNUSED const Binstar *b=nullptr)
 
virtual void restore ()
 

Static Public Attributes

static size_t ID
 
static Period _period
 
static std::vector< BinaryProperty * > all
 
static _PrintMap PrintMap
 

Protected Member Functions

double calc_period (const double &a, const double &Mtot)
 
void Register (BinaryProperty *_p, size_t *id, const std::string &_name)
 
bool isbad (const double &val)
 
virtual void set (const double &a)
 
virtual void set_0 (const double &a)
 

Protected Attributes

std::uniform_real_distribution< double > _uniform_real
 
SevnLogging svlog
 
double V
 
double V0
 

Private Member Functions

void init_derived (_UNUSED Binstar *binstar) override
 
void init (_UNUSED const double par) override
 
virtual bool amiderived ()
 

Static Private Attributes

static size_t size = 0
 

Member Typedef Documentation

◆ _PrintMap

typedef std::map<std::string,size_t> BinaryProperty::_PrintMap
inherited

Constructor & Destructor Documentation

◆ Period()

Period::Period ( bool  reg = true)
inline

Member Function Documentation

◆ amiderived()

virtual bool Derived_Property_Binary::amiderived ( )
inlineprivatevirtualinherited

◆ calc_period()

double Period::calc_period ( const double &  a,
const double &  Mtot 
)
inlineprotected

Estimate the binary period (Kepler Third Law)

Parameters
aSemimajor axis in Rsun
MtotTotal mass of the binary (M1+M2) in Msun
Returns
Period in years

◆ check_boundaries()

virtual void BinaryProperty::check_boundaries ( _UNUSED double *  val,
_UNUSED Binstar binstar 
)
inlinevirtualinherited

◆ evolve()

int Period::evolve ( _UNUSED Binstar binstar)
overridevirtual

Reimplemented from BinaryProperty.

◆ get()

virtual double BinaryProperty::get ( _UNUSED const Binstar b = nullptr)
inlinevirtualinherited

Reimplemented in BJIT_Property.

◆ get_0()

double BinaryProperty::get_0 ( _UNUSED const Binstar b = nullptr)
inlineinherited

◆ get_variation()

double BinaryProperty::get_variation ( Binstar binstar) const
inherited

Get the variation expected for a given property just summing all the DVs due to all processes. This is equivalent to evolve, but without checks and without changing V0 and V

Parameters
binstarPointer to the binary from wich to take the processes variations
Returns
The DV for this property considering all the DV from the processes

◆ getID()

int Period::getID ( ) const
inlineoverridevirtual

Reimplemented from BinaryProperty.

◆ init()

void Derived_Property_Binary::init ( _UNUSED const double  par)
inlineoverrideprivatevirtualinherited

Reimplemented from BinaryProperty.

◆ init_derived()

void Derived_Property_Binary::init_derived ( _UNUSED Binstar binstar)
inlineoverrideprivatevirtualinherited

Reimplemented from BinaryProperty.

◆ Instance()

Period * Period::Instance ( )
inlineoverridevirtual

Reimplemented from BinaryProperty.

◆ isbad()

bool BinaryProperty::isbad ( const double &  val)
inlineprotectedinherited

◆ name()

std::string Period::name ( )
inlineoverridevirtual

Reimplemented from BinaryProperty.

◆ Register()

void BinaryProperty::Register ( BinaryProperty _p,
size_t *  id,
const std::string &  _name 
)
inlineprotectedinherited

◆ restore()

virtual void BinaryProperty::restore ( )
inlinevirtualinherited

Reimplemented in BJIT_Property.

◆ resynch()

virtual void BinaryProperty::resynch ( _UNUSED const double &  dt,
_UNUSED bool  set0 = true 
)
inlinevirtualinherited

◆ set()

virtual void BinaryProperty::set ( const double &  a)
inlineprotectedvirtualinherited

Reimplemented in BJIT_Property.

◆ set_0()

virtual void BinaryProperty::set_0 ( const double &  a)
inlineprotectedvirtualinherited

◆ set_broken()

virtual int BinaryProperty::set_broken ( _UNUSED Binstar binstar)
inlinevirtualinherited

Reimplemented in BWorldtime, and BTimestep.

◆ special_evolve()

virtual int BinaryProperty::special_evolve ( _UNUSED Binstar binstar)
inlinevirtualinherited

Reimplemented in BWorldtime, BTimestep, and BEvent.

◆ units()

std::string Period::units ( )
inlineoverridevirtual

Reimplemented from BinaryProperty.

Member Data Documentation

◆ _period

Period Period::_period
static

◆ _uniform_real

std::uniform_real_distribution<double> BinaryProperty::_uniform_real
protectedinherited

◆ all

std::vector< BinaryProperty * > BinaryProperty::all
staticinherited

◆ ID

size_t Period::ID
static

◆ PrintMap

BinaryProperty::_PrintMap BinaryProperty::PrintMap
staticinherited

◆ size

size_t BinaryProperty::size = 0
staticprivateinherited

Instruction for adding new property BPROP 1- Add the size_t BPROP::ID 2- Initialise the static (fake) instance BPROP BPROP::_bprop. NB: take care of the order of initilisation. The properties will be evolved exactly in the same order in which they are initialised here Define: @size: total number of instances of BinaryProperty and derived classes (both fake and real). @all: vector containing all the (pointers) to the BinaryProperty. @PrintMap: map containing the pair (BinaryProperty_name, BinaryProperty_id) for output purpose. Note all and PrintMap are filled during the instantiation of the fake Processes (see below)

◆ svlog

SevnLogging BinaryProperty::svlog
protectedinherited

◆ V

double BinaryProperty::V
protectedinherited

◆ V0

double BinaryProperty::V0
protectedinherited

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