OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <ParticleInteractLayout.h>
Classes | |
struct | pair_t |
Private Member Functions | |
void | setup () |
void | rebuild_interaction_data () |
void | rebuild_interaction_data (const bool periodicBC[2 *Dim]) |
void | swap_ghost_particles (unsigned, IpplParticleBase< ParticleInteractLayout< T, Dim, Mesh > > &) |
void | swap_ghost_particles (unsigned, IpplParticleBase< ParticleInteractLayout< T, Dim, Mesh > > &, const bool periodicBC[2 *Dim]) |
void | find_pairs (const unsigned LocalNum, const unsigned a1, const unsigned a2, const bool initLists, IpplParticleBase< ParticleInteractLayout< T, Dim, Mesh > > &PData) |
void | setMaxInteractionRadius (T maxval) |
T | getMaxLocalInteractionRadius () |
Private Attributes | |
bool | NeedGhostSwap |
bool * | InterNodeList |
bool * | SentToNodeList |
unsigned | InteractionNodes |
std::vector< std::vector< pair_t > * > | PairList |
T | InterRadius |
T | MaxGlobalInterRadius |
ParticleInterRadius_t * | InterRadiusArray |
Additional Inherited Members | |
Protected Member Functions inherited from ParticleSpatialLayout< T, Dim, UniformCartesian< Dim, T > > | |
void | setup () |
void | rebuild_layout (size_t haveLocal, PB &PData) |
size_t | swap_particles (size_t LocalNum, PB &PData) |
size_t | swap_particles (size_t LocalNum, PB &PData, const ParticleAttrib< char > &canSwap) |
size_t | short_swap_particles (size_t LocalNum, PB &PData) |
size_t | new_swap_particles (size_t LocalNum, PB &PData) |
size_t | new_swap_particles (size_t LocalNum, PB &PData, const ParticleAttrib< char > &canSwap) |
Protected Member Functions inherited from ParticleLayout< T, Dim > | |
template<class PPT , class NDI > | |
void | apply_bconds (unsigned n, PPT &R, const ParticleBConds< T, Dim > &bcs, const NDI &nr) |
Protected Member Functions inherited from BoxParticleCachingPolicy< T, Dim, UniformCartesian< Dim, T > > | |
~BoxParticleCachingPolicy () | |
Protected Attributes inherited from ParticleSpatialLayout< T, Dim, UniformCartesian< Dim, T > > | |
RegionLayout< T, Dim, UniformCartesian< Dim, T > > | RLayout |
size_t * | NodeCount |
bool * | EmptyNode |
bool * | SwapNodeList [Dim] |
Message ** | SwapMsgList |
unsigned | NeighborNodes [Dim] |
std::vector< size_t > * | PutList |
bool | caching |
Protected Attributes inherited from User | |
ID_t | Id |
Definition at line 61 of file ParticleInteractLayout.h.
typedef ParticleLayout<T, Dim>::Index_t ParticleInteractLayout< T, Dim, Mesh >::Index_t |
Definition at line 77 of file ParticleInteractLayout.h.
typedef std::vector<pair_t>::iterator ParticleInteractLayout< T, Dim, Mesh >::pair_iterator |
Definition at line 73 of file ParticleInteractLayout.h.
typedef ParticleInteractAttrib<Index_t> ParticleInteractLayout< T, Dim, Mesh >::ParticleIndex_t |
Definition at line 81 of file ParticleInteractLayout.h.
typedef ParticleInteractAttrib<T> ParticleInteractLayout< T, Dim, Mesh >::ParticleInterRadius_t |
Definition at line 82 of file ParticleInteractLayout.h.
typedef ParticleInteractAttrib<SingleParticlePos_t> ParticleInteractLayout< T, Dim, Mesh >::ParticlePos_t |
Definition at line 80 of file ParticleInteractLayout.h.
typedef ParticleLayout<T, Dim>::SingleParticlePos_t ParticleInteractLayout< T, Dim, Mesh >::SingleParticlePos_t |
Definition at line 76 of file ParticleInteractLayout.h.
ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout | ( | FieldLayout< Dim > & | fl | ) |
Definition at line 34 of file ParticleInteractLayout.hpp.
References ParticleInteractLayout< T, Dim, Mesh >::setup().
ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout | ( | FieldLayout< Dim > & | fl, |
Mesh & | mesh | ||
) |
Definition at line 44 of file ParticleInteractLayout.hpp.
References ParticleInteractLayout< T, Dim, Mesh >::setup().
ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout | ( | const RegionLayout< T, Dim, Mesh > & | rl | ) |
Definition at line 54 of file ParticleInteractLayout.hpp.
References ParticleInteractLayout< T, Dim, Mesh >::setup().
ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout |
Definition at line 64 of file ParticleInteractLayout.hpp.
References ParticleInteractLayout< T, Dim, Mesh >::setup().
ParticleInteractLayout< T, Dim, Mesh >::~ParticleInteractLayout |
Definition at line 91 of file ParticleInteractLayout.hpp.
|
private |
Definition at line 883 of file ParticleInteractLayout.hpp.
References begin(), dot(), end(), and Attrib::Legacy::Distribution::T.
|
inline |
Definition at line 144 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::InterRadius, and ParticleInteractLayout< T, Dim, Mesh >::InterRadiusArray.
|
inline |
Definition at line 141 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::MaxGlobalInterRadius.
|
private |
Definition at line 104 of file ParticleInteractLayout.hpp.
void ParticleInteractLayout< T, Dim, Mesh >::getPairlist | ( | unsigned | n, |
pair_iterator & | bpi, | ||
pair_iterator & | epi, | ||
IpplParticleBase< ParticleInteractLayout< T, Dim, Mesh > > & | PData | ||
) |
Definition at line 125 of file ParticleInteractLayout.hpp.
References Dim, Hypervolume::n, and ParticlePeriodicBCond().
|
private |
Definition at line 168 of file ParticleInteractLayout.hpp.
References RegionLayout< T, Dim, MeshType >::begin_iv(), Dim, IpplInfo::getNodes(), and Attrib::Legacy::Distribution::T.
|
private |
Definition at line 227 of file ParticleInteractLayout.hpp.
References RegionLayout< T, Dim, MeshType >::begin_iv(), Dim, IpplInfo::getNodes(), IpplInfo::myNode(), PAssert, Attrib::Legacy::Distribution::T, RegionLayout< T, Dim, MeshType >::touch_range_rdv(), and NDRegion< T, Dim >::touches().
|
virtual |
Reimplemented from ParticleSpatialLayout< T, Dim, UniformCartesian< Dim, T > >.
Definition at line 978 of file ParticleInteractLayout.hpp.
References UserList::getUserListID().
|
inline |
Definition at line 129 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::InterRadius, and ParticleInteractLayout< T, Dim, Mesh >::InterRadiusArray.
|
inline |
Definition at line 134 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::InterRadiusArray.
|
inlineprivate |
Definition at line 212 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::MaxGlobalInterRadius.
|
inline |
Definition at line 151 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::NeedGhostSwap.
|
private |
Definition at line 73 of file ParticleInteractLayout.hpp.
References IpplInfo::getNodes().
Referenced by ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout().
|
private |
Definition at line 520 of file ParticleInteractLayout.hpp.
References IpplInfo::getNodes(), and Attrib::Legacy::Distribution::T.
|
private |
Definition at line 655 of file ParticleInteractLayout.hpp.
References RegionLayout< T, Dim, MeshType >::begin_iv(), IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, endl(), ERRORMSG, Rnode< T, Dim >::getNode(), IpplInfo::getNodes(), IpplInfo::myNode(), TagMaker::next_tag(), P_LAYOUT_CYCLE, P_SPATIAL_GHOST_TAG, PAssert, Communicate::receive_block(), Communicate::send(), Attrib::Legacy::Distribution::T, RegionLayout< T, Dim, MeshType >::touch_range_rdv(), and NDRegion< T, Dim >::touches().
void ParticleInteractLayout< T, Dim, Mesh >::update | ( | IpplParticleBase< ParticleInteractLayout< T, Dim, Mesh > > & | p, |
const ParticleAttrib< char > * | canSwap = 0 |
||
) |
Definition at line 380 of file ParticleInteractLayout.hpp.
References Communicate::broadcast_others(), IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, Message::get(), IpplInfo::getNodes(), IpplInfo::myNode(), TagMaker::next_tag(), P_LAYOUT_CYCLE, P_SPATIAL_LAYOUT_TAG, P_SPATIAL_RETURN_TAG, ParticlePeriodicBCond(), Message::put(), Communicate::receive_block(), Communicate::send(), SWAP, and Attrib::Legacy::Distribution::T.
|
private |
Definition at line 167 of file ParticleInteractLayout.h.
|
private |
Definition at line 165 of file ParticleInteractLayout.h.
|
private |
Definition at line 176 of file ParticleInteractLayout.h.
Referenced by ParticleInteractLayout< T, Dim, Mesh >::getInteractionRadius(), and ParticleInteractLayout< T, Dim, Mesh >::setInteractionRadius().
|
private |
Definition at line 177 of file ParticleInteractLayout.h.
Referenced by ParticleInteractLayout< T, Dim, Mesh >::getInteractionRadius(), and ParticleInteractLayout< T, Dim, Mesh >::setInteractionRadius().
|
private |
Definition at line 176 of file ParticleInteractLayout.h.
Referenced by ParticleInteractLayout< T, Dim, Mesh >::getMaxInteractionRadius(), and ParticleInteractLayout< T, Dim, Mesh >::setMaxInteractionRadius().
|
private |
Definition at line 164 of file ParticleInteractLayout.h.
Referenced by ParticleInteractLayout< T, Dim, Mesh >::setNeedGhostSwap().
|
private |
Definition at line 170 of file ParticleInteractLayout.h.
|
private |
Definition at line 166 of file ParticleInteractLayout.h.