FreePOOMA  2.4.1
Public Types | Public Member Functions
GridLayoutData< Dim > Class Template Reference

Holds the data for a GridLayout. More...

#include <GridLayout.h>

Inheritance diagram for GridLayoutData< Dim >:
Inheritance graph
[legend]
Collaboration diagram for GridLayoutData< Dim >:
Collaboration graph
[legend]

List of all members.

Public Types

enum  { dimensions = Dim }
enum  { repartitionEvent = 1 }
enum  { dynamic = false }
typedef GridLayoutData< Dim > This_t
typedef Observable< This_tObservable_t
typedef Interval< Dim > Domain_t
typedef Interval< Dim > BaseDomain_t
typedef int Context_t
typedef Unique::Value_t ID_t
typedef Node< Domain_tValue_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

Detailed Description

template<int Dim>
class GridLayoutData< Dim >

Holds the data for a GridLayout.

That class has a ref counted instance of this class


Member Typedef Documentation

template<int Dim>
typedef GridLayoutData<Dim> GridLayoutData< Dim >::This_t
template<int Dim>
typedef Observable<This_t> GridLayoutData< Dim >::Observable_t
template<int Dim>
typedef Interval<Dim> GridLayoutData< Dim >::Domain_t

Reimplemented from LayoutBaseData< Dim >.

template<int Dim>
typedef Interval<Dim> GridLayoutData< Dim >::BaseDomain_t

Reimplemented from LayoutBaseData< Dim >.

template<int Dim>
typedef int GridLayoutData< Dim >::Context_t

Reimplemented from LayoutBaseData< Dim >.

template<int Dim>
typedef Unique::Value_t GridLayoutData< Dim >::ID_t

Reimplemented from LayoutBaseData< Dim >.

template<int Dim>
typedef Node<Domain_t> GridLayoutData< Dim >::Value_t

Reimplemented from LayoutBaseData< Dim >.

template<int Dim>
typedef std::vector<Value_t *> GridLayoutData< Dim >::List_t

Reimplemented from LayoutBaseData< Dim >.

template<int Dim>
typedef GuardLayers<Dim> GridLayoutData< Dim >::GuardLayers_t

Reimplemented from LayoutBaseData< Dim >.

template<int Dim>
typedef int GridLayoutData< Dim >::AxisIndex_t
template<int Dim>
typedef DynamicEvents::PatchID_t GridLayoutData< Dim >::PatchID_t
template<int Dim>
typedef DynamicEvents::CreateSize_t GridLayoutData< Dim >::CreateSize_t
template<int Dim>
typedef LayoutBaseData<Dim>::GCFillInfo_t GridLayoutData< Dim >::GCFillInfo_t

Reimplemented from LayoutBaseData< Dim >.

template<int Dim>
typedef std::vector<GCFillInfo_t>::const_iterator GridLayoutData< Dim >::FillIterator_t

Reimplemented from LayoutBaseData< Dim >.


Member Enumeration Documentation

template<int Dim>
anonymous enum
Enumerator:
dimensions 
template<int Dim>
anonymous enum
Enumerator:
repartitionEvent 
template<int Dim>
anonymous enum
Enumerator:
dynamic 

Constructor & Destructor Documentation

template<int 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.

template<int Dim>
template<class Partitioner >
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.

template<int Dim>
template<class Partitioner >
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.

template<int Dim>
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.


Member Function Documentation

template<int Dim>
template<class Partitioner >
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.

template<int Dim>
template<class Partitioner >
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.

template<int Dim>
const Loc<Dim>& GridLayoutData< Dim >::blocks ( ) const [inline]

number of blocks along each axis.

Reimplemented from LayoutBaseData< Dim >.

References LayoutBaseData< Dim >::blocks_m.

template<int Dim>
bool GridLayoutData< Dim >::dirty ( ) const [inline]
template<int Dim>
int GridLayoutData< Dim >::globalID ( const Loc< Dim > &  loc) const

Accessors for getting the global ID of the patch containing a particular element.

template<int Dim>
int GridLayoutData< Dim >::globalID ( int  ) const
template<int Dim>
int GridLayoutData< Dim >::globalID ( int  ,
int   
) const
template<int Dim>
int GridLayoutData< Dim >::globalID ( int  ,
int  ,
int   
) const
template<int Dim>
int GridLayoutData< Dim >::globalID ( int  ,
int  ,
int  ,
int   
) const
template<int Dim>
int GridLayoutData< Dim >::globalID ( int  ,
int  ,
int  ,
int  ,
int   
) const
template<int Dim>
int GridLayoutData< Dim >::globalID ( int  ,
int  ,
int  ,
int  ,
int  ,
int   
) const
template<int Dim>
int GridLayoutData< Dim >::globalID ( int  ,
int  ,
int  ,
int  ,
int  ,
int  ,
int   
) const
template<int Dim>
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.

template<int Dim>
FillIterator_t GridLayoutData< Dim >::endFillList ( ) const [inline]
template<int Dim>
template<class OtherDomain , class OutIter , class ConstructTag >
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.

template<int Dim>
template<class OtherDomain , class OutIter , class ConstructTag >
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.

template<int Dim>
void GridLayoutData< Dim >::sync ( )
template<int Dim>
template<class Out >
void GridLayoutData< Dim >::print ( Out &  ostr)

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