PeTar
N-body code for collisional gravitational systems
OrbitalSamplingManager Class Reference

orbital sampling method for counter force from binary More...

#include <orbit_sampling.hpp>

Public Member Functions

 OrbitalSamplingManager ()
 

gravitational constant

More...
 
bool checkParams ()
 check paramters More...
 
template<class Tptcl >
void createSampleParticles (Tptcl *_ptcl_artificial, COMM::BinaryTree< Tptcl > &_bin)
 create orbit sampling particles More...
 
void setParticleSplitN (const PS::S32 &_n_split)
 set particle split number More...
 
PS::S32 getParticleSplitN () const
 get particle split number More...
 
PS::S32 getParticleN () const
 get particle number More...
 
void writeBinary (FILE *_fp)
 write class data to file with binary format More...
 
void readBinary (FILE *_fin)
 read class data to file with binary format More...
 
 ~OrbitalSamplingManager ()
 destructor More...
 
OrbitalSamplingManageroperator= (const OrbitalSamplingManager &_manager)
 operator = More...
 
void print (std::ostream &_fout) const
 print parameters More...
 

Public Attributes

PS::F64 gravitational_constant
 

Detailed Description

orbital sampling method for counter force from binary

Constructor & Destructor Documentation

◆ OrbitalSamplingManager()

OrbitalSamplingManager::OrbitalSamplingManager ( )
inline

gravitational constant

initializer

◆ ~OrbitalSamplingManager()

OrbitalSamplingManager::~OrbitalSamplingManager ( )
inline

destructor

Member Function Documentation

◆ checkParams()

bool OrbitalSamplingManager::checkParams ( )
inline

check paramters

◆ createSampleParticles()

template<class Tptcl >
void OrbitalSamplingManager::createSampleParticles ( Tptcl *  _ptcl_artificial,
COMM::BinaryTree< Tptcl > &  _bin 
)
inline

create orbit sampling particles

each component have n_split_ samples with equal interval of eccentric anomaly. Mass is weighted by mean anomaly and summation is the same as binary mass.

Parameters
[in]<em>ptcl_artificialparticle array to store the sample particles, 2*n_split will be used
[in]_binbinary orbit

◆ getParticleN()

PS::S32 OrbitalSamplingManager::getParticleN ( ) const
inline

get particle number

◆ getParticleSplitN()

PS::S32 OrbitalSamplingManager::getParticleSplitN ( ) const
inline

get particle split number

◆ operator=()

OrbitalSamplingManager& OrbitalSamplingManager::operator= ( const OrbitalSamplingManager _manager)
inline

operator =

Copy function will remove the local data and also copy the particle data or the link

Here is the call graph for this function:

◆ print()

void OrbitalSamplingManager::print ( std::ostream &  _fout) const
inline

print parameters

◆ readBinary()

void OrbitalSamplingManager::readBinary ( FILE *  _fin)
inline

read class data to file with binary format

Parameters
[in]_fpFILE type file for reading
Here is the call graph for this function:

◆ setParticleSplitN()

void OrbitalSamplingManager::setParticleSplitN ( const PS::S32 &  _n_split)
inline

set particle split number

Parameters
[in]_n_splitparticle split number of orbital samples, total artificial particle number is 2*_n_split+TidalTensor::n_point+1, first TidalTensor::n_point are tidal tensor particles.
Here is the caller graph for this function:

◆ writeBinary()

void OrbitalSamplingManager::writeBinary ( FILE *  _fp)
inline

write class data to file with binary format

Parameters
[in]_fpFILE type file for output

Member Data Documentation

◆ gravitational_constant

PS::F64 OrbitalSamplingManager::gravitational_constant

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