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

#include <BoxParticleCachingPolicy.h>

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

Public Types

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

 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 Repartition (UserList *)
 
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
 

Protected Member Functions

void setup ()
 
void rebuild_neighbor_data ()
 
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 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
 
- Protected Attributes inherited from User
ID_t Id
 

Detailed Description

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
class ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >

Definition at line 19 of file BoxParticleCachingPolicy.h.

Member Typedef Documentation

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

Definition at line 75 of file ParticleSpatialLayout.h.

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
typedef pair_t* ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::pair_iterator

Definition at line 72 of file ParticleSpatialLayout.h.

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
typedef int ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::pair_t

Definition at line 71 of file ParticleSpatialLayout.h.

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
typedef ParticleAttrib<Index_t> ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticleIndex_t

Definition at line 79 of file ParticleSpatialLayout.h.

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
typedef ParticleAttrib<SingleParticlePos_t> ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::ParticlePos_t

Definition at line 78 of file ParticleSpatialLayout.h.

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
typedef RegionLayout<T,Dim,Mesh> ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RegionLayout_t

Definition at line 80 of file ParticleSpatialLayout.h.

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

Definition at line 74 of file ParticleSpatialLayout.h.

Constructor & Destructor Documentation

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

Definition at line 45 of file ParticleSpatialLayout.hpp.

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

Here is the call graph for this function:

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

Definition at line 55 of file ParticleSpatialLayout.hpp.

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

Here is the call graph for this function:

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

Definition at line 66 of file ParticleSpatialLayout.hpp.

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

Here is the call graph for this function:

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

Definition at line 77 of file ParticleSpatialLayout.hpp.

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

Here is the call graph for this function:

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

Definition at line 122 of file ParticleSpatialLayout.hpp.

References Dim.

Member Function Documentation

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::disableCaching ( )
inline

Definition at line 185 of file ParticleSpatialLayout.h.

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::enableCaching ( )
inline

Definition at line 184 of file ParticleSpatialLayout.h.

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
bool ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getEmptyNode ( unsigned  i) const
inline
template<class T, unsigned Dim, class Mesh, class CachingPolicy>
FieldLayout<Dim>& ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getFieldLayout ( )
inline

Definition at line 114 of file ParticleSpatialLayout.h.

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
RegionLayout<T,Dim,Mesh>& ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout ( )
inline
template<class T, unsigned Dim, class Mesh, class CachingPolicy>
const RegionLayout<T,Dim,Mesh>& ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout ( ) const
inline

Definition at line 124 of file ParticleSpatialLayout.h.

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
int ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getNeighborNode ( unsigned int  d,
unsigned int  n 
)
inline

Definition at line 173 of file ParticleSpatialLayout.h.

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
int ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getNodeCount ( unsigned  i) const
inline

Definition at line 130 of file ParticleSpatialLayout.h.

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

Definition at line 1162 of file ParticleSpatialLayout.h.

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

Definition at line 1290 of file ParticleSpatialLayout.h.

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

Implements User.

Definition at line 449 of file ParticleSpatialLayout.hpp.

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

Definition at line 416 of file ParticleSpatialLayout.hpp.

References IpplInfo::getNodes().

Here is the call graph for this function:

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

Definition at line 220 of file ParticleSpatialLayout.h.

template<class T , unsigned Dim, class Mesh , class CachingPolicy >
void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::rebuild_neighbor_data ( )
protected
template<class T , unsigned Dim, class Mesh , class CachingPolicy >
void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::Repartition ( UserList userlist)
virtual

Implements FieldLayoutUser.

Reimplemented in ParticleInteractLayout< T, Dim, Mesh >, and ParticleCashedLayout< T, Dim, Mesh >.

Definition at line 430 of file ParticleSpatialLayout.hpp.

References UserList::getUserListID().

Here is the call graph for this function:

template<class T , unsigned Dim, class Mesh , class CachingPolicy >
void ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::setup ( void  )
protected

Definition at line 86 of file ParticleSpatialLayout.hpp.

References Dim, and IpplInfo::getNodes().

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

Here is the call graph for this function:

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

Definition at line 695 of file ParticleSpatialLayout.h.

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

Definition at line 348 of file ParticleSpatialLayout.h.

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

Definition at line 842 of file ParticleSpatialLayout.h.

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 
)

Member Data Documentation

template<class T, unsigned Dim, class Mesh, class CachingPolicy>
bool ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::caching
protected
template<class T, unsigned Dim, class Mesh, class CachingPolicy>
bool* ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::EmptyNode
protected
template<class T, unsigned Dim, class Mesh, class CachingPolicy>
unsigned ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NeighborNodes[Dim]
protected
template<class T, unsigned Dim, class Mesh, class CachingPolicy>
size_t* ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::NodeCount
protected
template<class T, unsigned Dim, class Mesh, class CachingPolicy>
std::vector<size_t>* ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::PutList
protected
template<class T, unsigned Dim, class Mesh, class CachingPolicy>
RegionLayout<T,Dim,Mesh> ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::RLayout
protected
template<class T, unsigned Dim, class Mesh, class CachingPolicy>
Message** ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapMsgList
protected
template<class T, unsigned Dim, class Mesh, class CachingPolicy>
bool* ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::SwapNodeList[Dim]
protected

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