OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
ParticleInteractLayout< T, Dim, Mesh > Class Template Reference

#include <ParticleInteractLayout.h>

Inheritance diagram for ParticleInteractLayout< T, Dim, Mesh >:
Collaboration diagram for ParticleInteractLayout< T, Dim, Mesh >:

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_tParticlePos_t
typedef ParticleInteractAttrib< Index_tParticleIndex_t
typedef ParticleInteractAttrib< T > ParticleInterRadius_t
typedef int pair_t
typedef RegionLayout< T, Dim, MeshRegionLayout_t
enum  { Dimension = Dim }
enum  UpdateFlags {
  SWAP , BCONDS , NUMFLAGS , OPTDESTROY ,
  ALL
}
typedef T Position_t
typedef Unique::type ID_t

Public Member Functions

 ParticleInteractLayout (FieldLayout< Dim > &)
 ParticleInteractLayout (FieldLayout< Dim > &, Mesh &)
 ParticleInteractLayout (const RegionLayout< T, Dim, Mesh > &)
 ParticleInteractLayout ()
 ~ParticleInteractLayout ()
void update (IpplParticleBase< ParticleInteractLayout< T, Dim, Mesh > > &p, const ParticleAttrib< char > *canSwap=0)
void getPairlist (unsigned, pair_iterator &, pair_iterator &, IpplParticleBase< ParticleInteractLayout< T, Dim, Mesh > > &)
void setInteractionRadius (const T &r)
void setInteractionRadius (ParticleInterRadius_t &rAttrib)
getMaxInteractionRadius ()
getInteractionRadius (unsigned i)
void setNeedGhostSwap (bool cond=true)
virtual void Repartition (UserList *)
FieldLayout< Dim > & getFieldLayout ()
RegionLayout< T, Dim, Mesh > & getLayout ()
const RegionLayout< T, Dim, Mesh > & getLayout () const
int getNodeCount (unsigned i) const
bool getEmptyNode (unsigned i) const
void update (IpplParticleBase< ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy > > &p, const ParticleAttrib< char > *canSwap=0)
void printDebug (Inform &)
virtual void notifyUserOfDelete (UserList *)
void enableCaching ()
void disableCaching ()
void setUpdateFlag (UpdateFlags f, bool val)
bool getUpdateFlag (UpdateFlags f) const
ParticleBConds< T, Dim > & getBConds ()
void setBConds (const ParticleBConds< T, Dim > &bc)
ID_t get_Id () const
void setCacheDimension (int d, T length)
void setAllCacheDimensions (T length)
template<class C>
void updateCacheInformation (ParticleSpatialLayout< T, Dim, Mesh, C > &PLayout)
template<class C>
void updateGhostParticles (IpplParticleBase< ParticleSpatialLayout< T, Dim, Mesh, C > > &PData, ParticleSpatialLayout< T, Dim, Mesh, C > &)

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, MeshRLayout
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)
getMaxLocalInteractionRadius ()

Private Attributes

bool NeedGhostSwap
bool * InterNodeList
bool * SentToNodeList
unsigned InteractionNodes
std::vector< std::vector< pair_t > * > PairList
InterRadius
MaxGlobalInterRadius
ParticleInterRadius_tInterRadiusArray
ParticleBConds< T, DimBoundConds
unsigned int UpdateOptions
boxDimension [Dim]
bool periodic [2 *Dim]
std::map< unsigned, std::list< std::pair< NDRegion< T, Dim >, Offset_t > > > regions

Detailed Description

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
class ParticleInteractLayout< T, Dim, Mesh >

Definition at line 61 of file ParticleInteractLayout.h.

Member Typedef Documentation

◆ ID_t

typedef Unique::type User::ID_t
inherited

Definition at line 35 of file User.h.

◆ Index_t

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
typedef ParticleLayout<T,Dim>::Index_t ParticleInteractLayout< T, Dim, Mesh >::Index_t

Definition at line 77 of file ParticleInteractLayout.h.

◆ pair_iterator

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
typedef std::vector<pair_t>::iterator ParticleInteractLayout< T, Dim, Mesh >::pair_iterator

