SlowDown Algorithmic Regularization (SDAR)
Algorithmic Regularization with slowdown method for integrating few-body motions
H4::ARInformation< Tparticle > Class Template Reference

contain group information More...

#include <ar_information.h>

Inheritance diagram for H4::ARInformation< Tparticle >:
[legend]
Collaboration diagram for H4::ARInformation< Tparticle >:
[legend]

Public Member Functions

 ARInformation ()
 
bool checkParams ()
 check whether parameters values are correct More...
 
void printColumnTitle (std::ostream &_fout, const int _width=20)
 print titles of class members using column style More...
 
void printColumn (std::ostream &_fout, const int _width=20)
 print data of class members using column style More...
 
void reserveMem (const int _nmax)
 reserve memory More...
 
void clear ()
 
void addParticlesAndCopyBinaryTree (COMM::ParticleGroup< Tparticle, ParticleH4< Tparticle >> &_particles, AR::BinaryTree< Tparticle > &_bin)
 Initialize group of particles from a binarytree. More...
 
int getTwoBranchParticleIndexOriginFromBinaryTree (int *_particle_index_origin_output, Tparticle *_first_particle_address)
 get two branch particle index More...
 
void getDrDv (Float &_dr2, Float &_drdv, Tparticle &_p1, Tparticle &_p2)
 get dr * dv for two particles More...
 
- Public Member Functions inherited from AR::Information< Tparticle, ParticleH4< Tparticle > >
 Information ()
 

a list of binary tree that contain the hierarchical orbital parameters of the particle group.

More...
 
bool checkParams ()
 check whether parameters values are correct initialized More...
 
void reserveMem (const int _nmax)
 reserve memory of binarytree list More...
 
BinaryTree< Tparticle > & getBinaryTreeRoot () const
 get the root of binary tree More...
 
Float calcDsElliptic (BinaryTree< Tparticle > &_bin, const Float &_G)
 
Float calcDsHyperbolic (BinaryTree< Tparticle > &_bin, const Float &_G)
 
void calcDsMinKeplerIter (Float &_ds_over_ebin_min_bin, Float &_ds_min_bin, Float &_ds_min_hyp, Float &_etot_sd, const Float &_G, const Float &_nest_sd_up, BinaryTree< Tparticle > &_bin, const int _intergrator_order)
 iteration function to calculate average kepler ds for a binary tree More...
 
Float calcDsKeplerBinaryTree (BinaryTree< Tparticle > &_bin, const int _int_order, const Float &_G, const Float &_ds_scale)
 calculate average kepler ds iterately for a binary tree More...
 
void calcDsAndStepOption (const int _int_order, const Float &_G, const Float &_ds_scale)
 calculate ds from the inner most binary with minimum period, determine the fix step option More...
 
void generateBinaryTree (COMM::ParticleGroup< Tparticle, ParticleH4< Tparticle > > &_particles, const Float _G)
 generate binary tree for the particle group More...
 
bool checkAndSetBinaryPairIDIter (BinaryTree< Tparticle > &_bin, const bool _reset_flag)
 check binary tree member pair id, if consisent, return ture. otherwise set the member pair id More...
 
void clear ()
 clear function More...
 
void printColumnTitle (std::ostream &_fout, const int _width=20)
 print titles of class members using column style More...
 
void printColumn (std::ostream &_fout, const int _width=20)
 print data of class members using column style More...
 
void writeBinary (FILE *_fout) const
 write class data to file with binary format More...
 
void readBinary (FILE *_fin)
 read class data to file with binary format More...
 

Public Attributes

Float dt_limit
 
COMM::List< int > particle_index
 

hermite time step limit for this group

More...
 
Float vcm_record [3]
 
- Public Attributes inherited from AR::Information< Tparticle, ParticleH4< Tparticle > >
Float ds
 
Float time_offset
 

initial step size for integration

More...
 
Float r_break_crit
 

offset of time to obtain real physical time (real time = TimeTransformedSymplecticIntegrator:time_ + info.time_offset)

More...
 
FixStepOption fix_step_option
 
COMM::List< BinaryTree< Tparticle > > binarytree
 

fix step option for integration

More...
 

Detailed Description

template<class Tparticle>
class H4::ARInformation< Tparticle >

contain group information

Constructor & Destructor Documentation

◆ ARInformation()

template<class Tparticle >
H4::ARInformation< Tparticle >::ARInformation ( )
inline

Member Function Documentation

◆ addParticlesAndCopyBinaryTree()

template<class Tparticle >
void H4::ARInformation< Tparticle >::addParticlesAndCopyBinaryTree ( COMM::ParticleGroup< Tparticle, ParticleH4< Tparticle >> &  _particles,
AR::BinaryTree< Tparticle > &  _bin 
)
inline

Initialize group of particles from a binarytree.

Add particles to local, copy Keplertree to local and relink the leaf particle address to local _particles data Make sure the original frame is used for particles linked in _bin

Parameters
[in]_particlesparticle group to add particles
[in]_binBinary tree root contain member particles
Here is the call graph for this function:

◆ checkParams()

template<class Tparticle >
bool H4::ARInformation< Tparticle >::checkParams ( )
inline

check whether parameters values are correct

Returns
true: all correct

◆ clear()

template<class Tparticle >
void H4::ARInformation< Tparticle >::clear ( )
inline
Here is the call graph for this function:

◆ getDrDv()

template<class Tparticle >
void H4::ARInformation< Tparticle >::getDrDv ( Float _dr2,
Float _drdv,
Tparticle &  _p1,
Tparticle &  _p2 
)
inline

get dr * dv for two particles

Parameters
[out]_dr2dr*dr
[out]_drdvdr*dv
[in]_p1particle 1
[in]_p2particle 2

◆ getTwoBranchParticleIndexOriginFromBinaryTree()

template<class Tparticle >
int H4::ARInformation< Tparticle >::getTwoBranchParticleIndexOriginFromBinaryTree ( int *  _particle_index_origin_output,
Tparticle *  _first_particle_address 
)
inline

get two branch particle index

Parameters
[out]_particle_index_origin_outputorigin index of particles for output
[in]_first_particle_addressparticle begining address to calculate index
Returns
the split index to separate two branches, index is the right boundary
Here is the call graph for this function:

◆ printColumn()

template<class Tparticle >
void H4::ARInformation< Tparticle >::printColumn ( std::ostream &  _fout,
const int  _width = 20 
)
inline

print data of class members using column style

print data of class members in one line for column style. Notice no newline is printed at the end

Parameters
[out]_foutstd::ostream output object
[in]_widthprint width (defaulted 20)
Here is the call graph for this function:

◆ printColumnTitle()

template<class Tparticle >
void H4::ARInformation< Tparticle >::printColumnTitle ( std::ostream &  _fout,
const int  _width = 20 
)
inline

print titles of class members using column style

print titles of class members in one line for column style

Parameters
[out]_foutstd::ostream output object
[in]_widthprint width (defaulted 20)
Here is the call graph for this function:

◆ reserveMem()

template<class Tparticle >
void H4::ARInformation< Tparticle >::reserveMem ( const int  _nmax)
inline

reserve memory

Here is the call graph for this function:

Member Data Documentation

◆ dt_limit

template<class Tparticle >
Float H4::ARInformation< Tparticle >::dt_limit

◆ particle_index

template<class Tparticle >
COMM::List<int> H4::ARInformation< Tparticle >::particle_index

hermite time step limit for this group

◆ vcm_record

template<class Tparticle >
Float H4::ARInformation< Tparticle >::vcm_record[3]

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