#include <source/hierarchy/patches/PatchGeometry.h>
Inheritance diagram for SAMRAI::hier::PatchGeometry< DIM >:
Public Member Functions | |
PatchGeometry (const IntVector< DIM > &ratio_to_level_zero, const tbox::Array< tbox::Array< bool > > &touches_regular_bdry, const tbox::Array< tbox::Array< bool > > &touches_periodic_bdry) | |
virtual | ~PatchGeometry () |
const tbox::Array< BoundaryBox< DIM > > * | getPatchBoundary () const |
void | setBoundaryBoxesOnPatch (const tbox::Array< BoundaryBox< DIM > > bdry[DIM]) |
Set the boundary box arrays for this patch geometry. | |
const IntVector< DIM > & | getRatio () const |
bool | intersectsPhysicalBoundary () const |
const tbox::Array< BoundaryBox< DIM > > & | getNodeBoundary () const |
const tbox::Array< BoundaryBox< DIM > > & | getEdgeBoundary () const |
const tbox::Array< BoundaryBox< DIM > > & | getFaceBoundary () const |
const tbox::Array< BoundaryBox< DIM > > & | getCodimensionBoundary (const int codim) const |
void | setCodimensionBoundary (const tbox::Array< BoundaryBox< DIM > > &bdry_boxes, const int codim) |
Box< DIM > | getBoundaryFillBox (const BoundaryBox< DIM > &bbox, const Box< DIM > &patch_box, const IntVector< DIM > &gcw) const |
Compute a box outside a physical domain that needs to be filled. | |
bool | getTouchesRegularBoundary () const |
Query whether patch touches a regular boundary. | |
bool | getTouchesPeriodicBoundary () const |
Query whether patch touches a regular boundary. | |
bool | getTouchesRegularBoundary (int axis, int upperlower) const |
Query whether patch touches a specific regular boundary. | |
bool | getTouchesPeriodicBoundary (int axis, int upperlower) const |
Query whether patch touches a specific regular boundary. | |
void | printClassData (ostream &stream) const |
|
The default constructor for the patch geometry base class. |
|
The virtual destructor for the patch geometry base class. |
|
Return const reference to patch boundary information. |
|
Set the boundary box arrays for this patch geometry. An array of length DIM of tbox::Array< BoundaryBox<DIM> > is passed in to be stored as the boundary boxes for this patch geometry.
|
|
Return const reference to ratio to level zero index space. |
|
Return a boolean value indicating whether the patch boundary intersects the physical domain boundary in a non-periodic direction. In other words, the return value is true when the patch has non-empty boundary boxes that lie outside the physical domain. Otherwise, the return value is false. Note that when a patch touches the "boundary" of the physical domain in a periodic direction, there are no boundary boxes to fill; the data is filled from the proper region of the domain interior in the periodic direction. |
|
Return array of boundary box components for patch each of which intersects the patch at a single point (i.e., 0-dim intersection between cells in patch and cells in boundary box). |
|
Return array of boundary box components for patch each of which intersects the patch along a 1-dim edge (i.e., 1-dim intersection between cells in patch and cells in boundary box). When assertion checking is active, this routine throws an assertion when DIM < 2. |
|
Return array of boundary box components for patch each of which intersects the patch along a 2-dim face (i.e., 2-dim intersection between cells in patch and cells in boundary box). When assertion checking is active, this routine throws an assertion when DIM < 3. |
|
Return array of boundary box components for patch each of which intersects the patch as a (DIM - codim)-dimensional object. That is, if DIM == 1: (codim == 1) => same components as getNodeBoundary. if DIM == 2, (codim == 1) => same components as getEdgeBoundary. (codim == 2) => same components as getNodeBoundary. if DIM == 3, (codim == 1) => same components as getFaceBoundary. (codim == 2) => same components as getEdgeBoundary. (codim == 3) => same components as getNodeBoundary. When assertion checking is active, this routine throws an assertion when codim < 0 or codim > DIM. |
|
Set the array of boundary box components of the given codimension for a patch. |
|
Compute a box outside a physical domain that needs to be filled. The patch box will be grown by the given ghost cell width and then intersected with the boundary box. The resulting intersection will be grown to the needed ghost cell width in the direction normal to the boundary.
|
|
Query whether patch touches a regular boundary. Returns true if the Patch touches any non-periodic physical boundary |
|
Query whether patch touches a regular boundary. Returns true if the Patch touches any periodic boundary |
|
Query whether patch touches a specific regular boundary. Returns true if the Patch touches a non-periodic physical boundary on the side of the Patch specified in the argument list. The side is specified by an axis direction and a flag specified the upper or lower side.
|
|
Query whether patch touches a specific regular boundary. Returns true if the Patch touches a periodic boundary on the side of the Patch specified in the argument list. The side is specified by an axis direction and a flag specified the upper or lower side.
|
|
Print object data to the specified output stream. Reimplemented in SAMRAI::geom::CartesianPatchGeometry< DIM >, and SAMRAI::geom::SkeletonPatchGeometry< DIM >. |