#include <SpatialLayout.h>
Public Types | |
enum | { dimensions = Mesh_t::dimensions } |
typedef SpatialLayout< M, FL > | This_t |
typedef PatchSwapLayout< This_t > | Base_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_t & | operator= (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_t & | layout () const |
const Mesh_t & | mesh () 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 |
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.
typedef SpatialLayout<M,FL> SpatialLayout< M, FL >::This_t |
Reimplemented from PatchSwapLayout< SpatialLayout< M, FL > >.
typedef PatchSwapLayout<This_t> SpatialLayout< M, FL >::Base_t |
typedef M SpatialLayout< M, FL >::Mesh_t |
typedef FL SpatialLayout< M, FL >::FieldLayout_t |
typedef FieldLayout_t::Domain_t SpatialLayout< M, FL >::Domain_t |
typedef Mesh_t::T_t SpatialLayout< M, FL >::AxisType_t |
typedef Mesh_t::PointType_t SpatialLayout< M, FL >::PointType_t |
typedef Base_t::Size_t SpatialLayout< M, FL >::Size_t |
Reimplemented from PatchSwapLayout< SpatialLayout< M, FL > >.
typedef Base_t::AmountArray_t SpatialLayout< M, FL >::AmountArray_t |
Reimplemented from PatchSwapLayout< SpatialLayout< M, FL > >.
typedef Base_t::MoveArray_t SpatialLayout< M, FL >::MoveArray_t |
Reimplemented from PatchSwapLayout< SpatialLayout< M, FL > >.
SpatialLayout< M, FL >::SpatialLayout | ( | ) | [inline] |
References CTAssert, and SpatialLayout< M, FL >::dimensions.
SpatialLayout< M, FL >::SpatialLayout | ( | const Mesh_t & | mesh, | |
const FieldLayout_t & | layout | |||
) | [inline] |
References CTAssert, and SpatialLayout< M, FL >::dimensions.
SpatialLayout< M, FL >::SpatialLayout | ( | const This_t & | s | ) | [inline] |
References CTAssert, and SpatialLayout< M, FL >::dimensions.
SpatialLayout< M, FL >::~SpatialLayout | ( | ) | [inline] |
This_t& SpatialLayout< M, FL >::operator= | ( | const This_t & | s | ) | [inline] |
References SpatialLayout< M, FL >::layout(), and SpatialLayout< M, FL >::mesh().
void SpatialLayout< M, FL >::initialize | ( | const This_t & | s | ) | [inline] |
References SpatialLayout< M, FL >::layout(), and SpatialLayout< M, FL >::mesh().
void SpatialLayout< M, FL >::initialize | ( | const Mesh_t & | mesh, | |
const FieldLayout_t & | layout | |||
) | [inline] |
bool SpatialLayout< M, FL >::initialized | ( | ) | const [inline] |
const FieldLayout_t& SpatialLayout< M, FL >::layout | ( | ) | const [inline] |
Referenced by SpatialLayout< M, FL >::findPatchNumber(), SpatialLayout< M, FL >::initialize(), SpatialLayout< M, FL >::initializeAttributeLayout(), SpatialLayout< M, FL >::operator=(), SpatialLayout< M, FL >::patchesGlobal(), SpatialLayout< M, FL >::patchesLocal(), and SpatialLayout< M, FL >::patchesRemote().
const Mesh_t& SpatialLayout< M, FL >::mesh | ( | ) | const [inline] |
Referenced by SpatialLayout< M, FL >::initialize(), and SpatialLayout< M, FL >::operator=().
int SpatialLayout< M, FL >::patchesGlobal | ( | ) | const [inline] |
References SpatialLayout< M, FL >::layout().
Referenced by SpatialLayout< M, FL >::findPatchNumber().
int SpatialLayout< M, FL >::patchesLocal | ( | ) | const [inline] |
References SpatialLayout< M, FL >::layout().
int SpatialLayout< M, FL >::patchesRemote | ( | ) | const [inline] |
References SpatialLayout< M, FL >::layout().
void SpatialLayout< M, FL >::initializeAttributeLayout | ( | AL & | attriblayout | ) | [inline] |
References SpatialLayout< M, FL >::layout().
Size_t SpatialLayout< M, FL >::findPatchNumber | ( | int | lid, | |
int | gid, | |||
const Attr & | pos, | |||
MoveArray_t & | movepid, | |||
AmountArray_t & | moveamount | |||
) | [inline] |
void SpatialLayout< M, FL >::print | ( | Out & | o | ) | const [inline] |