SpatialLayout< M, FL > Class Template Reference

SpatialLayout is one of the particle layout classes that determine where particles should be located. More...

#include <SpatialLayout.h>

Inheritance diagram for SpatialLayout< M, FL >:

Inheritance graph
[legend]
Collaboration diagram for SpatialLayout< M, FL >:

Collaboration graph
[legend]

List of all members.

Public Types

enum  { dimensions = Mesh_t::dimensions }
typedef SpatialLayout< M, FL > This_t
typedef PatchSwapLayout< This_tBase_t
typedef M Mesh_t
typedef FL FieldLayout_t
typedef FieldLayout_t::Domain_t Domain_t
typedef Mesh_t::T_t AxisType_t
typedef Mesh_t::PointType_t PointType_t
typedef Base_t::Size_t Size_t
typedef Base_t::AmountArray_t AmountArray_t
typedef Base_t::MoveArray_t MoveArray_t

Public Member Functions

 SpatialLayout ()
 SpatialLayout (const Mesh_t &mesh, const FieldLayout_t &layout)
 SpatialLayout (const This_t &s)
This_toperator= (const This_t &s)
void initialize (const This_t &s)
void initialize (const Mesh_t &mesh, const FieldLayout_t &layout)
bool initialized () const
 ~SpatialLayout ()
const FieldLayout_tlayout () const
const Mesh_tmesh () const
int patchesGlobal () const
int patchesLocal () const
int patchesRemote () const
template<class AL >
void initializeAttributeLayout (AL &attriblayout)
template<class Attr >
Size_t findPatchNumber (int lid, int gid, const Attr &pos, MoveArray_t &movepid, AmountArray_t &moveamount)
template<class Out >
void print (Out &o) const


Detailed Description

template<class M, class FL>
class SpatialLayout< M, FL >

SpatialLayout is one of the particle layout classes that determine where particles should be located.

It derives from PatchSwapLayout, since it is a layout that will use the infrastructure of PatchSwapLayout to swap particles from one patch to another. It does this with a spatial decomposition algorithm: given a Mesh and a Layout from a Field (which describes how the domain is decomposed into patches assigned to memory contexts), particles are moved within patches based on their spatial position.


Member Typedef Documentation

template<class M , class FL >
typedef SpatialLayout<M,FL> SpatialLayout< M, FL >::This_t

template<class M , class FL >
typedef PatchSwapLayout<This_t> SpatialLayout< M, FL >::Base_t

template<class M , class FL >
typedef M SpatialLayout< M, FL >::Mesh_t

template<class M , class FL >
typedef FL SpatialLayout< M, FL >::FieldLayout_t

template<class M , class FL >
typedef FieldLayout_t::Domain_t SpatialLayout< M, FL >::Domain_t

template<class M , class FL >
typedef Mesh_t::T_t SpatialLayout< M, FL >::AxisType_t

template<class M , class FL >
typedef Mesh_t::PointType_t SpatialLayout< M, FL >::PointType_t

template<class M , class FL >
typedef Base_t::Size_t SpatialLayout< M, FL >::Size_t

template<class M , class FL >
typedef Base_t::AmountArray_t SpatialLayout< M, FL >::AmountArray_t

template<class M , class FL >
typedef Base_t::MoveArray_t SpatialLayout< M, FL >::MoveArray_t


Member Enumeration Documentation

template<class M , class FL >
anonymous enum

Enumerator:
dimensions 


Constructor & Destructor Documentation

template<class M , class FL >
SpatialLayout< M, FL >::SpatialLayout (  )  [inline]

template<class M , class FL >
SpatialLayout< M, FL >::SpatialLayout ( const Mesh_t mesh,
const FieldLayout_t layout 
) [inline]

template<class M , class FL >
SpatialLayout< M, FL >::SpatialLayout ( const This_t s  )  [inline]

template<class M , class FL >
SpatialLayout< M, FL >::~SpatialLayout (  )  [inline]


Member Function Documentation

template<class M , class FL >
This_t& SpatialLayout< M, FL >::operator= ( const This_t s  )  [inline]

template<class M , class FL >
void SpatialLayout< M, FL >::initialize ( const This_t s  )  [inline]

template<class M , class FL >
void SpatialLayout< M, FL >::initialize ( const Mesh_t mesh,
const FieldLayout_t layout 
) [inline]

template<class M , class FL >
bool SpatialLayout< M, FL >::initialized (  )  const [inline]

template<class M , class FL >
const FieldLayout_t& SpatialLayout< M, FL >::layout (  )  const [inline]

template<class M , class FL >
const Mesh_t& SpatialLayout< M, FL >::mesh (  )  const [inline]

template<class M , class FL >
int SpatialLayout< M, FL >::patchesGlobal (  )  const [inline]

template<class M , class FL >
int SpatialLayout< M, FL >::patchesLocal (  )  const [inline]

template<class M , class FL >
int SpatialLayout< M, FL >::patchesRemote (  )  const [inline]

template<class M , class FL >
template<class AL >
void SpatialLayout< M, FL >::initializeAttributeLayout ( AL &  attriblayout  )  [inline]

template<class M , class FL >
template<class Attr >
Size_t SpatialLayout< M, FL >::findPatchNumber ( int  lid,
int  gid,
const Attr &  pos,
MoveArray_t movepid,
AmountArray_t moveamount 
) [inline]

template<class M , class FL >
template<class Out >
void SpatialLayout< M, FL >::print ( Out &  o  )  const [inline]


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

Generated on Wed Mar 16 06:20:38 2011 for FreePOOMA by  doxygen 1.5.9