#include <source/hierarchy/patches/CoarseFineBoundary.h>
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). |
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.
|
Construct a CoarseFineBoundary<DIM> object with no boundary boxes.
|
|
Construct a CoarseFineBoundary<DIM> object for the specified level in the given patch hierarchy.
|
|
Construct a CoarseFineBoundary<DIM> object for the specified level in the given patch hierarchy.
|
|
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.
|
|
Clear all boundary data.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
Print out class data (mostly for debugging).
|