Definition at line 73 of file ParticleInteractLayout.h.

◆ pair_t

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
typedef int ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::pair_t
inherited

Definition at line 70 of file ParticleSpatialLayout.h.

◆ ParticleIndex_t

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
typedef ParticleInteractAttrib<Index_t> ParticleInteractLayout< T, Dim, Mesh >::ParticleIndex_t

Definition at line 81 of file ParticleInteractLayout.h.

◆ ParticleInterRadius_t

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
typedef ParticleInteractAttrib<T> ParticleInteractLayout< T, Dim, Mesh >::ParticleInterRadius_t

Definition at line 82 of file ParticleInteractLayout.h.

◆ ParticlePos_t

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
typedef ParticleInteractAttrib<SingleParticlePos_t> ParticleInteractLayout< T, Dim, Mesh >::ParticlePos_t

Definition at line 80 of file ParticleInteractLayout.h.

◆ Position_t

template<class T, unsigned Dim>
typedef T ParticleLayout< T, Dim >::Position_t
inherited

Definition at line 62 of file ParticleLayout.h.

◆ RegionLayout_t

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
typedef RegionLayout<T,Dim,Mesh> ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RegionLayout_t
inherited

Definition at line 79 of file ParticleSpatialLayout.h.

◆ SingleParticlePos_t

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
typedef ParticleLayout<T,Dim>::SingleParticlePos_t ParticleInteractLayout< T, Dim, Mesh >::SingleParticlePos_t

Definition at line 76 of file ParticleInteractLayout.h.

Member Enumeration Documentation

◆ anonymous enum

template<class T, unsigned Dim>
anonymous enum
inherited
Enumerator
Dimension 

Definition at line 58 of file ParticleLayout.h.

◆ UpdateFlags

template<class T, unsigned Dim>
enum ParticleLayout::UpdateFlags
inherited
Enumerator
SWAP 
BCONDS 
NUMFLAGS 
OPTDESTROY 
ALL 

Definition at line 59 of file ParticleLayout.h.

Constructor & Destructor Documentation

◆ ParticleInteractLayout() [1/4]

template<class T, unsigned Dim, class Mesh>
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().

Here is the call graph for this function:

◆ ParticleInteractLayout() [2/4]

template<class T, unsigned Dim, class Mesh>
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().

Here is the call graph for this function:

◆ ParticleInteractLayout() [3/4]

template<class T, unsigned Dim, class Mesh>
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().

Here is the call graph for this function:

◆ ParticleInteractLayout() [4/4]

template<class T, unsigned Dim, class Mesh>
ParticleInteractLayout< T, Dim, Mesh >::ParticleInteractLayout ( )

Definition at line 64 of file ParticleInteractLayout.hpp.

References Dim, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleSpatialLayout(), and setup().

Here is the call graph for this function:

◆ ~ParticleInteractLayout()

template<class T, unsigned Dim, class Mesh>
ParticleInteractLayout< T, Dim, Mesh >::~ParticleInteractLayout ( )

Definition at line 91 of file ParticleInteractLayout.hpp.

References InterNodeList, PairList, and SentToNodeList.

Member Function Documentation

◆ apply_bconds()

template<class T, unsigned Dim>
template<class PPT, class NDI>
void ParticleLayout< T, Dim >::apply_bconds ( unsigned n,
PPT & R,
const ParticleBConds< T, Dim > & bcs,
const NDI & nr )
inlineprotectedinherited

◆ disableCaching()

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::disableCaching ( )
inlineinherited

Definition at line 172 of file ParticleSpatialLayout.h.

◆ enableCaching()

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::enableCaching ( )
inlineinherited

Definition at line 171 of file ParticleSpatialLayout.h.

◆ find_pairs()

template<class T, unsigned Dim, class Mesh>
void ParticleInteractLayout< T, Dim, Mesh >::find_pairs ( const unsigned LocalNum,
const unsigned a1,
const unsigned a2,
const bool initLists,
IpplParticleBase< ParticleInteractLayout< T, Dim, Mesh > > & PData )
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().

