Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

SAMRAI::hier::CoarseFineBoundary< DIM > Class Template Reference

Utility class to construct and maintain a description of the coarse-fine boundary between a patch level and some coarser level. More...

#include <source/hierarchy/patches/CoarseFineBoundary.h>

List of all members.

Public Member Functions

 CoarseFineBoundary ()
 Construct a CoarseFineBoundary<DIM> object with no boundary boxes.
 CoarseFineBoundary (const PatchHierarchy< DIM > &hierarchy, int ln, const IntVector< DIM > &max_ghost_width)
 Construct a CoarseFineBoundary<DIM> object for the specified level in the given patch hierarchy.
void computeFromHierarchy (const PatchHierarchy< DIM > &hierarchy, int ln, const IntVector< DIM > &max_ghost_width)
 Construct a CoarseFineBoundary<DIM> object for the specified level in the given patch hierarchy.
void computeFromLevel (const PatchLevel< DIM > &level, const PatchLevel< DIM > &level0, const IntVector< DIM > &max_ghost_width)
 Construct a CoarseFineBoundary<DIM> object for the specified level based on a given level which is assumed to be the coarsest level (i.e., level zero) in some patch hierarchy.
void clear ()
 Clear all boundary data.
const tbox::Array< BoundaryBox<
DIM > > & 
getBoundaries (int pn, int boundary_type) const
 Get an array of boundary boxes of a given type for a specified patch.
const tbox::Array< BoundaryBox<
DIM > > & 
getNodeBoundaries (int pn) const
 Get an array of node boundary boxes for a specified patch (see BoundaryBox class).
const tbox::Array< BoundaryBox<
DIM > > & 
getEdgeBoundaries (int pn) const
 Get an array of edge boundary boxes for a specified patch (see BoundaryBox class).
const tbox::Array< BoundaryBox<
DIM > > & 
getFaceBoundaries (int pn) const
 Get an array of face boundary boxes for a specified patch (see BoundaryBox class).
void printClassData (ostream &os) const
 Print out class data (mostly for debugging).


Detailed Description

template<int DIM>
class SAMRAI::hier::CoarseFineBoundary< DIM >

Utility class to construct and maintain a description of the coarse-fine boundary between a patch level and some coarser level.

A coarse-fine boundary box is a BoundaryBox object, but it is generated differently than a typical boundary box maintained by a patch geometry object. The boundary type and location identifiers for regular boundary boxes apply to coarse-fine boundary boxes. However, a boundary box serving as a coarse-fine boundary box describes part of the boundary of a given patch with its next coarser AMR hierarchy level. It does not intersect any other patch on the same level nor does it lie on a physical domain boundary, except where the physical boundary is periodic and the appropriate continuation of that boundary is part of a coarser patch level.

The coarse-fine boundary is created from two adjacent hierarchy levels (typically), but the description lives on (refers to the index space of) the finer level. Since the coarse-fine boundary describes the boundary to the next coarser level, the coarsest level (i.e., level zero in an AMR hierarchy) has no coarse-fine boundary.

Each CoarseFineBoundary object corresponds to one level, so to represent a hierarchy, you would need an array or list of such objects.


Constructor & Destructor Documentation

template<int DIM>
SAMRAI::hier::CoarseFineBoundary< DIM >::CoarseFineBoundary  ) 
 

Construct a CoarseFineBoundary<DIM> object with no boundary boxes.

template<int DIM>
SAMRAI::hier::CoarseFineBoundary< DIM >::CoarseFineBoundary const PatchHierarchy< DIM > &  hierarchy,
int  ln,
const IntVector< DIM > &  max_ghost_width
 

Construct a CoarseFineBoundary<DIM> object for the specified level in the given patch hierarchy.

Parameters:
hierarchy Patch hierarchy in which the patch level resides.
ln Level number of level of computed coarse-fine boundary.
max_ghost_width Max ghost width for which to generate boundary boxes. The ghost width determines the extent of the boundary boxes along the level domain boundary, similar to regular domain boundary boxes. Note that as in the case of regular boundary boxes, each box will always be one cell wide in the direction perpendicular to the patch boundary.
Note that if level number is zero, the coarse-fine boundary will be empty.


