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

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

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

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

 EdgeGeometry (const hier::Box< DIM > &box, const hier::IntVector< DIM > &ghosts)
virtual ~EdgeGeometry ()
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 > toEdgeBox (const hier::Box< DIM > &box, const int axis)

Detailed Description

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

Class EdgeGeometry<DIM> manages the mapping between the AMR index space and the edge-centered geometry index space. It is a subclass of hier::BoxGeometry<DIM> and it computes intersections between edge- centered box geometries. That is, edge geometry objects calculate the edge-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 edge data object run as follows:

Recall that edge data is defined so that the edges associated with a given coordinate direction are those whose tangent vector lies in that direction.

Note that the intersection between two edge-centered boxes can be complicated, since edge geometries contain indices on the edges of 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::EdgeOverlap


Constructor & Destructor Documentation

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

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

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

The virtual destructor does nothing interesting.


Member Function Documentation

template<int DIM>
tbox::Pointer< hier::BoxOverlap< DIM > > SAMRAI::pdat::EdgeGeometry< 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 edge 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::EdgeGeometry< DIM >::getBox  )  const [inline]
 

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

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

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

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

Convert an AMR abstract box into a edge geometry box. The box indices are cyclically shifted such that the edge direction is first. The edge 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