Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

SAMRAI::pdat::FaceGeometry< DIM > Class Template Reference

#include <source/patchdata/boxgeometry/FaceGeometry.h>

Inheritance diagram for SAMRAI::pdat::FaceGeometry< DIM >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 FaceGeometry (const hier::Box< DIM > &box, const hier::IntVector< DIM > &ghosts)
virtual ~FaceGeometry ()
virtual tbox::Pointer< hier::BoxOverlap<
DIM > > 
calculateOverlap (const hier::BoxGeometry< DIM > &dst_geometry, const hier::BoxGeometry< DIM > &src_geometry, const hier::Box< DIM > &src_mask, const bool overwrite_interior, const hier::IntVector< DIM > &src_offset, const bool retry) const
const hier::Box< DIM > & getBox () const
const hier::IntVector< DIM > & getGhosts () const

Static Public Member Functions

static hier::Box< DIM > toFaceBox (const hier::Box< DIM > &box, const int axis)

Detailed Description

template<int DIM>
class SAMRAI::pdat::FaceGeometry< DIM >

Class FaceGeometry<DIM> manages the mapping between the AMR index space and the face-centered geometry index space. It is a subclass of hier::BoxGeometry<DIM> and it computes intersections between face- centered box geometries. That is, face geometry objects calculate the face-centered data residing in the intersection of two boxes defining regions of index space on an AMR patch hierarchy. For example, given a three-dimensional box [l0:u0,l1:u1,l2:u2], the indices for a three-dimensional face data object run as follows:

Recall that face data is defined so that the faces associated with a given coordinate direction are those whose normal vector lies in that direction. Also, face data indices are permuted so that the leading dimension of each array corresponds to the direction of the faces. Side data classes provide the same data storage as face classes however the indices are not permuted for side data.

Note that the intersection between two face-centered boxes can be complicated since face geometries contain indices on the faces of the boxes. Thus, there may be overlap between two boxes, even though the boxes do not intersect in the AMR index space.

See also:
hier::BoxGeometry

pdat::FaceOverlap


Constructor & Destructor Documentation

template<int DIM>
SAMRAI::pdat::FaceGeometry< DIM >::FaceGeometry const hier::Box< DIM > &  box,
const hier::IntVector< DIM > &  ghosts
 

Construct the face geometry object given the box and ghost cell width.

template<int DIM>
SAMRAI::pdat::FaceGeometry< DIM >::~FaceGeometry  )  [virtual]
 

The virtual destructor does nothing interesting.


Member Function Documentation

template<int DIM>
tbox::Pointer< hier::BoxOverlap< DIM > > SAMRAI::pdat::FaceGeometry< DIM >::calculateOverlap const hier::BoxGeometry< DIM > &  dst_geometry,
const hier::BoxGeometry< DIM > &  src_geometry,
const hier::Box< DIM > &  src_mask,
const bool  overwrite_interior,
const hier::IntVector< DIM > &  src_offset,
const bool  retry
const [virtual]
 

Compute the overlap in index space between the source face box geometry object and the destination box geometry. Refer to the box geometry class for a detailed description of calculateOverlap().

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

Return the box extents for this face centered box geometry object.

template<int DIM>
const hier::IntVector< DIM > & SAMRAI::pdat::FaceGeometry< DIM >::getGhosts  )  const [inline]
 

Return the ghost cell width for this face centered box geometry object.

template<int DIM>
hier::Box< DIM > SAMRAI::pdat::FaceGeometry< DIM >::toFaceBox const hier::Box< DIM > &  box,
const int  axis
[static]
 

Convert an AMR abstract box into a face geometry box. The box indices are cyclically shifted such that the face direction is first. The face direction runs from the corresponding lower index to the upper index plus one. All other indices run as in the original box. The axes are given by X=0, Y=1, and Z=2.


The documentation for this class was generated from the following files:
Generated on Fri Dec 2 11:29:29 2005 for SAMRAI by  doxygen 1.4.2