Member Function Documentation

template<int DIM>
void SAMRAI::hier::CoarseFineBoundary< DIM >::computeFromHierarchy const PatchHierarchy< DIM > &  hierarchy,
int  ln,
const IntVector< DIM > &  max_ghost_width
 

Construct a CoarseFineBoundary<DIM> object for the specified level in the given patch hierarchy.

Parameters:
hierarchy Patch hierarchy in which the patch level resides.
ln Level number of level of computed coarse-fine boundary.
max_ghost_width Max ghost width for which to generate boundary boxes. The ghost width determines the extent of the boundary boxes along the level domain boundary, similar to regular domain boundary boxes. Note that as in the case of regular boundary boxes, each box will always be one cell wide in the direction perpendicular to the patch boundary.
Note that if level number is zero, the coarse-fine boundary will be empty.

template<int DIM>
void SAMRAI::hier::CoarseFineBoundary< DIM >::computeFromLevel const PatchLevel< DIM > &  level,
const PatchLevel< DIM > &  level0,
const IntVector< DIM > &  max_ghost_width
 

Construct a CoarseFineBoundary<DIM> object for the specified level based on a given level which is assumed to be the coarsest level (i.e., level zero) in some patch hierarchy.

Parameters:
level Patch level of computed coarse-fine boundary.
level0 Coarsest patch level in hierarchy used to compute coarse-fine boundary.
max_ghost_width Max ghost width for which to generate boundary boxes. The ghost width determines the extent of the boundary boxes along the level domain boundary, similar to regular domain boundary boxes. Note that as in the case of regular boundary boxes, each box will always be one cell wide in the direction perpendicular to the patch boundary.
Note that if level and level0 are the same, the coarse-fine boundary will be empty.

template<int DIM>
void SAMRAI::hier::CoarseFineBoundary< DIM >::clear  ) 
 

Clear all boundary data.

template<int DIM>
const tbox::Array< BoundaryBox< DIM > > & SAMRAI::hier::CoarseFineBoundary< DIM >::getBoundaries int  pn,
int  boundary_type
const
 

Get an array of boundary boxes of a given type for a specified patch.

The specified patch must exist in the level used to compute the internal state or it is an error.

Parameters:
pn Patch number
boundary_type Boundary box type (see BoundaryBox class).

template<int DIM>
const tbox::Array< BoundaryBox< DIM > > & SAMRAI::hier::CoarseFineBoundary< DIM >::getNodeBoundaries int  pn  )  const
 

Get an array of node boundary boxes for a specified patch (see BoundaryBox class).

The specified patch must exist in the level used to compute the internal state or it is an error.

Parameters:
pn Patch number

template<int DIM>
const tbox::Array< BoundaryBox< DIM > > & SAMRAI::hier::CoarseFineBoundary< DIM >::getEdgeBoundaries int  pn  )  const
 

Get an array of edge boundary boxes for a specified patch (see BoundaryBox class).

Note that edge boxes are only meaningful if problem dimension is > 1. The specified patch must exist in the level used to compute the internal state or it is an error.

Parameters:
pn Patch number

template<int DIM>
const tbox::Array< BoundaryBox< DIM > > & SAMRAI::hier::CoarseFineBoundary< DIM >::getFaceBoundaries int  pn  )  const
 

Get an array of face boundary boxes for a specified patch (see BoundaryBox class).

Note that face boxes are only meaningful if problem dimension is > 2. The specified patch must exist in the level used to compute the internal state or it is an error.

Parameters:
pn Patch number

template<int DIM>
void SAMRAI::hier::CoarseFineBoundary< DIM >::printClassData ostream &  os  )  const
 

Print out class data (mostly for debugging).


The documentation for this class was generated from the following files:
Generated on Fri Dec 2 11:24:34 2005 for SAMRAI by  doxygen 1.4.2