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

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

List of all members.

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.


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

template<int DIM>
enum SAMRAI::hier::BoundaryBox::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

template<int DIM>
SAMRAI::hier::BoundaryBox< DIM >::BoundaryBox (  )  [inline]

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

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

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

The copy constructor copies the data of the argument box.

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

The destructor for BoundaryBox.


Member Function Documentation

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

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

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

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
    * 

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

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'' or ``below'' 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
   *
   * 

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

Set the multiblock singularity flag to the argument value.

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

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

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

The assignment operator copies all data components.

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

get which side of a patch the boundary box is on.

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:
dir Coordinate direction on which to query


The documentation for this class was generated from the following files:
Generated on Thu Jun 18 11:28:29 2009 for SAMRAI by  doxygen 1.5.1