#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. | |
CoarseFineBoundary (const tbox::Pointer< MultiblockPatchHierarchy< DIM > > &hierarchy, int ln, const IntVector< DIM > &max_ghost_width) | |
Construct a CoarseFineBoundary<DIM> object for the specified level in the given multiblock patch hierarchy. | |
~CoarseFineBoundary () | |
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 | computeFromHierarchy (const MultiblockPatchHierarchy< DIM > &hierarchy, int ln, const IntVector< DIM > &max_ghost_width) |
Construct a CoarseFineBoundary<DIM> object for the specified level in the given multiblock 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 | computeFromLevel (const MultiblockPatchLevel< DIM > &level, const MultiblockPatchLevel< DIM > &level0, const IntVector< DIM > &max_ghost_width) |
Construct a CoarseFineBoundary<DIM> object for the specified multibock level based on a given level which is assumed to be the coarsest level (i.e., level zero) in some patch hierarchy. | |
void | clear (const int block_number=0) |
Clear all boundary data. | |
virtual void | printClassData (std::ostream &os) const |
Print out class data (mostly for debugging). | |
Functions to get the computed coarse-fine boundaries. | |
const tbox::Array< BoundaryBox< DIM > > & | getBoundaries (int patch_num, int boundary_type, int block_num=0) const |
Get an array of boundary boxes of a given type for a specified patch. | |
const tbox::Array< BoundaryBox< DIM > > & | getNodeBoundaries (int patch_num, int block_num=0) const |
Get an array of node boundary boxes for a specified patch (see BoundaryBox class). | |
const tbox::Array< BoundaryBox< DIM > > & | getEdgeBoundaries (int patch_num, int block_num=0) const |
Get an array of edge boundary boxes for a specified patch (see BoundaryBox class). | |
const tbox::Array< BoundaryBox< DIM > > & | getFaceBoundaries (int patch_num, int block_num=0) const |
Get an array of face boundary boxes for a specified patch (see BoundaryBox class). |
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.
SAMRAI::hier::CoarseFineBoundary< DIM >::CoarseFineBoundary | ( | ) |
Construct a CoarseFineBoundary<DIM> object with no boundary boxes.
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.
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. |
SAMRAI::hier::CoarseFineBoundary< DIM >::CoarseFineBoundary | ( | const tbox::Pointer< MultiblockPatchHierarchy< DIM > > & | hierarchy, | |
int | ln, | |||
const IntVector< DIM > & | max_ghost_width | |||
) |
Construct a CoarseFineBoundary<DIM> object for the specified level in the given multiblock patch hierarchy.
hierarchy | multiblock atch 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. |
SAMRAI::hier::CoarseFineBoundary< DIM >::~CoarseFineBoundary | ( | ) |
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.
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. |
void SAMRAI::hier::CoarseFineBoundary< DIM >::computeFromHierarchy | ( | const MultiblockPatchHierarchy< DIM > & | hierarchy, | |
int | ln, | |||
const IntVector< DIM > & | max_ghost_width | |||
) |
Construct a CoarseFineBoundary<DIM> object for the specified level in the given multiblock patch hierarchy.
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. |
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.
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. |
void SAMRAI::hier::CoarseFineBoundary< DIM >::computeFromLevel | ( | const MultiblockPatchLevel< DIM > & | level, | |
const MultiblockPatchLevel< DIM > & | level0, | |||
const IntVector< DIM > & | max_ghost_width | |||
) |
Construct a CoarseFineBoundary<DIM> object for the specified multibock level based on a given level which is assumed to be the coarsest level (i.e., level zero) in some patch hierarchy.
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. |
void SAMRAI::hier::CoarseFineBoundary< DIM >::clear | ( | const int | block_number = 0 |
) |
Clear all boundary data.
const tbox::Array< BoundaryBox< DIM > > & SAMRAI::hier::CoarseFineBoundary< DIM >::getBoundaries | ( | int | patch_num, | |
int | boundary_type, | |||
int | block_num = 0 | |||
) | 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.
patch_num | Patch number | |
boundary_type | Boundary box type (see BoundaryBox class). | |
block_num | Block number (defaults to 0 for non-multiblock case) |
const tbox::Array< BoundaryBox< DIM > > & SAMRAI::hier::CoarseFineBoundary< DIM >::getNodeBoundaries | ( | int | patch_num, | |
int | block_num = 0 | |||
) | 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.
patch_num | Patch number | |
block_num | Block number (defaults to 0 for non-multiblock case) |
const tbox::Array< BoundaryBox< DIM > > & SAMRAI::hier::CoarseFineBoundary< DIM >::getEdgeBoundaries | ( | int | patch_num, | |
int | block_num = 0 | |||
) | 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.
patch_num | Patch number | |
block_num | Block number (defaults to 0 for non-multiblock case) |
const tbox::Array< BoundaryBox< DIM > > & SAMRAI::hier::CoarseFineBoundary< DIM >::getFaceBoundaries | ( | int | patch_num, | |
int | block_num = 0 | |||
) | 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.
patch_num | Patch number | |
block_num | Block number (defaults to 0 for non-multiblock case) |
void SAMRAI::hier::CoarseFineBoundary< DIM >::printClassData | ( | std::ostream & | os | ) | const [virtual] |
Print out class data (mostly for debugging).