|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <ParticleCashedLayout.h>
Public Types | |
| typedef ParticleLayout< T, Dim >::SingleParticlePos_t | SingleParticlePos_t |
| typedef ParticleLayout< T, Dim >::Index_t | Index_t |
| typedef ParticleInteractAttrib< SingleParticlePos_t > | ParticlePos_t |
| typedef ParticleInteractAttrib< Index_t > | ParticleIndex_t |
| typedef ParticleInteractAttrib< T > | ParticleInterRadius_t |
| typedef int | pair_t |
| typedef pair_t * | pair_iterator |
| typedef RegionLayout< T, Dim, Mesh > | RegionLayout_t |
| enum | { Dimension = Dim } |
| enum | UpdateFlags { SWAP , BCONDS , NUMFLAGS , OPTDESTROY , ALL } |
| typedef T | Position_t |
| typedef Unique::type | ID_t |
Protected Member Functions | |
| 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 | swap_particles (size_t LocalNum, PB &PData, const ParticleAttrib< char > &canSwap) |
| template<class PB> | |
| size_t | short_swap_particles (size_t LocalNum, PB &PData) |
| 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) |
| template<class PPT, class NDI> | |
| void | apply_bconds (unsigned n, PPT &R, const ParticleBConds< T, Dim > &bcs, const NDI &nr) |
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 |
| ID_t | Id |
Private Member Functions | |
| void | setup () |
| void | rebuild_interaction_data () |
| void | rebuild_interaction_data (const bool periodicBC[2 *Dim]) |
| void | swap_ghost_particles (unsigned, IpplParticleBase< ParticleCashedLayout< T, Dim, Mesh > > &) |
| void | swap_ghost_particles (unsigned, IpplParticleBase< ParticleCashedLayout< T, Dim, Mesh > > &, const bool periodicBC[2 *Dim]) |
| void | setMaxInteractionRadius (T maxval) |
| T | getMaxLocalInteractionRadius () |
Private Attributes | |
| bool | NeedGhostSwap |
| bool * | InterNodeList |
| bool * | SentToNodeList |
| unsigned | InteractionNodes |
| T | InterRadius |
| T | MaxGlobalInterRadius |
| ParticleBConds< T, Dim > | BoundConds |
| unsigned int | UpdateOptions |
| T | boxDimension [Dim] |
| bool | periodic [2 *Dim] |
| std::map< unsigned, std::list< std::pair< NDRegion< T, Dim >, Offset_t > > > | regions |
Definition at line 61 of file ParticleCashedLayout.h.
|
inherited |
| typedef ParticleLayout<T,Dim>::Index_t ParticleCashedLayout< T, Dim, Mesh >::Index_t |
Definition at line 67 of file ParticleCashedLayout.h.
|
inherited |
Definition at line 71 of file ParticleSpatialLayout.h.
|
inherited |
Definition at line 70 of file ParticleSpatialLayout.h.
| typedef ParticleInteractAttrib<Index_t> ParticleCashedLayout< T, Dim, Mesh >::ParticleIndex_t |
Definition at line 71 of file ParticleCashedLayout.h.
| typedef ParticleInteractAttrib<T> ParticleCashedLayout< T, Dim, Mesh >::ParticleInterRadius_t |
Definition at line 72 of file ParticleCashedLayout.h.
| typedef ParticleInteractAttrib<SingleParticlePos_t> ParticleCashedLayout< T, Dim, Mesh >::ParticlePos_t |
Definition at line 70 of file ParticleCashedLayout.h.
|
inherited |
Definition at line 62 of file ParticleLayout.h.
|
inherited |
Definition at line 79 of file ParticleSpatialLayout.h.
| typedef ParticleLayout<T,Dim>::SingleParticlePos_t ParticleCashedLayout< T, Dim, Mesh >::SingleParticlePos_t |
Definition at line 66 of file ParticleCashedLayout.h.
|
inherited |
| Enumerator | |
|---|---|
| Dimension | |
Definition at line 58 of file ParticleLayout.h.
|
inherited |
| Enumerator | |
|---|---|
| SWAP | |
| BCONDS | |
| NUMFLAGS | |
| OPTDESTROY | |
| ALL | |
Definition at line 59 of file ParticleLayout.h.
| ParticleCashedLayout< T, Dim, Mesh >::ParticleCashedLayout | ( | FieldLayout< Dim > & | fl | ) |
Definition at line 49 of file ParticleCashedLayout.hpp.
References Dim, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout(), and setup().
Referenced by getCashedParticles(), swap_ghost_particles(), swap_ghost_particles(), and update().
| ParticleCashedLayout< T, Dim, Mesh >::ParticleCashedLayout | ( | FieldLayout< Dim > & | fl, |
| Mesh & | mesh ) |
Definition at line 59 of file ParticleCashedLayout.hpp.
References Dim, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout(), and setup().
| ParticleCashedLayout< T, Dim, Mesh >::ParticleCashedLayout | ( | const RegionLayout< T, Dim, Mesh > & | rl | ) |
Definition at line 69 of file ParticleCashedLayout.hpp.
References Dim, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout(), and setup().
| ParticleCashedLayout< T, Dim, Mesh >::ParticleCashedLayout | ( | ) |
Definition at line 79 of file ParticleCashedLayout.hpp.
References Dim, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout(), and setup().
| ParticleCashedLayout< T, Dim, Mesh >::~ParticleCashedLayout | ( | ) |
Definition at line 105 of file ParticleCashedLayout.hpp.
References InterNodeList, and SentToNodeList.
|
inlineprotectedinherited |
Definition at line 106 of file ParticleLayout.h.
Referenced by ParticleCashedLayout< T, Dim, Mesh >::update(), ParticleInteractLayout< T, Dim, Mesh >::update(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::update().
|
inlineinherited |
Definition at line 172 of file ParticleSpatialLayout.h.
|
inlineinherited |
Definition at line 171 of file ParticleSpatialLayout.h.
|
inlineinherited |
Definition at line 46 of file User.h.
References Id.
Referenced by UserList::checkinUser(), and UserList::checkoutUser().
|
inlineinherited |
| void ParticleCashedLayout< T, Dim, Mesh >::getCashedParticles | ( | IpplParticleBase< ParticleCashedLayout< T, Dim, Mesh > > & | PData | ) |
Definition at line 128 of file ParticleCashedLayout.hpp.
References ParticleLayout< T, Dim >::BCONDS, Dim, ParticleLayout< T, Dim >::getBConds(), ParticleLayout< T, Dim >::getUpdateFlag(), ParticleCashedLayout(), ParticlePeriodicBCond(), and swap_ghost_particles().
|
inlineinherited |
Definition at line 136 of file ParticleSpatialLayout.h.
Referenced by ParticlePos_t< double, 3 >::swap_particles(), and ParticlePos_t< double, 3 >::swap_particles().
|
inlineinherited |
Definition at line 113 of file ParticleSpatialLayout.h.
|
inline |
Definition at line 124 of file ParticleCashedLayout.h.
References InterRadius.
|
inlineinherited |
Definition at line 119 of file ParticleSpatialLayout.h.
Referenced by PartBunch::getFieldLayout(), PartBunch::getMesh(), PartBunch::getMesh(), PartBunch::initialize(), operator<<(), operator<<(), and operator<<().
|
inlineinherited |
Definition at line 123 of file ParticleSpatialLayout.h.
|
inline |
Definition at line 121 of file ParticleCashedLayout.h.
References MaxGlobalInterRadius.
Referenced by rebuild_interaction_data(), rebuild_interaction_data(), swap_ghost_particles(), swap_ghost_particles(), and update().
|
private |
Definition at line 116 of file ParticleCashedLayout.hpp.
References InterRadius.
|
inlineinherited |
Definition at line 129 of file ParticleSpatialLayout.h.
Referenced by operator<<(), operator<<(), and operator<<().
|
inlineinherited |
Definition at line 86 of file ParticleLayout.h.
Referenced by ParticleCashedLayout< T, Dim, Mesh >::getCashedParticles(), ParticleInteractLayout< T, Dim, Mesh >::getPairlist(), IpplParticleBase< Layout_t >::getUpdateFlag(), ParticleCashedLayout< T, Dim, Mesh >::update(), ParticleInteractLayout< T, Dim, Mesh >::update(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::update(), and ParticleUniformLayout< T, Dim >::update().
|
inlineprotectedinherited |
Definition at line 1073 of file ParticleSpatialLayout.h.
|
inlineprotectedinherited |
Definition at line 1194 of file ParticleSpatialLayout.h.
|
virtualinherited |
Implements User.
Definition at line 282 of file ParticleSpatialLayout.hpp.
|
inherited |
Definition at line 259 of file ParticleSpatialLayout.hpp.
References IpplInfo::getNodes(), and NodeCount.
|
private |
Definition at line 169 of file ParticleCashedLayout.hpp.
References Dim, getMaxInteractionRadius(), IpplInfo::getNodes(), InteractionNodes, InterNodeList, NeedGhostSwap, and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout.
Referenced by update().
|
private |
Definition at line 229 of file ParticleCashedLayout.hpp.
References Dim, getMaxInteractionRadius(), IpplInfo::getNodes(), InteractionNodes, InterNodeList, IpplInfo::myNode(), NeedGhostSwap, PAssert, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout, and NDRegion< T, Dim >::touches().
|
inlineprotectedinherited |
Definition at line 202 of file ParticleSpatialLayout.h.
Referenced by ParticleCashedLayout< T, Dim, Mesh >::update(), ParticleInteractLayout< T, Dim, Mesh >::update(), and update().
|
virtual |
Reimplemented from ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >.
Definition at line 896 of file ParticleCashedLayout.hpp.
References UserList::getUserListID(), InteractionNodes, NeedGhostSwap, and setMaxInteractionRadius().
|
inlineinherited |
Definition at line 35 of file BoxParticleCachingPolicy.h.
References boxDimension, and Dim.
|
inlineinherited |
Definition at line 94 of file ParticleLayout.h.
|
inlineinherited |
Definition at line 30 of file BoxParticleCachingPolicy.h.
References boxDimension.
Referenced by CellParticleCachingPolicy< T, Dim, Mesh >::updateCacheInformation(), and CellParticleCachingPolicy< T, Dim, Mesh >::updateGhostParticles().
|
inline |
Definition at line 114 of file ParticleCashedLayout.h.
References InterRadius.
|
inlineprivate |
Definition at line 182 of file ParticleCashedLayout.h.
References MaxGlobalInterRadius.
Referenced by Repartition(), and update().
|
inline |
Definition at line 131 of file ParticleCashedLayout.h.
References NeedGhostSwap.
|
private |
Definition at line 88 of file ParticleCashedLayout.hpp.
References IpplInfo::getNodes(), InteractionNodes, InterNodeList, InterRadius, MaxGlobalInterRadius, and SentToNodeList.
Referenced by ParticleCashedLayout(), ParticleCashedLayout(), ParticleCashedLayout(), and ParticleCashedLayout().
|
inlineinherited |
Definition at line 76 of file ParticleLayout.h.
Referenced by ParticleLayout(), and IpplParticleBase< Layout_t >::setUpdateFlag().
|
inlineprotectedinherited |
Definition at line 632 of file ParticleSpatialLayout.h.
|
private |
Definition at line 526 of file ParticleCashedLayout.hpp.
References getMaxInteractionRadius(), IpplInfo::getNodes(), InterNodeList, NeedGhostSwap, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NodeCount, ParticleCashedLayout(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapMsgList.
Referenced by getCashedParticles().
|
private |
Definition at line 657 of file ParticleCashedLayout.hpp.
References IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, endl(), ERRORMSG, getMaxInteractionRadius(), Rnode< T, Dim >::getNode(), IpplInfo::getNodes(), InterNodeList, IpplInfo::myNode(), NeedGhostSwap, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NodeCount, P_LAYOUT_CYCLE, P_SPATIAL_GHOST_TAG, ParticleCashedLayout(), PAssert, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout, SentToNodeList, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapMsgList, and NDRegion< T, Dim >::touches().
|
inlineprotectedinherited |
Definition at line 330 of file ParticleSpatialLayout.h.
Referenced by ParticleCashedLayout< T, Dim, Mesh >::update(), and ParticleInteractLayout< T, Dim, Mesh >::update().
|
inlineprotectedinherited |
Definition at line 773 of file ParticleSpatialLayout.h.
| void ParticleCashedLayout< T, Dim, Mesh >::update | ( | IpplParticleBase< ParticleCashedLayout< T, Dim, Mesh > > & | p, |
| const ParticleAttrib< char > * | canSwap = 0 ) |
Definition at line 383 of file ParticleCashedLayout.hpp.
References ParticleLayout< T, Dim >::apply_bconds(), ParticleLayout< T, Dim >::BCONDS, IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, Message::get(), ParticleLayout< T, Dim >::getBConds(), getMaxInteractionRadius(), IpplInfo::getNodes(), ParticleLayout< T, Dim >::getUpdateFlag(), IpplInfo::myNode(), NeedGhostSwap, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NodeCount, P_LAYOUT_CYCLE, P_SPATIAL_LAYOUT_TAG, P_SPATIAL_RETURN_TAG, ParticleCashedLayout(), ParticlePeriodicBCond(), Message::put(), rebuild_interaction_data(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::rebuild_layout(), ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout, setMaxInteractionRadius(), ParticleLayout< T, Dim >::SWAP, and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::swap_particles().
|
inherited |
Definition at line 121 of file ParticleSpatialLayout.hpp.
References ParticleLayout< T, Dim >::apply_bconds(), ParticleLayout< T, Dim >::BCONDS, IpplInfo::getNodes(), ParticleLayout< T, Dim >::getUpdateFlag(), IpplInfo::myNode(), ParticleSpatialLayout(), rebuild_layout(), and RLayout.
|
inlineinherited |
Definition at line 40 of file BoxParticleCachingPolicy.h.
References ParticleLayout< T, Dim >::BCONDS, BoxParticleCachingPolicy< T, Dim, Mesh >::Offset_t::begin(), RegionLayout< T, Dim, MeshType >::begin_iv(), boxDimension, Dim, BoxParticleCachingPolicy< T, Dim, Mesh >::Offset_t::end(), RegionLayout< T, Dim, MeshType >::end_iv(), RegionLayout< T, Dim, MeshType >::getDomain(), IpplInfo::myNode(), ParticlePeriodicBCond(), periodic, regions, and RegionLayout< T, Dim, MeshType >::touch_range_rdv().
Referenced by CellParticleCachingPolicy< T, Dim, Mesh >::updateCacheInformation().
|
inlineinherited |
Definition at line 155 of file BoxParticleCachingPolicy.h.
References boxDimension, IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, MsgBuffer::getBuffer(), MsgBuffer::getSize(), P_LAYOUT_CYCLE, P_SPATIAL_GHOST_TAG, regions, and NDRegion< T, Dim >::touches().
Referenced by CellParticleCachingPolicy< T, Dim, Mesh >::updateGhostParticles().
|
privateinherited |
Definition at line 118 of file ParticleLayout.h.
|
privateinherited |
Definition at line 260 of file BoxParticleCachingPolicy.h.
Referenced by BoxParticleCachingPolicy(), setAllCacheDimensions(), setCacheDimension(), updateCacheInformation(), and updateGhostParticles().
|
protectedinherited |
Definition at line 191 of file ParticleSpatialLayout.h.
Referenced by setup().
|
protectedinherited |
Definition at line 182 of file ParticleSpatialLayout.h.
Referenced by ~ParticleSpatialLayout().
|
protectedinherited |
|
private |
Definition at line 147 of file ParticleCashedLayout.h.
Referenced by rebuild_interaction_data(), rebuild_interaction_data(), Repartition(), and setup().
|
private |
Definition at line 145 of file ParticleCashedLayout.h.
Referenced by rebuild_interaction_data(), rebuild_interaction_data(), setup(), swap_ghost_particles(), swap_ghost_particles(), and ~ParticleCashedLayout().
|
private |
Definition at line 153 of file ParticleCashedLayout.h.
Referenced by getInteractionRadius(), getMaxLocalInteractionRadius(), setInteractionRadius(), and setup().
|
private |
Definition at line 153 of file ParticleCashedLayout.h.
Referenced by getMaxInteractionRadius(), setMaxInteractionRadius(), and setup().
|
private |
Definition at line 144 of file ParticleCashedLayout.h.
Referenced by rebuild_interaction_data(), rebuild_interaction_data(), Repartition(), setNeedGhostSwap(), swap_ghost_particles(), swap_ghost_particles(), and update().
|
protectedinherited |
Definition at line 188 of file ParticleSpatialLayout.h.
|
protectedinherited |
Definition at line 179 of file ParticleSpatialLayout.h.
Referenced by printDebug(), ParticleCashedLayout< T, Dim, Mesh >::swap_ghost_particles(), ParticleCashedLayout< T, Dim, Mesh >::swap_ghost_particles(), ParticleInteractLayout< T, Dim, Mesh >::swap_ghost_particles(), ParticleInteractLayout< T, Dim, Mesh >::swap_ghost_particles(), ParticleCashedLayout< T, Dim, Mesh >::update(), ParticleInteractLayout< T, Dim, Mesh >::update(), and ~ParticleSpatialLayout().
|
privateinherited |
Definition at line 261 of file BoxParticleCachingPolicy.h.
Referenced by updateCacheInformation().
|
protectedinherited |
Definition at line 189 of file ParticleSpatialLayout.h.
Referenced by setup(), and ~ParticleSpatialLayout().
|
privateinherited |
Definition at line 262 of file BoxParticleCachingPolicy.h.
Referenced by updateCacheInformation(), and updateGhostParticles().
|
protectedinherited |
Definition at line 176 of file ParticleSpatialLayout.h.
Referenced by ParticleSpatialLayout(), ParticleSpatialLayout(), ParticleSpatialLayout(), ParticleSpatialLayout(), ParticleCashedLayout< T, Dim, Mesh >::rebuild_interaction_data(), ParticleCashedLayout< T, Dim, Mesh >::rebuild_interaction_data(), ParticleInteractLayout< T, Dim, Mesh >::rebuild_interaction_data(), ParticleInteractLayout< T, Dim, Mesh >::rebuild_interaction_data(), setup(), ParticleCashedLayout< T, Dim, Mesh >::swap_ghost_particles(), ParticleInteractLayout< T, Dim, Mesh >::swap_ghost_particles(), ParticleCashedLayout< T, Dim, Mesh >::update(), ParticleInteractLayout< T, Dim, Mesh >::update(), update(), and ~ParticleSpatialLayout().
|
private |
Definition at line 146 of file ParticleCashedLayout.h.
Referenced by setup(), swap_ghost_particles(), and ~ParticleCashedLayout().
|
protectedinherited |
Definition at line 187 of file ParticleSpatialLayout.h.
Referenced by setup(), ParticleCashedLayout< T, Dim, Mesh >::swap_ghost_particles(), ParticleCashedLayout< T, Dim, Mesh >::swap_ghost_particles(), ParticleInteractLayout< T, Dim, Mesh >::swap_ghost_particles(), ParticleInteractLayout< T, Dim, Mesh >::swap_ghost_particles(), and ~ParticleSpatialLayout().
|
protectedinherited |
Definition at line 186 of file ParticleSpatialLayout.h.
Referenced by setup(), and ~ParticleSpatialLayout().
|
privateinherited |
Definition at line 121 of file ParticleLayout.h.