|
FreePOOMA
2.4.1
|
SpatialLayout is one of the particle layout classes that determine where particles should be located. More...
#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 |
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.
| 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] |
References SpatialLayout< M, FL >::layout(), and SpatialLayout< M, FL >::mesh().
| 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] |
1.7.6.1