IBAMR  IBAMR version 0.19.
Public Types | Public Member Functions | Private Attributes | List of all members
SAMRAI::hier::BoundaryBox< DIM > Class Template Reference

#include <ibtk/StaggeredPhysicalBoundaryHelper.h>

Inheritance diagram for SAMRAI::hier::BoundaryBox< DIM >:
Inheritance graph
[legend]

Public Types

enum  BoundaryDirection { LOWER = -1, MIDDLE = 0, UPPER = 1 }
 

Public Member Functions

 BoundaryBox ()
 
 BoundaryBox (const Box< DIM > &box, const int bdry_type, const int location_index)
 
 BoundaryBox (const BoundaryBox< DIM > &boundary_box)
 
 ~BoundaryBox ()
 
const Box< DIM > & getBox () const
 
int getBoundaryType () const
 
int getLocationIndex () const
 
void setIsMultiblockSingularity (bool is_mblk_singularity)
 
bool getIsMultiblockSingularity () const
 
BoundaryBox< DIM > & operator= (const BoundaryBox< DIM > &boundary_box)
 
BoundaryDirection getBoundaryDirection (const int dir) const
 get which side of a patch the boundary box is on. More...
 

Private Attributes

Box< DIM > d_box
 
int d_bdry_type
 
int d_location_index
 
bool d_is_mblk_singularity
 

Detailed Description

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

Class BoundaryBox<DIM> is a class that is used to facilitate the filling of ghost layers around a patch. Objects of this type are created to be part of a PatchGeometry<DIM> object. The BoundaryBox<DIM> consists of a Box<DIM>, a boundary type, and a location index. The Box<DIM> is of width 1 in at least one dirction and is located just outside of a patch boundary, intersecting the patch boundary's face, edge, or corner (node). The boundary type location index indicates the location of the boundary box in relation to the location of the patch.

See also
hier::Box
hier::PatchGeometry
hier::BoundaryLookupTable

Member Enumeration Documentation

◆ BoundaryDirection

Enumerated type BoundaryDirection is used to indicate where a boundary box is located relative to a patch in a particular coordinate direction.

Enumerator
LOWER 
MIDDLE 
UPPER 

Constructor & Destructor Documentation

◆ BoundaryBox() [1/3]

template<int DIM>
SAMRAI::hier::BoundaryBox< DIM >::BoundaryBox ( )

The default constructor creates an undefined boundary box, with invalid values.

◆ BoundaryBox() [2/3]

template<int DIM>
SAMRAI::hier::BoundaryBox< DIM >::BoundaryBox ( const Box< DIM > &  box,
const int  bdry_type,
const int  location_index 
)

Create a boundary box from a Box<DIM> and integers that indicate the boundary type and the location index

◆ BoundaryBox() [3/3]

template<int DIM>
SAMRAI::hier::BoundaryBox< DIM >::BoundaryBox ( const BoundaryBox< DIM > &  boundary_box)

The copy constructor copies the data of the argument box.

◆ ~BoundaryBox()

template<int DIM>
SAMRAI::hier::BoundaryBox< DIM >::~BoundaryBox ( )

The destructor for BoundaryBox.

Member Function Documentation

◆ getBox()

template<int DIM>
const Box<DIM>& SAMRAI::hier::BoundaryBox< DIM >::getBox ( ) const

Return a reference to the Box<DIM> member of the boundary box

◆ getBoundaryType()

template<int DIM>
int SAMRAI::hier::BoundaryBox< DIM >::getBoundaryType ( ) const

Return the boundary type (codimension) of the boundary box.

* Convention:
* ===========
*
* 1d
* --
* 1 = node
*
* 2d
* --
* 1 = edge
* 2 = node
*
* 3d
* --
* 1 = face
* 2 = edge
* 3 = node
* 

◆ getLocationIndex()

template<int DIM>
int SAMRAI::hier::BoundaryBox< DIM >::getLocationIndex ( ) const

Return the location index for the boundary box. The location index is an integer which indicates the location of the boundary box in relation to the location of the associated patch. That is, the location index tells whether the boundary box is above'' orbelow'' the patch in each coordinate direction. The conventions for the location index depend on the dimension of the problem and the boundary type of the BoundaryBox.

* Conventions: 
* ============
*
* 1d
* --
* node (codimension 1):
* x_lo : 0
* x_hi : 1
*
* 2d
* --
* edge (codimension 1):
* x_lo: 0
* x_hi: 1
* y_lo: 2
* y_hi: 3
*
* node (codimension 2):
* x_lo, y_lo: 0
* x_hi, y_lo: 1
* x_lo, y_hi: 2
* x_hi, y_hi: 3
*
* 3d
* --
*
* face (codimension 1):
* x_lo: 0
* x_hi: 1
* y_lo: 2
* y_hi: 3
* z_lo: 4
* z_hi: 5
*
* edge (codimension 2):
* y_lo, z_lo: 0
* y_hi, z_lo: 1
* y_lo, z_hi: 2
* y_hi, z_hi: 3
* x_lo, z_lo: 4
* x_lo, z_hi: 5
* x_hi, z_lo: 6
* x_hi, z_hi: 7
* x_lo, y_lo: 8
* x_hi, y_lo: 9
* x_lo, y_hi: 10
* x_hi, y_hi: 11
*
* node (codimension 3):
* x_lo, y_lo, z_lo: 0
* x_hi, y_lo, z_lo: 1
* x_lo, y_hi, z_lo: 2
* x_hi, y_hi, z_lo: 3
* x_lo, y_lo, z_hi: 4
* x_hi, y_lo, z_hi: 5
* x_lo, y_hi, z_hi: 6
* x_hi, y_hi, z_hi: 7
*
* 

◆ setIsMultiblockSingularity()

template<int DIM>
void SAMRAI::hier::BoundaryBox< DIM >::setIsMultiblockSingularity ( bool  is_mblk_singularity)

Set the multiblock singularity flag to the argument value.

◆ getIsMultiblockSingularity()

template<int DIM>
bool SAMRAI::hier::BoundaryBox< DIM >::getIsMultiblockSingularity ( ) const

Get the value of the multiblock singularity flag. This should always return false when not running a problem on a multiblock domain.

◆ operator=()

template<int DIM>
BoundaryBox<DIM>& SAMRAI::hier::BoundaryBox< DIM >::operator= ( const BoundaryBox< DIM > &  boundary_box)

The assignment operator copies all data components.

◆ getBoundaryDirection()

template<int DIM>
BoundaryDirection SAMRAI::hier::BoundaryBox< DIM >::getBoundaryDirection ( const int  dir) const

Get the Enumerated type BoundaryDirection is used to indicate where a boundary box is located relative to a patch in a particular coordinate direction.

Returns BoundaryDirection value indicating whether the boundary box is on the upper or lower side of the patch in the given coordinate direction, or in the middle (neither upper nor lower).

Returns
Boundary direction value LOWER, MIDDLE, or UPPER
Parameters
dirCoordinate direction on which to query

Member Data Documentation

◆ d_box

template<int DIM>
Box<DIM> SAMRAI::hier::BoundaryBox< DIM >::d_box
private

◆ d_bdry_type

template<int DIM>
int SAMRAI::hier::BoundaryBox< DIM >::d_bdry_type
private

◆ d_location_index

template<int DIM>
int SAMRAI::hier::BoundaryBox< DIM >::d_location_index
private

◆ d_is_mblk_singularity

template<int DIM>
bool SAMRAI::hier::BoundaryBox< DIM >::d_is_mblk_singularity
private

The documentation for this class was generated from the following file: