|
OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <ParticleSpatialLayout.h>


Public Types | |
| typedef int | pair_t |
| typedef pair_t * | pair_iterator |
| typedef ParticleLayout< T, Dim >::SingleParticlePos_t | SingleParticlePos_t |
| typedef ParticleLayout< T, Dim >::Index_t | Index_t |
| typedef ParticleAttrib< SingleParticlePos_t > | ParticlePos_t |
| typedef ParticleAttrib< Index_t > | ParticleIndex_t |
| typedef RegionLayout< T, Dim, Mesh > | RegionLayout_t |
Public Types inherited from ParticleLayout< T, Dim > | |
| enum | { Dimension = Dim } |
| enum | UpdateFlags { SWAP , BCONDS , NUMFLAGS , OPTDESTROY , ALL } |
| typedef T | Position_t |
| typedef unsigned | Index_t |
| typedef Vektor< T, Dim > | SingleParticlePos_t |
Public Types inherited from User | |
| typedef Unique::type | ID_t |
Protected Member Functions | |
| void | setup () |
| template<class PB > | |
| void | rebuild_layout (size_t haveLocal, PB &PData) |
| template<class PB > | |
| size_t | swap_particles (size_t LocalNum, PB &PData) |
| template<class PB > | |
| size_t | short_swap_particles (size_t LocalNum, PB &PData) |
| template<class PB > | |
| size_t | swap_particles (size_t LocalNum, PB &PData, const ParticleAttrib< char > &canSwap) |
| template<class PB > | |
| size_t | new_swap_particles (size_t LocalNum, PB &PData) |
| template<class PB > | |
| 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 | |
| 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 |
Protected Attributes inherited from User | |
| ID_t | Id |
Definition at line 60 of file ParticleSpatialLayout.h.
| typedef ParticleLayout<T, Dim>::Index_t ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::Index_t |
Definition at line 74 of file ParticleSpatialLayout.h.
| typedef pair_t* ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::pair_iterator |
Definition at line 71 of file ParticleSpatialLayout.h.
| typedef int ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::pair_t |
Definition at line 70 of file ParticleSpatialLayout.h.
| typedef ParticleAttrib<Index_t> ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleIndex_t |
Definition at line 78 of file ParticleSpatialLayout.h.
| typedef ParticleAttrib<SingleParticlePos_t> ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticlePos_t |
Definition at line 77 of file ParticleSpatialLayout.h.
| typedef RegionLayout<T,Dim,Mesh> ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RegionLayout_t |
Definition at line 79 of file ParticleSpatialLayout.h.
| typedef ParticleLayout<T, Dim>::SingleParticlePos_t ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SingleParticlePos_t |
Definition at line 73 of file ParticleSpatialLayout.h.
| ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout | ( | FieldLayout< Dim > & | fl | ) |
Definition at line 27 of file ParticleSpatialLayout.hpp.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::setup().

| ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout | ( | FieldLayout< Dim > & | fl, |
| Mesh & | mesh | ||
| ) |
Definition at line 37 of file ParticleSpatialLayout.hpp.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::setup().

| ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout | ( | const RegionLayout< T, Dim, Mesh > & | rl | ) |
Definition at line 48 of file ParticleSpatialLayout.hpp.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::setup().

| ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout |
Definition at line 59 of file ParticleSpatialLayout.hpp.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::setup().

| ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::~ParticleSpatialLayout |
Definition at line 100 of file ParticleSpatialLayout.hpp.
References Dim.
|
inline |
Definition at line 172 of file ParticleSpatialLayout.h.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::caching.
|
inline |
Definition at line 171 of file ParticleSpatialLayout.h.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::caching.
|
inline |
Definition at line 136 of file ParticleSpatialLayout.h.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::EmptyNode, IpplInfo::getNodes(), and PAssert_LT.
Referenced by ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::swap_particles().

