FreePOOMA
2.4.1
|
UniformGridLayout is a Layout class that breaks an N-dimensional Interval into equal sized sub-domains arranged in an N-dimensional grid. More...
#include <UniformGridLayout.h>
Public Types | |
enum | { dimensions = Dim } |
enum | { repartitionEvent = LayoutData_t::repartitionEvent } |
enum | { dynamic = false } |
typedef UniformGridLayoutData < Dim > | LayoutData_t |
typedef LayoutData_t::Domain_t | Domain_t |
typedef LayoutData_t::BaseDomain_t | BaseDomain_t |
typedef LayoutData_t::Context_t | Context_t |
typedef LayoutData_t::ID_t | ID_t |
typedef LayoutData_t::Value_t | Value_t |
typedef LayoutData_t::List_t | List_t |
typedef UniformGridLayout< Dim > | This_t |
typedef Observable< This_t > | Observable_t |
typedef DerefIterator< Value_t > | iterator |
Iterator through nodes. | |
typedef ConstDerefIterator < Value_t > | const_iterator |
typedef LayoutData_t::GCFillInfo_t | GCFillInfo_t |
Iterator through guard-cell-fill requests. | |
typedef std::vector < GCFillInfo_t > ::const_iterator | FillIterator_t |
typedef GuardLayers< Dim > | GuardLayers_t |
Public Member Functions | |
UniformGridLayout () | |
The default constructor does not initialize the layout. | |
UniformGridLayout (const Domain_t &, const DistributedTag &) | |
UniformGridLayout (const Domain_t &, const GuardLayers_t &, const DistributedTag &) | |
UniformGridLayout (const Domain_t &, const Loc< Dim > &, const DistributedTag &) | |
UniformGridLayout (const Domain_t &, const Loc< Dim > &, const GuardLayers_t &, const DistributedTag &) | |
UniformGridLayout (const Domain_t &, const Loc< Dim > &, const GuardLayers_t &, const GuardLayers_t &, const DistributedTag &) | |
UniformGridLayout (const Domain_t &, const ReplicatedTag &) | |
UniformGridLayout (const Domain_t &, const GuardLayers_t &, const ReplicatedTag &) | |
UniformGridLayout (const Domain_t &, const Loc< Dim > &, const ReplicatedTag &) | |
UniformGridLayout (const Domain_t &, const Loc< Dim > &, const GuardLayers_t &, const ReplicatedTag &) | |
UniformGridLayout (const Domain_t &, const Loc< Dim > &, const GuardLayers_t &, const GuardLayers_t &, const ReplicatedTag &) | |
template<class Partitioner > | |
UniformGridLayout (const Domain_t &, const Partitioner &, const ContextMapper< Dim > &) | |
template<class Partitioner > | |
UniformGridLayout (const Domain_t &, const Partitioner &, const DistributedTag &) | |
template<class Partitioner > | |
UniformGridLayout (const Domain_t &, const Partitioner &, const ReplicatedTag &) | |
UniformGridLayout (const This_t &) | |
This_t & | operator= (const This_t &) |
~UniformGridLayout () | |
void | initialize (const Domain_t &, const DistributedTag &) |
void | initialize (const Domain_t &, const ReplicatedTag &) |
void | initialize (const Domain_t &, const GuardLayers_t &, const DistributedTag &) |
void | initialize (const Domain_t &, const GuardLayers_t &, const ReplicatedTag &) |
void | initialize (const Domain_t &, const Loc< Dim > &, const DistributedTag &) |
void | initialize (const Domain_t &, const Loc< Dim > &, const ReplicatedTag &) |
void | initialize (const Domain_t &, const Loc< Dim > &, const GuardLayers_t &, const DistributedTag &) |
void | initialize (const Domain_t &, const Loc< Dim > &, const GuardLayers_t &, const ReplicatedTag &) |
void | initialize (const Domain_t &, const Loc< Dim > &, const GuardLayers_t &, const GuardLayers_t &, const DistributedTag &) |
void | initialize (const Domain_t &, const Loc< Dim > &, const GuardLayers_t &, const GuardLayers_t &, const ReplicatedTag &) |
template<class Partitioner > | |
void | initialize (const Domain_t &, const Partitioner &, const DistributedTag &) |
template<class Partitioner > | |
void | initialize (const Domain_t &, const Partitioner &, const ReplicatedTag &) |
template<class Partitioner > | |
void | initialize (const Domain_t &, const Partitioner &, const ContextMapper< Dim > &) |
void | initialize (const Domain_t &idom, const List_t &nodes, const Loc< Dim > &blocks, bool hasIG, bool hasEG, const GuardLayers_t &ig, const GuardLayers_t &eg) |
virtual void | notify (LayoutData_t &d, const ObserverEvent &event) |
template<class Ostream > | |
void | print (Ostream &ostr) const |
Friends | |
class | UniformGridLayoutView |
class | UniformGridLayoutData< Dim > |
UniformGridLayout is a Layout class that breaks an N-dimensional Interval into equal sized sub-domains arranged in an N-dimensional grid.
This is an alternative to the more general Layout class that should perform somewhat faster since subdomains can be found arithmetically, rather than via a search. It is only able to represent grid-like layouts, however.
To construct a UniformGridLayout, you can do any of the following:
Alternatively, you can use the default UniformGridLayout constructor, and call the 'initialize' method later with the same possible set of arguments.
You can also specify internal and external guard layers for the domains. See the comments in UniformGridLayout below.
typedef UniformGridLayoutData<Dim> UniformGridLayout< Dim >::LayoutData_t |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef LayoutData_t::Domain_t UniformGridLayout< Dim >::Domain_t |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef LayoutData_t::BaseDomain_t UniformGridLayout< Dim >::BaseDomain_t |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef LayoutData_t::Context_t UniformGridLayout< Dim >::Context_t |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef LayoutData_t::ID_t UniformGridLayout< Dim >::ID_t |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef LayoutData_t::Value_t UniformGridLayout< Dim >::Value_t |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef LayoutData_t::List_t UniformGridLayout< Dim >::List_t |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef UniformGridLayout<Dim> UniformGridLayout< Dim >::This_t |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef Observable<This_t> UniformGridLayout< Dim >::Observable_t |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef DerefIterator<Value_t> UniformGridLayout< Dim >::iterator |
Iterator through nodes.
Basically the same as the vector iterator except it dereferences automatically.
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef ConstDerefIterator<Value_t> UniformGridLayout< Dim >::const_iterator |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef LayoutData_t::GCFillInfo_t UniformGridLayout< Dim >::GCFillInfo_t |
Iterator through guard-cell-fill requests.
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef std::vector<GCFillInfo_t>::const_iterator UniformGridLayout< Dim >::FillIterator_t |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
typedef GuardLayers<Dim> UniformGridLayout< Dim >::GuardLayers_t |
Reimplemented from LayoutBase< Dim, UniformGridLayoutData< Dim > >.
UniformGridLayout< Dim >::UniformGridLayout | ( | ) |
The default constructor does not initialize the layout.
In this case, layout initialization must be completed with the 'initialize' method before the layout can be used. A default layout has an empty global domain, and empty subdomain lists.
This is also the only constructor that doesn't demand either ReplicatedTag or DistributedTag
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const DistributedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const GuardLayers_t & | , | ||
const DistributedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const DistributedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const GuardLayers_t & | , | ||
const DistributedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const GuardLayers_t & | , | ||
const GuardLayers_t & | , | ||
const DistributedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const ReplicatedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const GuardLayers_t & | , | ||
const ReplicatedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const ReplicatedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const GuardLayers_t & | , | ||
const ReplicatedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const GuardLayers_t & | , | ||
const GuardLayers_t & | , | ||
const ReplicatedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const Partitioner & | , | ||
const ContextMapper< Dim > & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const Partitioner & | , | ||
const DistributedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const Domain_t & | , |
const Partitioner & | , | ||
const ReplicatedTag & | |||
) |
UniformGridLayout< Dim >::UniformGridLayout | ( | const This_t & | ) |
UniformGridLayout< Dim >::~UniformGridLayout | ( | ) | [inline] |
This_t& UniformGridLayout< Dim >::operator= | ( | const This_t & | ) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const DistributedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const ReplicatedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const GuardLayers_t & | , | ||
const DistributedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const GuardLayers_t & | , | ||
const ReplicatedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const DistributedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const ReplicatedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const GuardLayers_t & | , | ||
const DistributedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const GuardLayers_t & | , | ||
const ReplicatedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const GuardLayers_t & | , | ||
const GuardLayers_t & | , | ||
const DistributedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const Loc< Dim > & | , | ||
const GuardLayers_t & | , | ||
const GuardLayers_t & | , | ||
const ReplicatedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const Partitioner & | , | ||
const DistributedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const Partitioner & | , | ||
const ReplicatedTag & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | , |
const Partitioner & | , | ||
const ContextMapper< Dim > & | |||
) |
void UniformGridLayout< Dim >::initialize | ( | const Domain_t & | idom, |
const List_t & | nodes, | ||
const Loc< Dim > & | blocks, | ||
bool | hasIG, | ||
bool | hasEG, | ||
const GuardLayers_t & | ig, | ||
const GuardLayers_t & | eg | ||
) |
virtual void UniformGridLayout< Dim >::notify | ( | LayoutData_t & | d, |
const ObserverEvent & | event | ||
) | [inline, virtual] |
void UniformGridLayout< Dim >::print | ( | Ostream & | ostr | ) | const |
Referenced by operator<<().
friend class UniformGridLayoutView [friend] |
friend class UniformGridLayoutData< Dim > [friend] |