|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <ParticleInteractLayout.h>
Classes | |
| struct | pair_t |
Public Types | |
| typedef std::vector< pair_t >::iterator | pair_iterator |
| 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 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< 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 |
| 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 ParticleInteractLayout.h.
|
inherited |
| 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.
|
inherited |
Definition at line 70 of file ParticleSpatialLayout.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.
|
inherited |
Definition at line 62 of file ParticleLayout.h.
|
inherited |
Definition at line 79 of file ParticleSpatialLayout.h.
| typedef ParticleLayout<T,Dim>::SingleParticlePos_t ParticleInteractLayout< T, Dim, Mesh >::SingleParticlePos_t |
Definition at line 76 of file ParticleInteractLayout.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.
| ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout | ( | FieldLayout< Dim > & | fl | ) |
Definition at line 34 of file ParticleInteractLayout.hpp.
References Dim, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout(), and setup().
Referenced by find_pairs(), getPairlist(), swap_ghost_particles(), swap_ghost_particles(), and update().
| ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout | ( | FieldLayout< Dim > & | fl, |
| Mesh & | mesh ) |
Definition at line 44 of file ParticleInteractLayout.hpp.
References Dim, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout(), and setup().
| ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout | ( | const RegionLayout< T, Dim, Mesh > & | rl | ) |
Definition at line 54 of file ParticleInteractLayout.hpp.
References Dim, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout(), and setup().
| ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout | ( | ) |
Definition at line 64 of file ParticleInteractLayout.hpp.
References Dim, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout(), and setup().
| ParticleInteractLayout< T, Dim, Mesh >::~ParticleInteractLayout | ( | ) |
Definition at line 91 of file ParticleInteractLayout.hpp.
References InterNodeList, PairList, 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.
|
private |
Definition at line 883 of file ParticleInteractLayout.hpp.
References begin(), dot(), end(), getInteractionRadius(), PairList, and ParticleInteractLayout().
Referenced by swap_ghost_particles(), and swap_ghost_particles().
|
inlineinherited |
Definition at line 46 of file User.h.
References Id.
Referenced by UserList::checkinUser(), and UserList::checkoutUser().
|
inlineinherited |
|
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 144 of file ParticleInteractLayout.h.
References InterRadius, and InterRadiusArray.
Referenced by find_pairs().
|
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 141 of file ParticleInteractLayout.h.
References MaxGlobalInterRadius.
Referenced by rebuild_interaction_data(), rebuild_interaction_data(), swap_ghost_particles(), swap_ghost_particles(), and update().
|
private |
Definition at line 104 of file ParticleInteractLayout.hpp.
References InterRadius, and InterRadiusArray.
Referenced by update().
|
inlineinherited |
Definition at line 129 of file ParticleSpatialLayout.h.
Referenced by operator<<(), operator<<(), and operator<<().
| 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 ParticleLayout< T, Dim >::BCONDS, Dim, ParticleLayout< T, Dim >::getBConds(), ParticleLayout< T, Dim >::getUpdateFlag(), PairList, ParticleInteractLayout(), ParticlePeriodicBCond(), and swap_ghost_particles().
|
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 168 of file ParticleInteractLayout.hpp.
References Dim, getMaxInteractionRadius(), IpplInfo::getNodes(), InteractionNodes, InterNodeList, NeedGhostSwap, and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout.
Referenced by update().
|
private |
Definition at line 227 of file ParticleInteractLayout.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 978 of file ParticleInteractLayout.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 129 of file ParticleInteractLayout.h.
References InterRadius, and InterRadiusArray.
|
inline |
Definition at line 134 of file ParticleInteractLayout.h.
References InterRadiusArray.
|
inlineprivate |
Definition at line 212 of file ParticleInteractLayout.h.
References MaxGlobalInterRadius.
Referenced by Repartition(), and update().
|
inline |
Definition at line 151 of file ParticleInteractLayout.h.
References NeedGhostSwap.
|
private |
Definition at line 73 of file ParticleInteractLayout.hpp.
References IpplInfo::getNodes(), InteractionNodes, InterNodeList, InterRadius, InterRadiusArray, MaxGlobalInterRadius, and SentToNodeList.
Referenced by ParticleInteractLayout(), ParticleInteractLayout(), ParticleInteractLayout(), and ParticleInteractLayout().
|
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 520 of file ParticleInteractLayout.hpp.
References find_pairs(), getMaxInteractionRadius(), IpplInfo::getNodes(), InterNodeList, NeedGhostSwap, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NodeCount, ParticleInteractLayout(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapMsgList.
Referenced by getPairlist().
|
private |
Definition at line 655 of file ParticleInteractLayout.hpp.
References IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, endl(), ERRORMSG, find_pairs(), getMaxInteractionRadius(), Rnode< T, Dim >::getNode(), IpplInfo::getNodes(), InterNodeList, IpplInfo::myNode(), NeedGhostSwap, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NodeCount, P_LAYOUT_CYCLE, P_SPATIAL_GHOST_TAG, ParticleInteractLayout(), 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 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 ParticleLayout< T, Dim >::apply_bconds(), ParticleLayout< T, Dim >::BCONDS, IpplInfo::Comm, Communicate::COMM_ANY_NODE, Dim, Message::get(), ParticleLayout< T, Dim >::getBConds(), getMaxInteractionRadius(), getMaxLocalInteractionRadius(), 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, ParticleInteractLayout(), 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 167 of file ParticleInteractLayout.h.
Referenced by rebuild_interaction_data(), rebuild_interaction_data(), Repartition(), and setup().
|
private |
Definition at line 165 of file ParticleInteractLayout.h.
Referenced by rebuild_interaction_data(), rebuild_interaction_data(), setup(), swap_ghost_particles(), swap_ghost_particles(), and ~ParticleInteractLayout().
|
private |
Definition at line 176 of file ParticleInteractLayout.h.
Referenced by getInteractionRadius(), getMaxLocalInteractionRadius(), setInteractionRadius(), and setup().
|
private |
Definition at line 177 of file ParticleInteractLayout.h.
Referenced by getInteractionRadius(), getMaxLocalInteractionRadius(), setInteractionRadius(), setInteractionRadius(), and setup().
|
private |
Definition at line 176 of file ParticleInteractLayout.h.
Referenced by getMaxInteractionRadius(), setMaxInteractionRadius(), and setup().
|
private |
Definition at line 164 of file ParticleInteractLayout.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().
|
private |
Definition at line 170 of file ParticleInteractLayout.h.
Referenced by find_pairs(), getPairlist(), and ~ParticleInteractLayout().
|
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 166 of file ParticleInteractLayout.h.
Referenced by setup(), swap_ghost_particles(), and ~ParticleInteractLayout().
|
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.