|
inline |
Definition at line 113 of file ParticleSpatialLayout.h.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout.
|
inline |
Definition at line 119 of file ParticleSpatialLayout.h.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout.
Referenced by PartBunch::getFieldLayout(), PartBunch::getMesh(), PartBunch::initialize(), and operator<<().
|
inline |
Definition at line 123 of file ParticleSpatialLayout.h.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout.
|
inline |
Definition at line 129 of file ParticleSpatialLayout.h.
References IpplInfo::getNodes(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NodeCount, and PAssert_LT.
Referenced by operator<<().

|
inlineprotected |
Definition at line 1079 of file ParticleSpatialLayout.h.
References allreduce(), Communicate::barrier(), IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, Message::empty(), MsgBuffer::get(), IpplInfo::getNodes(), IpplInfo::myNode(), TagMaker::next_tag(), P_LAYOUT_CYCLE, P_SPATIAL_TRANSFER_TAG, Communicate::raw_isend(), Communicate::raw_probe_receive(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout.

|
inlineprotected |
Definition at line 1204 of file ParticleSpatialLayout.h.
References allreduce(), Communicate::barrier(), IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, Message::empty(), MsgBuffer::get(), IpplInfo::getNodes(), IpplInfo::myNode(), TagMaker::next_tag(), P_LAYOUT_CYCLE, P_SPATIAL_TRANSFER_TAG, Communicate::raw_isend(), Communicate::raw_probe_receive(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout.

|
virtual |
Implements User.
Definition at line 282 of file ParticleSpatialLayout.hpp.
| void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::printDebug | ( | Inform & | o | ) |
Definition at line 259 of file ParticleSpatialLayout.hpp.
References IpplInfo::getNodes().

|
inlineprotected |
Definition at line 202 of file ParticleSpatialLayout.h.
References Communicate::broadcast_others(), IpplInfo::Comm, COMM_ANY_NODE, Dim, Message::get(), Vektor< T, D >::getMessage(), IpplInfo::getNodes(), IpplInfo::myNode(), TagMaker::next_tag(), P_LAYOUT_CYCLE, P_SPATIAL_RANGE_TAG, Message::put(), Vektor< T, D >::putMessage(), Communicate::receive_block(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout, Communicate::send(), and Attrib::Legacy::Distribution::T.

|
virtual |
Implements FieldLayoutUser.
Reimplemented in ParticleInteractLayout< T, Dim, Mesh >, and ParticleCashedLayout< T, Dim, Mesh >.
Definition at line 273 of file ParticleSpatialLayout.hpp.
|
protected |
Definition at line 68 of file ParticleSpatialLayout.hpp.
References Dim, and IpplInfo::getNodes().
Referenced by ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout().

|
inlineprotected |
Definition at line 632 of file ParticleSpatialLayout.h.
References ADDIPPLSTAT, begin(), IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, end(), IpplInfo::getNodes(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NeighborNodes, TagMaker::next_tag(), P_LAYOUT_CYCLE, P_SPATIAL_TRANSFER_TAG, PAssert_EQ, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::PutList, Communicate::receive_block(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout, Communicate::send(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapMsgList, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapNodeList, and Attrib::Legacy::Distribution::T.

|
inlineprotected |
Definition at line 330 of file ParticleSpatialLayout.h.
References IpplInfo::abort(), ADDIPPLSTAT, begin(), IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, end(), endl(), ERRORMSG, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getEmptyNode(), IpplInfo::getNodes(), INFORM_ALL_NODES, IpplInfo::myNode(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NeighborNodes, TagMaker::next_tag(), P_LAYOUT_CYCLE, P_SPATIAL_RETURN_TAG, P_SPATIAL_TRANSFER_TAG, PAssert_EQ, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::PutList, Communicate::receive_block(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout, Communicate::send(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapMsgList, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapNodeList, and Attrib::Legacy::Distribution::T.

|
inlineprotected |
Definition at line 779 of file ParticleSpatialLayout.h.
References IpplInfo::abort(), ADDIPPLSTAT, begin(), IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, end(), endl(), ERRORMSG, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getEmptyNode(), IpplInfo::getNodes(), IpplInfo::myNode(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NeighborNodes, TagMaker::next_tag(), P_LAYOUT_CYCLE, P_SPATIAL_RETURN_TAG, P_SPATIAL_TRANSFER_TAG, PAssert_EQ, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::PutList, Communicate::receive_block(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout, Communicate::send(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapMsgList, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapNodeList, and Attrib::Legacy::Distribution::T.

| void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::update | ( | IpplParticleBase< ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy > > & | p, |
| const ParticleAttrib< char > * | canSwap = 0 |
||
| ) |
Definition at line 121 of file ParticleSpatialLayout.hpp.
References IpplInfo::getNodes(), and IpplInfo::myNode().

|
protected |
Definition at line 191 of file ParticleSpatialLayout.h.
Referenced by ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::disableCaching(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::enableCaching().
|
protected |
Definition at line 182 of file ParticleSpatialLayout.h.
Referenced by ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getEmptyNode().
|
protected |
Definition at line 188 of file ParticleSpatialLayout.h.
Referenced by ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::short_swap_particles(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::swap_particles().
|
protected |
Definition at line 179 of file ParticleSpatialLayout.h.
Referenced by ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getNodeCount().
|
protected |
Definition at line 189 of file ParticleSpatialLayout.h.
Referenced by ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::short_swap_particles(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::swap_particles().
|
protected |
Definition at line 176 of file ParticleSpatialLayout.h.
Referenced by ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getFieldLayout(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::new_swap_particles(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::rebuild_layout(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::short_swap_particles(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::swap_particles().
|
protected |
Definition at line 187 of file ParticleSpatialLayout.h.
Referenced by ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::short_swap_particles(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::swap_particles().
|
protected |
Definition at line 186 of file ParticleSpatialLayout.h.
Referenced by ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::short_swap_particles(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::swap_particles().