Here is the call graph for this function:

◆ get_Id()

ID_t User::get_Id ( ) const
inlineinherited

Definition at line 46 of file User.h.

References Id.

Referenced by UserList::checkinUser(), and UserList::checkoutUser().

◆ getBConds()

◆ getEmptyNode()

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
bool ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getEmptyNode ( unsigned i) const
inlineinherited

◆ getFieldLayout()

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
FieldLayout< Dim > & ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getFieldLayout ( )
inlineinherited

Definition at line 113 of file ParticleSpatialLayout.h.

◆ getInteractionRadius()

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
T ParticleInteractLayout< T, Dim, Mesh >::getInteractionRadius ( unsigned i)
inline

Definition at line 144 of file ParticleInteractLayout.h.

References InterRadius, and InterRadiusArray.

Referenced by find_pairs().

◆ getLayout() [1/2]

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
RegionLayout< T, Dim, Mesh > & ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout ( )
inlineinherited

◆ getLayout() [2/2]

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
const RegionLayout< T, Dim, Mesh > & ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout ( ) const
inlineinherited

Definition at line 123 of file ParticleSpatialLayout.h.

◆ getMaxInteractionRadius()

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
T ParticleInteractLayout< T, Dim, Mesh >::getMaxInteractionRadius ( )
inline

◆ getMaxLocalInteractionRadius()

template<class T, unsigned Dim, class Mesh>
T ParticleInteractLayout< T, Dim, Mesh >::getMaxLocalInteractionRadius ( )
private

Definition at line 104 of file ParticleInteractLayout.hpp.

References InterRadius, and InterRadiusArray.

Referenced by update().

◆ getNodeCount()

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
int ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getNodeCount ( unsigned i) const
inlineinherited

Definition at line 129 of file ParticleSpatialLayout.h.

Referenced by operator<<(), operator<<(), and operator<<().

◆ getPairlist()

template<class T, unsigned Dim, class Mesh>
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().

Here is the call graph for this function:

◆ getUpdateFlag()

◆ new_swap_particles() [1/2]

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
template<class PB>
size_t ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::new_swap_particles ( size_t LocalNum,
PB & PData )
inlineprotectedinherited

Definition at line 1073 of file ParticleSpatialLayout.h.

◆ new_swap_particles() [2/2]

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
template<class PB>
size_t ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::new_swap_particles ( size_t LocalNum,
PB & PData,
const ParticleAttrib< char > & canSwap )
inlineprotectedinherited

Definition at line 1194 of file ParticleSpatialLayout.h.

◆ notifyUserOfDelete()

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::notifyUserOfDelete ( UserList * )
virtualinherited

Implements User.

Definition at line 282 of file ParticleSpatialLayout.hpp.

◆ printDebug()

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::printDebug ( Inform & o)
inherited

Definition at line 259 of file ParticleSpatialLayout.hpp.

References IpplInfo::getNodes(), and NodeCount.

Here is the call graph for this function:

◆ rebuild_interaction_data() [1/2]

template<class T, unsigned Dim, class Mesh>
void ParticleInteractLayout< T, Dim, Mesh >::rebuild_interaction_data ( )
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().

Here is the call graph for this function:

◆ rebuild_interaction_data() [2/2]

template<class T, unsigned Dim, class Mesh>
void ParticleInteractLayout< T, Dim, Mesh >::rebuild_interaction_data ( const bool periodicBC[2 *Dim])
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().

Here is the call graph for this function:

◆ rebuild_layout()

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
template<class PB>
void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::rebuild_layout ( size_t haveLocal,
PB & PData )
inlineprotectedinherited

◆ Repartition()

template<class T, unsigned Dim, class Mesh>
void ParticleInteractLayout< T, Dim, Mesh >::Repartition ( UserList * userlist)
virtual

Reimplemented from ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >.

Definition at line 978 of file ParticleInteractLayout.hpp.

References UserList::getUserListID(), InteractionNodes, NeedGhostSwap, and setMaxInteractionRadius().

Here is the call graph for this function:

