FreePOOMA
2.4.1
|
Holds the data for a GridLayout. More...
#include <GridLayout.h>
Public Types | |
enum | { dimensions = Dim } |
enum | { repartitionEvent = 1 } |
enum | { dynamic = false } |
typedef GridLayoutData< Dim > | This_t |
typedef Observable< This_t > | Observable_t |
typedef Interval< Dim > | Domain_t |
typedef Interval< Dim > | BaseDomain_t |
typedef int | Context_t |
typedef Unique::Value_t | ID_t |
typedef Node< Domain_t > | Value_t |
typedef std::vector< Value_t * > | List_t |
typedef GuardLayers< Dim > | GuardLayers_t |
typedef int | AxisIndex_t |
typedef DynamicEvents::PatchID_t | PatchID_t |
typedef DynamicEvents::CreateSize_t | CreateSize_t |
typedef LayoutBaseData< Dim > ::GCFillInfo_t | GCFillInfo_t |
typedef std::vector < GCFillInfo_t > ::const_iterator | FillIterator_t |
Public Member Functions | |
GridLayoutData () | |
Default constructor for GridLayoutData, this sets up this object to look like an "empty" layout, with no patches and an empty domain with no guard cells. | |
template<class Partitioner > | |
GridLayoutData (const Domain_t &gdom, const Partitioner &gpar, const ContextMapper< Dim > &cmap) | |
If we specify a partitioner, then we'll get the guard-cell sizes from it. | |
template<class Partitioner > | |
GridLayoutData (const Grid< Dim > &gdom, const Partitioner &gpar, const ContextMapper< Dim > &cmap) | |
If we specify a partitioner, then we'll get the guard-cell sizes from it. | |
~GridLayoutData () | |
This is only called when all references to this data go away, in which case we need to delete our nodes. | |
template<class Partitioner > | |
void | initialize (const Domain_t &gdom, const Partitioner &gpar, const ContextMapper< Dim > &cmap) |
Initialize this object by invoking the partitioner and setting up the domains and guard cell filling info. | |
template<class Partitioner > | |
void | initialize (const Grid< Dim > &gdom, const Partitioner &gpar, const ContextMapper< Dim > &cmap) |
Initialize this object by invoking the partitioner and setting up the domains and guard cell filling info. | |
FillIterator_t | beginFillList () const |
Iterators into the fill list. | |
FillIterator_t | endFillList () const |
template<class OtherDomain , class OutIter , class ConstructTag > | |
int | touches (const OtherDomain &fulld, OutIter o, const ConstructTag &ctag) const |
Find all subdomains that touch on a given domain, and insert the intersection of these subdomains into the given output iterator. | |
template<class OtherDomain , class OutIter , class ConstructTag > | |
int | touchesAlloc (const OtherDomain &fulld, OutIter o, const ConstructTag &ctag) const |
Find all subdomains that touch on a given domain, and insert the intersection of these subdomains into the given output iterator. | |
void | sync () |
template<class Out > | |
void | print (Out &ostr) |
Accessors | |
const Loc< Dim > & | blocks () const |
number of blocks along each axis. | |
bool | dirty () const |
int | globalID (const Loc< Dim > &loc) const |
Accessors for getting the global ID of the patch containing a particular element. | |
int | globalID (int) const |
int | globalID (int, int) const |
int | globalID (int, int, int) const |
int | globalID (int, int, int, int) const |
int | globalID (int, int, int, int, int) const |
int | globalID (int, int, int, int, int, int) const |
int | globalID (int, int, int, int, int, int, int) const |
Holds the data for a GridLayout.
That class has a ref counted instance of this class
typedef GridLayoutData<Dim> GridLayoutData< Dim >::This_t |
typedef Observable<This_t> GridLayoutData< Dim >::Observable_t |
typedef Interval<Dim> GridLayoutData< Dim >::Domain_t |
Reimplemented from LayoutBaseData< Dim >.
typedef Interval<Dim> GridLayoutData< Dim >::BaseDomain_t |
Reimplemented from LayoutBaseData< Dim >.
typedef int GridLayoutData< Dim >::Context_t |
Reimplemented from LayoutBaseData< Dim >.
typedef Unique::Value_t GridLayoutData< Dim >::ID_t |
Reimplemented from LayoutBaseData< Dim >.
typedef Node<Domain_t> GridLayoutData< Dim >::Value_t |
Reimplemented from LayoutBaseData< Dim >.
typedef std::vector<Value_t *> GridLayoutData< Dim >::List_t |
Reimplemented from LayoutBaseData< Dim >.
typedef GuardLayers<Dim> GridLayoutData< Dim >::GuardLayers_t |
Reimplemented from LayoutBaseData< Dim >.
typedef int GridLayoutData< Dim >::AxisIndex_t |
typedef DynamicEvents::PatchID_t GridLayoutData< Dim >::PatchID_t |
typedef DynamicEvents::CreateSize_t GridLayoutData< Dim >::CreateSize_t |
typedef LayoutBaseData<Dim>::GCFillInfo_t GridLayoutData< Dim >::GCFillInfo_t |
Reimplemented from LayoutBaseData< Dim >.
typedef std::vector<GCFillInfo_t>::const_iterator GridLayoutData< Dim >::FillIterator_t |
Reimplemented from LayoutBaseData< Dim >.
GridLayoutData< Dim >::GridLayoutData | ( | ) |
Default constructor for GridLayoutData, this sets up this object to look like an "empty" layout, with no patches and an empty domain with no guard cells.
The "initialize" method can be used to change it to a different state.
GridLayoutData< Dim >::GridLayoutData | ( | const Domain_t & | gdom, |
const Partitioner & | gpar, | ||
const ContextMapper< Dim > & | cmap | ||
) |
If we specify a partitioner, then we'll get the guard-cell sizes from it.
GridLayoutData< Dim >::GridLayoutData | ( | const Grid< Dim > & | gdom, |
const Partitioner & | gpar, | ||
const ContextMapper< Dim > & | cmap | ||
) |
If we specify a partitioner, then we'll get the guard-cell sizes from it.
GridLayoutData< Dim >::~GridLayoutData | ( | ) |
This is only called when all references to this data go away, in which case we need to delete our nodes.
The Observable destructor will broadcast messages up to all observers of the Layout.
void GridLayoutData< Dim >::initialize | ( | const Domain_t & | gdom, |
const Partitioner & | gpar, | ||
const ContextMapper< Dim > & | cmap | ||
) |
Initialize this object by invoking the partitioner and setting up the domains and guard cell filling info.
This can be called after using the default constructor.
void GridLayoutData< Dim >::initialize | ( | const Grid< Dim > & | gdom, |
const Partitioner & | gpar, | ||
const ContextMapper< Dim > & | cmap | ||
) | [inline] |
Initialize this object by invoking the partitioner and setting up the domains and guard cell filling info.
This can be called after using the default constructor.
const Loc<Dim>& GridLayoutData< Dim >::blocks | ( | ) | const [inline] |
number of blocks along each axis.
Reimplemented from LayoutBaseData< Dim >.
References LayoutBaseData< Dim >::blocks_m.
bool GridLayoutData< Dim >::dirty | ( | ) | const [inline] |
int GridLayoutData< Dim >::globalID | ( | const Loc< Dim > & | loc | ) | const |
Accessors for getting the global ID of the patch containing a particular element.
int GridLayoutData< Dim >::globalID | ( | int | ) | const |
int GridLayoutData< Dim >::globalID | ( | int | , |
int | |||
) | const |
int GridLayoutData< Dim >::globalID | ( | int | , |
int | , | ||
int | |||
) | const |
int GridLayoutData< Dim >::globalID | ( | int | , |
int | , | ||
int | , | ||
int | |||
) | const |
int GridLayoutData< Dim >::globalID | ( | int | , |
int | , | ||
int | , | ||
int | , | ||
int | |||
) | const |
int GridLayoutData< Dim >::globalID | ( | int | , |
int | , | ||
int | , | ||
int | , | ||
int | , | ||
int | |||
) | const |
int GridLayoutData< Dim >::globalID | ( | int | , |
int | , | ||
int | , | ||
int | , | ||
int | , | ||
int | , | ||
int | |||
) | const |
FillIterator_t GridLayoutData< Dim >::beginFillList | ( | ) | const [inline] |
Iterators into the fill list.
These are MultiPatch's interface to the information needed to fill guard cells, which is cached here in the layout.
Reimplemented from LayoutBaseData< Dim >.
References LayoutBaseData< Dim >::gcFillList_m.
FillIterator_t GridLayoutData< Dim >::endFillList | ( | ) | const [inline] |
Reimplemented from LayoutBaseData< Dim >.
References LayoutBaseData< Dim >::gcFillList_m.
int GridLayoutData< Dim >::touches | ( | const OtherDomain & | fulld, |
OutIter | o, | ||
const ConstructTag & | ctag | ||
) | const |
Find all subdomains that touch on a given domain, and insert the intersection of these subdomains into the given output iterator.
Return the number of touching elements. This version of touches can build either pointers or objects.
int GridLayoutData< Dim >::touchesAlloc | ( | const OtherDomain & | fulld, |
OutIter | o, | ||
const ConstructTag & | ctag | ||
) | const |
Find all subdomains that touch on a given domain, and insert the intersection of these subdomains into the given output iterator.
Return the number of touching elements. This version of touches can build either pointers or objects.
void GridLayoutData< Dim >::sync | ( | ) |