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

#include <cluster_list.hpp>

Public Member Functions

void initialize ()
 
template<class Tpsoft , class Tepj >
PS::S32 checkNeighborWithVelocity (PS::S32 *_index, Tpsoft &_pi, Tepj *_pb, const PS::S32 _nb, const PS::F64 _G, const PS::F64 _radius_factor)
 identify whether the neighbor satisfy velocity criterion More...
 
template<class Tsys , class Ttree , class Tepj >
void searchNeighborOMP (Tsys &sys, Ttree &tree, const PS::F64ort pos_domain[], const PS::F64 _G, const PS::F64 _radius_factor)
 search neighbors and separate isolated and multiple clusters More...
 
template<class Tsys >
void checkPtclCluster (const Tsys &sys)
 
void searchClusterLocal ()
 
template<class Tsys >
void checkMediator (const Tsys &sys)
 
void setIdClusterLocal ()
 
const PS::ReallocatableArray< PS::S32 > & getAdrSysOneCluster ()
 
const PS::ReallocatableArray< PS::S32 > & getAdrSysConnectClusterSend ()
 get the address list of ptcl need to send in connected clusters More...
 

Public Attributes

PS::ReallocatableArray< PS::S32 > n_ptcl_in_multi_cluster_isolated_
 
PS::ReallocatableArray< PS::S32 > n_ptcl_in_multi_cluster_isolated_offset_
 
PS::ReallocatableArray< Mediatormediator_sorted_id_cluster_
 
PS::ReallocatableArray< PtclCommptcl_recv_
 
PS::ReallocatableArray< PS::S32 > adr_sys_multi_cluster_isolated_
 

Member Function Documentation

◆ checkMediator()

template<class Tsys >
void SearchCluster::checkMediator ( const Tsys &  sys)
inline

◆ checkNeighborWithVelocity()

template<class Tpsoft , class Tepj >
PS::S32 SearchCluster::checkNeighborWithVelocity ( PS::S32 *  _index,
Tpsoft &  _pi,
Tepj *  _pb,
const PS::S32  _nb,
const PS::F64  _G,
const PS::F64  _radius_factor 
)
inline

identify whether the neighbor satisfy velocity criterion

Parameters
[out]_indexneighbor index pass check
[in]_piparticle i
[in]_pbneighbor particles (including self)
[in]_nbnumber of neighbors
[in]_Ggravitational constant
[in]_radius_factorradius_factor to check neighbors (peri*radius_factor)
Returns
new neighbor number
Here is the call graph for this function:

◆ checkPtclCluster()

template<class Tsys >
void SearchCluster::checkPtclCluster ( const Tsys &  sys)
inline

◆ getAdrSysConnectClusterSend()

const PS::ReallocatableArray<PS::S32>& SearchCluster::getAdrSysConnectClusterSend ( )
inline

get the address list of ptcl need to send in connected clusters

◆ getAdrSysOneCluster()

const PS::ReallocatableArray<PS::S32>& SearchCluster::getAdrSysOneCluster ( )
inline

◆ initialize()

void SearchCluster::initialize ( )
inline

◆ searchClusterLocal()

void SearchCluster::searchClusterLocal ( )
inline

◆ searchNeighborOMP()

template<class Tsys , class Ttree , class Tepj >
void SearchCluster::searchNeighborOMP ( Tsys &  sys,
Ttree &  tree,
const PS::F64ort  pos_domain[],
const PS::F64  _G,
const PS::F64  _radius_factor 
)
inline

search neighbors and separate isolated and multiple clusters

◆ setIdClusterLocal()

void SearchCluster::setIdClusterLocal ( )
inline

Member Data Documentation

◆ adr_sys_multi_cluster_isolated_

PS::ReallocatableArray<PS::S32> SearchCluster::adr_sys_multi_cluster_isolated_

◆ mediator_sorted_id_cluster_

PS::ReallocatableArray<Mediator> SearchCluster::mediator_sorted_id_cluster_

◆ n_ptcl_in_multi_cluster_isolated_

PS::ReallocatableArray<PS::S32> SearchCluster::n_ptcl_in_multi_cluster_isolated_

◆ n_ptcl_in_multi_cluster_isolated_offset_

PS::ReallocatableArray<PS::S32> SearchCluster::n_ptcl_in_multi_cluster_isolated_offset_

◆ ptcl_recv_

PS::ReallocatableArray<PtclComm> SearchCluster::ptcl_recv_

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