◆ setAllCacheDimensions()

template<class T, unsigned Dim, class Mesh>
void BoxParticleCachingPolicy< T, Dim, Mesh >::setAllCacheDimensions ( T length)
inlineinherited

Definition at line 35 of file BoxParticleCachingPolicy.h.

References boxDimension, and Dim.

◆ setBConds()

template<class T, unsigned Dim>
void ParticleLayout< T, Dim >::setBConds ( const ParticleBConds< T, Dim > & bc)
inlineinherited

Definition at line 94 of file ParticleLayout.h.

◆ setCacheDimension()

template<class T, unsigned Dim, class Mesh>
void BoxParticleCachingPolicy< T, Dim, Mesh >::setCacheDimension ( int d,
T length )
inlineinherited

◆ setInteractionRadius() [1/2]

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
void ParticleInteractLayout< T, Dim, Mesh >::setInteractionRadius ( const T & r)
inline

Definition at line 129 of file ParticleInteractLayout.h.

References InterRadius, and InterRadiusArray.

◆ setInteractionRadius() [2/2]

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
void ParticleInteractLayout< T, Dim, Mesh >::setInteractionRadius ( ParticleInterRadius_t & rAttrib)
inline

Definition at line 134 of file ParticleInteractLayout.h.

References InterRadiusArray.

◆ setMaxInteractionRadius()

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
void ParticleInteractLayout< T, Dim, Mesh >::setMaxInteractionRadius ( T maxval)
inlineprivate

Definition at line 212 of file ParticleInteractLayout.h.

References MaxGlobalInterRadius.

Referenced by Repartition(), and update().

◆ setNeedGhostSwap()

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
void ParticleInteractLayout< T, Dim, Mesh >::setNeedGhostSwap ( bool cond = true)
inline

Definition at line 151 of file ParticleInteractLayout.h.

References NeedGhostSwap.

◆ setup()

template<class T, unsigned Dim, class Mesh>
void ParticleInteractLayout< T, Dim, Mesh >::setup ( )
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().

Here is the call graph for this function:

◆ setUpdateFlag()

template<class T, unsigned Dim>
void ParticleLayout< T, Dim >::setUpdateFlag ( UpdateFlags f,
bool val )
inlineinherited

Definition at line 76 of file ParticleLayout.h.

Referenced by ParticleLayout(), and IpplParticleBase< Layout_t >::setUpdateFlag().

◆ short_swap_particles()

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
template<class PB>
size_t ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::short_swap_particles ( size_t LocalNum,
PB & PData )
inlineprotectedinherited

Definition at line 632 of file ParticleSpatialLayout.h.

◆ swap_ghost_particles() [1/2]

template<class T, unsigned Dim, class Mesh>
void ParticleInteractLayout< T, Dim, Mesh >::swap_ghost_particles ( unsigned LocalNum,
IpplParticleBase< ParticleInteractLayout< T, Dim, Mesh > > & PData )
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().

Here is the call graph for this function:

◆ swap_ghost_particles() [2/2]

◆ swap_particles() [1/2]

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
template<class PB>
size_t ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::swap_particles ( size_t LocalNum,
PB & PData )
inlineprotectedinherited

◆ swap_particles() [2/2]

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
template<class PB>
size_t ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::swap_particles ( size_t LocalNum,
PB & PData,
const ParticleAttrib< char > & canSwap )
inlineprotectedinherited

Definition at line 773 of file ParticleSpatialLayout.h.

◆ update() [1/2]

◆ update() [2/2]

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::update ( IpplParticleBase< ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy > > & p,
const ParticleAttrib< char > * canSwap = 0 )
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.

Here is the call graph for this function:

◆ updateCacheInformation()

◆ updateGhostParticles()

template<class T, unsigned Dim, class Mesh>
template<class C>
void BoxParticleCachingPolicy< T, Dim, Mesh >::updateGhostParticles ( IpplParticleBase< ParticleSpatialLayout< T, Dim, Mesh, C > > & PData,
ParticleSpatialLayout< T, Dim, Mesh, C > &  )
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().

