SlowDown Algorithmic Regularization (SDAR)
Algorithmic Regularization with slowdown method for integrating few-body motions
AR::SymplecticStep Class Reference

class to manager symplectic KD steps More...

#include <symplectic_step.h>

Public Member Functions

 SymplecticStep ()
 constructor More...
 
void clear ()
 clear function More...
 
void initialSymplecticCofficients (const int _n)
 Symplectic coefficients generation for input order. More...
 
Float getCK (const int _k) const
 get coefficient c_k More...
 
Float getDK (const int _k) const
 get coefficient d_k More...
 
int getCDPairSize () const
 get cd_pair array size More...
 
int getSortCumSumCKIndex (const int _k) const
 get sorted cumsum CK index More...
 
Float getSortCumSumCK (const int _k) const
 get sorted cumsum CK More...
 
Float calcStepModifyFactorFromErrorRatio (const Float _error_new_over_old)
 calculate the step modify factor based on the order scaling and input energy error ratio More...
 
Float calcErrorRatioFromStepModifyFactor (const Float _step_new_over_old)
 calculate the enstep modify factor based on the order scaling and input energy error ratio More...
 
int getOrder () const
 get Symplectic order More...
 
void writeBinary (FILE *_fout)
 write class data with BINARY format More...
 
void readBinary (FILE *_fin)
 read class data with BINARY format and initial the array More...
 
void print (std::ostream &_fout) const
 print parameters More...
 

Detailed Description

class to manager symplectic KD steps

The Yoshida (1990) type symplectic methods

Constructor & Destructor Documentation

◆ SymplecticStep()

AR::SymplecticStep::SymplecticStep ( )
inline

constructor

Member Function Documentation

◆ calcErrorRatioFromStepModifyFactor()

Float AR::SymplecticStep::calcErrorRatioFromStepModifyFactor ( const Float  _step_new_over_old)
inline

calculate the enstep modify factor based on the order scaling and input energy error ratio

Parameters
[in]_step_new_over_oldstep size modify ratio (new step size / old)

◆ calcStepModifyFactorFromErrorRatio()

Float AR::SymplecticStep::calcStepModifyFactorFromErrorRatio ( const Float  _error_new_over_old)
inline

calculate the step modify factor based on the order scaling and input energy error ratio

Parameters
[in]_error_new_over_oldintegration error change ratio expected to reach after modify step size (expected new error / old error)

◆ clear()

void AR::SymplecticStep::clear ( )
inline

clear function

Here is the caller graph for this function:

◆ getCDPairSize()

int AR::SymplecticStep::getCDPairSize ( ) const
inline

get cd_pair array size

◆ getCK()

Float AR::SymplecticStep::getCK ( const int  _k) const
inline

get coefficient c_k

◆ getDK()

Float AR::SymplecticStep::getDK ( const int  _k) const
inline

get coefficient d_k

◆ getOrder()

int AR::SymplecticStep::getOrder ( ) const
inline

get Symplectic order

Here is the caller graph for this function:

◆ getSortCumSumCK()

Float AR::SymplecticStep::getSortCumSumCK ( const int  _k) const
inline

get sorted cumsum CK

◆ getSortCumSumCKIndex()

int AR::SymplecticStep::getSortCumSumCKIndex ( const int  _k) const
inline

get sorted cumsum CK index

◆ initialSymplecticCofficients()

void AR::SymplecticStep::initialSymplecticCofficients ( const int  _n)
inline

Symplectic coefficients generation for input order.

Parameters
[in]_nsymplectic integrator order, should be even, otherwise reduce to closest even number; if 0, not set; if negative, use second solution from Yoshida (1990), but only -6 and -8 works
Here is the call graph for this function:
Here is the caller graph for this function:

◆ print()

void AR::SymplecticStep::print ( std::ostream &  _fout) const
inline

print parameters

Here is the caller graph for this function:

◆ readBinary()

void AR::SymplecticStep::readBinary ( FILE *  _fin)
inline

read class data with BINARY format and initial the array

Parameters
[in]_finfile IO for read
Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeBinary()

void AR::SymplecticStep::writeBinary ( FILE *  _fout)
inline

write class data with BINARY format

Parameters
[in]_foutfile IO for write
Here is the caller graph for this function:

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