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

hard integrator More...

#include <hard.hpp>

Collaboration diagram for HardIntegrator:
[legend]

Public Member Functions

 HardIntegrator ()
 

indicator whether initialization is done

More...
 
bool checkParams ()
 check parameters More...
 
template<class Tsoft >
void initial (PtclH4 *_ptcl, const PS::S32 _n_ptcl, Tsoft *_ptcl_artificial, const PS::S32 _n_group, const PS::S32 *_n_member_in_group, HardManager *_manager, const PS::F64 _time_origin)
 initial integration More...
 
AR::InterruptBinary< PtclHard > & integrateToTime (const PS::F64 _time_end)
 Integrate system to time. More...
 
void driftClusterCMRecordGroupCMDataAndWriteBack (const PS::F64 _time_end)
 drift c.m. particle of the cluster record group c.m. in group_data and write back data to original particle array More...
 
void printInterruptBinaryInfo (std::ostream &_fout) const
 print interrupt binary information More...
 
void clear ()
 clear function More...
 

Public Attributes

H4::HermiteIntegrator< PtclHard, PtclH4, HermitePerturber, ARPerturber, HermiteInteraction, ARInteraction, HermiteInformationh4_int
 
AR::TimeTransformedSymplecticIntegrator< PtclHard, PtclH4, ARPerturber, ARInteraction, H4::ARInformation< PtclHard > > sym_int
 

hermite integrator

More...
 
HardManagermanager
 

AR integrator

More...
 
PS::ReallocatableArray< TidalTensortidal_tensor
 

hard manager

More...
 
PS::F64 time_origin
 

tidal tensor array

More...
 
PtclH4ptcl_origin
 

origin physical time

More...
 
AR::InterruptBinary< PtclHardinterrupt_binary
 

original particle array

More...
 
bool use_sym_int
 

interrupt binary address

More...
 
bool is_initialized
 

use AR integrator flag

More...
 

Detailed Description

hard integrator

Constructor & Destructor Documentation

◆ HardIntegrator()

HardIntegrator::HardIntegrator ( )
inline

indicator whether initialization is done

initializer

Here is the call graph for this function:

Member Function Documentation

◆ checkParams()

bool HardIntegrator::checkParams ( )
inline

check parameters

Here is the caller graph for this function:

◆ clear()

void HardIntegrator::clear ( )
inline

clear function

Here is the call graph for this function:

◆ driftClusterCMRecordGroupCMDataAndWriteBack()

void HardIntegrator::driftClusterCMRecordGroupCMDataAndWriteBack ( const PS::F64  _time_end)
inline

drift c.m. particle of the cluster record group c.m. in group_data and write back data to original particle array

Parameters
[in]_time_endintegration ending time (initial time is fixed to 0)
Here is the call graph for this function:

◆ initial()

template<class Tsoft >
void HardIntegrator::initial ( PtclH4 _ptcl,
const PS::S32  _n_ptcl,
Tsoft *  _ptcl_artificial,
const PS::S32  _n_group,
const PS::S32 *  _n_member_in_group,
HardManager _manager,
const PS::F64  _time_origin 
)
inline

initial integration

Parameters
[in,out]_ptclparticle array
[in]_n_ptclparticle number in cluster
[in,out]_ptcl_artificialartificial particle array, c.m. are kicked
[in]_n_groupgroup number in cluster
[in]_n_member_in_groupnumber of members in each group
[in]_managerhard manager
[in]_time_origininitial physical time
Here is the call graph for this function:

◆ integrateToTime()

AR::InterruptBinary<PtclHard>& HardIntegrator::integrateToTime ( const PS::F64  _time_end)
inline

Integrate system to time.

Parameters
[in]_time_endtime to integrate
Returns
interrupt binary address, if no return NULL
Here is the call graph for this function:

◆ printInterruptBinaryInfo()

void HardIntegrator::printInterruptBinaryInfo ( std::ostream &  _fout) const
inline

print interrupt binary information

Parameters
[out]_foutstd::ostream output object
Here is the call graph for this function:

Member Data Documentation

◆ h4_int

H4::HermiteIntegrator<PtclHard, PtclH4, HermitePerturber, ARPerturber, HermiteInteraction, ARInteraction, HermiteInformation> HardIntegrator::h4_int

◆ interrupt_binary

AR::InterruptBinary<PtclHard> HardIntegrator::interrupt_binary

original particle array

◆ is_initialized

bool HardIntegrator::is_initialized

use AR integrator flag

◆ manager

HardManager* HardIntegrator::manager

AR integrator

◆ ptcl_origin

PtclH4* HardIntegrator::ptcl_origin

origin physical time

◆ sym_int

AR::TimeTransformedSymplecticIntegrator<PtclHard, PtclH4, ARPerturber, ARInteraction, H4::ARInformation<PtclHard> > HardIntegrator::sym_int

hermite integrator

◆ tidal_tensor

PS::ReallocatableArray<TidalTensor> HardIntegrator::tidal_tensor

hard manager

◆ time_origin

PS::F64 HardIntegrator::time_origin

tidal tensor array

◆ use_sym_int

bool HardIntegrator::use_sym_int

interrupt binary address


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