Here is the call graph for this function:

Member Data Documentation

◆ BoundConds

template<class T, unsigned Dim>
ParticleBConds<T,Dim> ParticleLayout< T, Dim >::BoundConds
privateinherited

Definition at line 118 of file ParticleLayout.h.

◆ boxDimension

template<class T, unsigned Dim, class Mesh>
T BoxParticleCachingPolicy< T, Dim, Mesh >::boxDimension[Dim]
privateinherited

◆ caching

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
bool ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::caching
protectedinherited

Definition at line 191 of file ParticleSpatialLayout.h.

Referenced by setup().

◆ EmptyNode

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
bool* ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::EmptyNode
protectedinherited

Definition at line 182 of file ParticleSpatialLayout.h.

Referenced by ~ParticleSpatialLayout().

◆ Id

ID_t User::Id
protectedinherited

Definition at line 58 of file User.h.

Referenced by get_Id(), and User().

◆ InteractionNodes

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
unsigned ParticleInteractLayout< T, Dim, Mesh >::InteractionNodes
private

◆ InterNodeList

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
bool* ParticleInteractLayout< T, Dim, Mesh >::InterNodeList
private

◆ InterRadius

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
T ParticleInteractLayout< T, Dim, Mesh >::InterRadius
private

◆ InterRadiusArray

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
ParticleInterRadius_t* ParticleInteractLayout< T, Dim, Mesh >::InterRadiusArray
private

◆ MaxGlobalInterRadius

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
T ParticleInteractLayout< T, Dim, Mesh >::MaxGlobalInterRadius
private

◆ NeedGhostSwap

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
bool ParticleInteractLayout< T, Dim, Mesh >::NeedGhostSwap
private

◆ NeighborNodes

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
unsigned ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NeighborNodes[Dim]
protectedinherited

Definition at line 188 of file ParticleSpatialLayout.h.

◆ NodeCount

◆ PairList

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
std::vector< std::vector<pair_t>* > ParticleInteractLayout< T, Dim, Mesh >::PairList
private

Definition at line 170 of file ParticleInteractLayout.h.

Referenced by find_pairs(), getPairlist(), and ~ParticleInteractLayout().

◆ periodic

template<class T, unsigned Dim, class Mesh>
bool BoxParticleCachingPolicy< T, Dim, Mesh >::periodic[2 *Dim]
privateinherited

Definition at line 261 of file BoxParticleCachingPolicy.h.

Referenced by updateCacheInformation().

◆ PutList

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
std::vector<size_t>* ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::PutList
protectedinherited

Definition at line 189 of file ParticleSpatialLayout.h.

Referenced by setup(), and ~ParticleSpatialLayout().

◆ regions

template<class T, unsigned Dim, class Mesh>
std::map<unsigned, std::list<std::pair<NDRegion<T,Dim>, Offset_t> > > BoxParticleCachingPolicy< T, Dim, Mesh >::regions
privateinherited

Definition at line 262 of file BoxParticleCachingPolicy.h.

Referenced by updateCacheInformation(), and updateGhostParticles().

◆ RLayout

◆ SentToNodeList

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>>
bool* ParticleInteractLayout< T, Dim, Mesh >::SentToNodeList
private

Definition at line 166 of file ParticleInteractLayout.h.

Referenced by setup(), swap_ghost_particles(), and ~ParticleInteractLayout().

◆ SwapMsgList

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
Message** ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapMsgList
protectedinherited

◆ SwapNodeList

template<class T, unsigned Dim, class Mesh = UniformCartesian<Dim,T>, class CachingPolicy = BoxParticleCachingPolicy<T,Dim,Mesh >>
bool* ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapNodeList[Dim]
protectedinherited

Definition at line 186 of file ParticleSpatialLayout.h.

Referenced by setup(), and ~ParticleSpatialLayout().

◆ UpdateOptions

template<class T, unsigned Dim>
unsigned int ParticleLayout< T, Dim >::UpdateOptions
privateinherited

Definition at line 121 of file ParticleLayout.h.


The documentation for this class was generated from the following files: