OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ParticleCashedLayout< T, Dim, Mesh > Class Template Reference

#include <ParticleCashedLayout.h>

Inheritance diagram for ParticleCashedLayout< T, Dim, Mesh >:
Inheritance graph
[legend]
Collaboration diagram for ParticleCashedLayout< T, Dim, Mesh >:
Collaboration graph
[legend]

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< TParticleInterRadius_t
 
- Public Types inherited from ParticleSpatialLayout< T, Dim, Mesh >
typedef int pair_t
 
typedef pair_tpair_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_tParticleIndex_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, DimSingleParticlePos_t
 
- Public Types inherited from User
typedef Unique::type ID_t
 

Public Member Functions

 ParticleCashedLayout (FieldLayout< Dim > &)
 
 ParticleCashedLayout (FieldLayout< Dim > &, Mesh &)
 
 ParticleCashedLayout (const RegionLayout< T, Dim, Mesh > &)
 
 ParticleCashedLayout ()
 
 ~ParticleCashedLayout ()
 
void update (IpplParticleBase< ParticleCashedLayout< T, Dim, Mesh > > &p, const ParticleAttrib< char > *canSwap=0)
 
void getCashedParticles (IpplParticleBase< ParticleCashedLayout< T, Dim, Mesh > > &)
 
void setInteractionRadius (const T &r)
 
T getMaxInteractionRadius ()
 
T getInteractionRadius (unsigned i)
 
void setNeedGhostSwap (bool cond=true)
 
virtual void Repartition (UserList *)
 
- Public Member Functions inherited from ParticleSpatialLayout< T, Dim, Mesh >
 ParticleSpatialLayout (FieldLayout< Dim > &)
 
 ParticleSpatialLayout (FieldLayout< Dim > &, Mesh &)
 
 ParticleSpatialLayout (const RegionLayout< T, Dim, Mesh > &)
 
 ParticleSpatialLayout ()
 
 ~ParticleSpatialLayout ()
 
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 *)
 
int getNeighborNode (unsigned int d, unsigned int n)
 
void enableCaching ()
 
void disableCaching ()
 
- Public Member Functions inherited from ParticleLayout< T, Dim >
 ParticleLayout ()
 
 ~ParticleLayout ()
 
void setUpdateFlag (UpdateFlags f, bool val)
 
bool getUpdateFlag (UpdateFlags f) const
 
ParticleBConds< T, Dim > & getBConds ()
 
void setBConds (const ParticleBConds< T, Dim > &bc)
 
- Public Member Functions inherited from FieldLayoutUser
 FieldLayoutUser ()
 
virtual ~FieldLayoutUser ()
 
- Public Member Functions inherited from User
 User ()
 
virtual ~User ()
 
ID_t get_Id () const
 

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
 

Additional Inherited Members

- Protected Member Functions inherited from ParticleSpatialLayout< T, Dim, Mesh >
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)
 
- 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 Attributes inherited from ParticleSpatialLayout< T, Dim, Mesh >
RegionLayout< T, Dim, MeshRLayout
 
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
 

Detailed Description

template<class T, unsigned Dim, class Mesh>
class ParticleCashedLayout< T, Dim, Mesh >

Definition at line 41 of file ParticleCashedLayout.h.

Member Typedef Documentation

template<class T , unsigned Dim, class Mesh >
typedef ParticleLayout<T, Dim>::Index_t ParticleCashedLayout< T, Dim, Mesh >::Index_t

Definition at line 58 of file ParticleCashedLayout.h.

template<class T , unsigned Dim, class Mesh >
typedef ParticleInteractAttrib<Index_t> ParticleCashedLayout< T, Dim, Mesh >::ParticleIndex_t

Definition at line 62 of file ParticleCashedLayout.h.

template<class T , unsigned Dim, class Mesh >
typedef ParticleInteractAttrib<T> ParticleCashedLayout< T, Dim, Mesh >::ParticleInterRadius_t

Definition at line 63 of file ParticleCashedLayout.h.

template<class T , unsigned Dim, class Mesh >
typedef ParticleInteractAttrib<SingleParticlePos_t> ParticleCashedLayout< T, Dim, Mesh >::ParticlePos_t

Definition at line 61 of file ParticleCashedLayout.h.

template<class T , unsigned Dim, class Mesh >
typedef ParticleLayout<T, Dim>::SingleParticlePos_t ParticleCashedLayout< T, Dim, Mesh >::SingleParticlePos_t

Definition at line 57 of file ParticleCashedLayout.h.

Constructor & Destructor Documentation

template<class T , unsigned Dim, class Mesh >
ParticleCashedLayout< T, Dim, Mesh >::ParticleCashedLayout ( FieldLayout< Dim > &  fl)

Definition at line 56 of file ParticleCashedLayout.hpp.

References ParticleCashedLayout< T, Dim, Mesh >::setup().

Here is the call graph for this function:

template<class T , unsigned Dim, class Mesh >
ParticleCashedLayout< T, Dim, Mesh >::ParticleCashedLayout ( FieldLayout< Dim > &  fl,
Mesh mesh 
)

Definition at line 66 of file ParticleCashedLayout.hpp.

References ParticleCashedLayout< T, Dim, Mesh >::setup().

Here is the call graph for this function:

template<class T , unsigned Dim, class Mesh >
ParticleCashedLayout< T, Dim, Mesh >::ParticleCashedLayout ( const RegionLayout< T, Dim, Mesh > &  rl)

Definition at line 76 of file ParticleCashedLayout.hpp.

References ParticleCashedLayout< T, Dim, Mesh >::setup().

Here is the call graph for this function:

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

Definition at line 86 of file ParticleCashedLayout.hpp.

References ParticleCashedLayout< T, Dim, Mesh >::setup().

Here is the call graph for this function:

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

Definition at line 112 of file ParticleCashedLayout.hpp.

Member Function Documentation

template<class T , unsigned Dim, class Mesh >
void ParticleCashedLayout< T, Dim, Mesh >::getCashedParticles ( IpplParticleBase< ParticleCashedLayout< T, Dim, Mesh > > &  PData)

Definition at line 135 of file ParticleCashedLayout.hpp.

References Dim, and ParticlePeriodicBCond().

Here is the call graph for this function:

template<class T , unsigned Dim, class Mesh >
T ParticleCashedLayout< T, Dim, Mesh >::getInteractionRadius ( unsigned  i)
inline
template<class T , unsigned Dim, class Mesh >
T ParticleCashedLayout< T, Dim, Mesh >::getMaxInteractionRadius ( )
inline
template<class T , unsigned Dim, class Mesh >
T ParticleCashedLayout< T, Dim, Mesh >::getMaxLocalInteractionRadius ( )
private

Definition at line 123 of file ParticleCashedLayout.hpp.

template<class T , unsigned Dim, class Mesh >
void ParticleCashedLayout< T, Dim, Mesh >::rebuild_interaction_data ( )
private
template<class T , unsigned Dim, class Mesh >
void ParticleCashedLayout< T, Dim, Mesh >::rebuild_interaction_data ( const bool  periodicBC[2 *Dim])
private
template<class T , unsigned Dim, class Mesh >
void ParticleCashedLayout< T, Dim, Mesh >::Repartition ( UserList userlist)
virtual

Reimplemented from ParticleSpatialLayout< T, Dim, Mesh >.

Definition at line 923 of file ParticleCashedLayout.hpp.

References UserList::getUserListID().

Here is the call graph for this function:

template<class T , unsigned Dim, class Mesh >
void ParticleCashedLayout< T, Dim, Mesh >::setInteractionRadius ( const T r)
inline
template<class T , unsigned Dim, class Mesh >
void ParticleCashedLayout< T, Dim, Mesh >::setMaxInteractionRadius ( T  maxval)
inlineprivate
template<class T , unsigned Dim, class Mesh >
void ParticleCashedLayout< T, Dim, Mesh >::setNeedGhostSwap ( bool  cond = true)
inline
template<class T , unsigned Dim, class Mesh >
void ParticleCashedLayout< T, Dim, Mesh >::setup ( void  )
private

Definition at line 95 of file ParticleCashedLayout.hpp.

References IpplInfo::getNodes().

Referenced by ParticleCashedLayout< T, Dim, Mesh >::ParticleCashedLayout().

Here is the call graph for this function:

template<class T , unsigned Dim, class Mesh >
void ParticleCashedLayout< T, Dim, Mesh >::swap_ghost_particles ( unsigned  LocalNum,
IpplParticleBase< ParticleCashedLayout< T, Dim, Mesh > > &  PData 
)
private

Definition at line 553 of file ParticleCashedLayout.hpp.

References IpplInfo::getNodes(), and T.

Here is the call graph for this function:

template<class T , unsigned Dim, class Mesh >
void ParticleCashedLayout< T, Dim, Mesh >::swap_ghost_particles ( unsigned  LocalNum,
IpplParticleBase< ParticleCashedLayout< T, Dim, Mesh > > &  PData,
const bool  periodicBC[2 *Dim] 
)
private
template<class T , unsigned Dim, class Mesh >
void ParticleCashedLayout< T, Dim, Mesh >::update ( IpplParticleBase< ParticleCashedLayout< T, Dim, Mesh > > &  p,
const ParticleAttrib< char > *  canSwap = 0 
)

Member Data Documentation

template<class T , unsigned Dim, class Mesh >
unsigned ParticleCashedLayout< T, Dim, Mesh >::InteractionNodes
private

Definition at line 138 of file ParticleCashedLayout.h.

template<class T , unsigned Dim, class Mesh >
bool* ParticleCashedLayout< T, Dim, Mesh >::InterNodeList
private

Definition at line 136 of file ParticleCashedLayout.h.

template<class T , unsigned Dim, class Mesh >
T ParticleCashedLayout< T, Dim, Mesh >::InterRadius
private
template<class T , unsigned Dim, class Mesh >
T ParticleCashedLayout< T, Dim, Mesh >::MaxGlobalInterRadius
private
template<class T , unsigned Dim, class Mesh >
bool ParticleCashedLayout< T, Dim, Mesh >::NeedGhostSwap
private
template<class T , unsigned Dim, class Mesh >
bool* ParticleCashedLayout< T, Dim, Mesh >::SentToNodeList
private

Definition at line 137 of file ParticleCashedLayout.h.


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