Layouts - Laying out Domains

A layout combines domain information and guard cell (both internal and external) information and maps the domain to a specified partition. More...


Files

file  DomainLayout.h
 DomainLayout<int>: Layout class that just wraps around an Interval.
file  DynamicEvents.h
 DynamicEvents defines some simple enumerations used as codes to indicate a type of "dynamic event".
file  DynamicLayout.h
 DynamicLayout
  • Layout class that breaks dynamically sized 1-dimensional domain into contiguous sub-domains arranged in a 1-dimensional grid.

file  GlobalIDDataBase.h
 GlobalIDDataBase stores global patch ID's for INodes.
file  GridLayout.h
 Layout with domain breaked into sub-domains specified by a grid.
file  GuardLayers.h
 A simple container for a set of guard layer specifications.
file  INode.h
 a node-like class for communicating information regarding intersections of layouts.
file  LayoutBase.h
 LayoutBase<Dim> and related classes providing domain access.
file  MultiPatchLayoutTraits.h
 a traits class specifying the layout and layout view types for a particular layout tag.
file  Node.h
 A simple class which stores the following information:
  1. Two domains (the class is templated on the domain type) specifying the owned and allocated domains for the patch.

file  SparseTileLayout.h
 SparseTileLayout<Dim>
  • Layout class that tiles a Dim-dimensional bounding box with non-overlaping sub-domains.

file  TouchesConstruct.h
 touchesConstruct is a factory method that is used to build Nodes and INodes by various layout touches methods.
file  UniformGridLayout.h
 UniformGridLayout<Dim>
  • Layout class that breaks Dim-dimensional domain into equal sized sub-domains arranged in a Dim-dimensional grid.


Detailed Description

A layout combines domain information and guard cell (both internal and external) information and maps the domain to a specified partition.

So related topics are the Domain Objects and Modifiers and Partitioning Domains groups.

All layouts operate with domains based on Interval<Dim>, i.e. a continuous integer domain. This domain gets distributed/tiled in a different way for different layout classes, namely

For actually using any of the above layout on a MultiPatch engine you need to specify appropriate grid tags which are one of those specified above amongst the layout classes.

Specifying the actual tiling is done by several constructors dealing with the most important tiling types. The generic way to specify tiling is to use a partitioner, see Partitioning Domains for reference.

Mapping the domain to the tiling can be done in two different ways, namely distributed and replicated which is specified using an instance of the DistributedTag and ReplicatedTag classes to the layout constructors. Distributed means the domain is distributed over the tiling, replicated means the entire domain is replicated over the tiling. Note that remote engines do not make sense in conjunction with replicated layouts, and this will trigger a runtime error.


Generated on Wed Mar 16 06:19:39 2011 for FreePOOMA by  doxygen 1.5.9