OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
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 | |
![]() | |
void | setup () |
void | rebuild_neighbor_data () |
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) |
![]() | |
template<class PPT , class NDI > | |
void | apply_bconds (unsigned n, PPT &R, const ParticleBConds< T, Dim > &bcs, const NDI &nr) |
![]() | |
RegionLayout< T, Dim, Mesh > | RLayout |
size_t * | NodeCount |
bool * | EmptyNode |
bool * | SwapNodeList [Dim] |
Message ** | SwapMsgList |
unsigned | NeighborNodes [Dim] |
std::vector< size_t > * | PutList |
bool | caching |
![]() | |
ID_t | Id |
Definition at line 41 of file ParticleInteractLayout.h.
typedef ParticleLayout<T, Dim>::Index_t ParticleInteractLayout< T, Dim, Mesh >::Index_t |
Definition at line 68 of file ParticleInteractLayout.h.
typedef std::vector<pair_t>::iterator ParticleInteractLayout< T, Dim, Mesh >::pair_iterator |
Definition at line 64 of file ParticleInteractLayout.h.
typedef ParticleInteractAttrib<Index_t> ParticleInteractLayout< T, Dim, Mesh >::ParticleIndex_t |
Definition at line 72 of file ParticleInteractLayout.h.
typedef ParticleInteractAttrib<T> ParticleInteractLayout< T, Dim, Mesh >::ParticleInterRadius_t |
Definition at line 73 of file ParticleInteractLayout.h.
typedef ParticleInteractAttrib<SingleParticlePos_t> ParticleInteractLayout< T, Dim, Mesh >::ParticlePos_t |
Definition at line 71 of file ParticleInteractLayout.h.
typedef ParticleLayout<T, Dim>::SingleParticlePos_t ParticleInteractLayout< T, Dim, Mesh >::SingleParticlePos_t |
Definition at line 67 of file ParticleInteractLayout.h.
ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout | ( | FieldLayout< Dim > & | fl | ) |
Definition at line 42 of file ParticleInteractLayout.hpp.
References ParticleInteractLayout< T, Dim, Mesh >::setup().
ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout | ( | FieldLayout< Dim > & | fl, |
Mesh & | mesh | ||
) |
Definition at line 52 of file ParticleInteractLayout.hpp.
References ParticleInteractLayout< T, Dim, Mesh >::setup().
ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout | ( | const RegionLayout< T, Dim, Mesh > & | rl | ) |
Definition at line 62 of file ParticleInteractLayout.hpp.
References ParticleInteractLayout< T, Dim, Mesh >::setup().
ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout | ( | ) |
Definition at line 72 of file ParticleInteractLayout.hpp.
References ParticleInteractLayout< T, Dim, Mesh >::setup().
ParticleInteractLayout< T, Dim, Mesh >::~ParticleInteractLayout | ( | ) |
Definition at line 99 of file ParticleInteractLayout.hpp.
|
private |
Definition at line 911 of file ParticleInteractLayout.hpp.
|
inline |
Definition at line 135 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::InterRadius, and ParticleInteractLayout< T, Dim, Mesh >::InterRadiusArray.
|
inline |
Definition at line 132 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::MaxGlobalInterRadius.
|
private |
Definition at line 112 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 133 of file ParticleInteractLayout.hpp.
References Dim, Hypervolume::n, and ParticlePeriodicBCond().
|
private |
Definition at line 176 of file ParticleInteractLayout.hpp.
References RegionLayout< T, Dim, MeshType >::begin_iv(), DEBUGMSG, Dim, RegionLayout< T, Dim, MeshType >::end_iv(), endl(), IpplInfo::getNodes(), T, and RegionLayout< T, Dim, MeshType >::touch_range_rdv().
|
private |
Definition at line 243 of file ParticleInteractLayout.hpp.
References RegionLayout< T, Dim, MeshType >::begin_iv(), DEBUGMSG, Dim, RegionLayout< T, Dim, MeshType >::end_iv(), endl(), IpplInfo::getNodes(), IpplInfo::myNode(), PAssert, T, RegionLayout< T, Dim, MeshType >::touch_range_rdv(), and NDRegion< T, Dim >::touches().
|
virtual |
Reimplemented from ParticleSpatialLayout< T, Dim, Mesh >.
Definition at line 1006 of file ParticleInteractLayout.hpp.
References UserList::getUserListID().
|
inline |
Definition at line 120 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::InterRadius, and ParticleInteractLayout< T, Dim, Mesh >::InterRadiusArray.
|
inline |
Definition at line 125 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::InterRadiusArray.
|
inlineprivate |
Definition at line 203 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::MaxGlobalInterRadius.
|
inline |
Definition at line 142 of file ParticleInteractLayout.h.
References ParticleInteractLayout< T, Dim, Mesh >::NeedGhostSwap.
|
private |
Definition at line 81 of file ParticleInteractLayout.hpp.
References IpplInfo::getNodes().
Referenced by ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout().
|
private |
Definition at line 548 of file ParticleInteractLayout.hpp.
References IpplInfo::getNodes(), and T.
|
private |
Definition at line 683 of file ParticleInteractLayout.hpp.
References RegionLayout< T, Dim, MeshType >::begin_iv(), IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, RegionLayout< T, Dim, MeshType >::end_iv(), 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(), 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 408 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 T.
|
private |
Definition at line 158 of file ParticleInteractLayout.h.
|
private |
Definition at line 156 of file ParticleInteractLayout.h.
|
private |
Definition at line 167 of file ParticleInteractLayout.h.
Referenced by ParticleInteractLayout< T, Dim, Mesh >::getInteractionRadius(), and ParticleInteractLayout< T, Dim, Mesh >::setInteractionRadius().
|
private |
Definition at line 168 of file ParticleInteractLayout.h.
Referenced by ParticleInteractLayout< T, Dim, Mesh >::getInteractionRadius(), and ParticleInteractLayout< T, Dim, Mesh >::setInteractionRadius().
|
private |
Definition at line 167 of file ParticleInteractLayout.h.
Referenced by ParticleInteractLayout< T, Dim, Mesh >::getMaxInteractionRadius(), and ParticleInteractLayout< T, Dim, Mesh >::setMaxInteractionRadius().
|
private |
Definition at line 155 of file ParticleInteractLayout.h.
Referenced by ParticleInteractLayout< T, Dim, Mesh >::setNeedGhostSwap().
|
private |
Definition at line 161 of file ParticleInteractLayout.h.
|
private |
Definition at line 157 of file ParticleInteractLayout.h.