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

#include <SideGeometry.h>

Public Types

typedef SideOverlap< DIM > Overlap
 

Public Member Functions

 SideGeometry (const hier::Box< DIM > &box, const hier::IntVector< DIM > &ghosts, const hier::IntVector< DIM > &directions)
 Construct the side geometry object given an AMR index space box, ghost cell width and directions vector indicating which coordinate directions are allocated. More...
 
virtual ~SideGeometry ()
 The virtual destructor does nothing interesting. More...
 
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
 Compute the overlap in side-centered index space between the source box geometry and the destination box geometry. More...
 
const hier::Box< DIM > & getBox () const
 Return the box for this side centered box geometry object. More...
 
const hier::IntVector< DIM > & getGhosts () const
 Return the ghost cell width for this side centered box geometry object. More...
 
const hier::IntVector< DIM > & getDirectionVector () const
 

Static Public Member Functions

static hier::Box< DIM > toSideBox (const hier::Box< DIM > &box, int side_normal)
 Convert an AMR index box space box into an side geometry box. An side geometry box extends the given AMR index box space box by one in upper dimension for the side normal coordinate direction. More...
 

Private Member Functions

 SideGeometry (const SideGeometry< DIM > &)
 
void operator= (const SideGeometry< DIM > &)
 

Static Private Member Functions

static tbox::Pointer< hier::BoxOverlap< DIM > > doOverlap (const SideGeometry< DIM > &dst_geometry, const SideGeometry< DIM > &src_geometry, const hier::Box< DIM > &src_mask, const bool overwrite_interior, const hier::IntVector< DIM > &src_offset)
 

Private Attributes

hier::Box< DIM > d_box
 
hier::IntVector< DIM > d_ghosts
 
hier::IntVector< DIM > d_directions
 

Detailed Description

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

Class SideGeometry<DIM> manages the mapping between the AMR index space and the side-centered geometry index space. It is a subclass of hier::BoxGeometry<DIM> and it computes intersections between side- centered box geometries for communication operations.

See header file for SideData<DIM> class for a more detailed description of the data layout.

See also
hier::BoxGeometry
pdat::SideOverlap

Member Typedef Documentation

◆ Overlap

template<int DIM>
typedef SideOverlap<DIM> SAMRAI::pdat::SideGeometry< DIM >::Overlap

The BoxOverlap implemenation for this geometry.

Constructor & Destructor Documentation

◆ SideGeometry() [1/2]

template<int DIM>
SAMRAI::pdat::SideGeometry< DIM >::SideGeometry ( const hier::Box< DIM > &  box,
const hier::IntVector< DIM > &  ghosts,
const hier::IntVector< DIM > &  directions 
)

◆ ~SideGeometry()

template<int DIM>
virtual SAMRAI::pdat::SideGeometry< DIM >::~SideGeometry ( )
virtual

◆ SideGeometry() [2/2]

template<int DIM>
SAMRAI::pdat::SideGeometry< DIM >::SideGeometry ( const SideGeometry< DIM > &  )
private

Member Function Documentation

◆ toSideBox()

template<int DIM>
static hier::Box<DIM> SAMRAI::pdat::SideGeometry< DIM >::toSideBox ( const hier::Box< DIM > &  box,
int  side_normal 
)
static

◆ calculateOverlap()

template<int DIM>
virtual tbox::Pointer< hier::BoxOverlap<DIM> > SAMRAI::pdat::SideGeometry< 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

◆ getBox()

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

◆ getGhosts()

template<int DIM>
const hier::IntVector<DIM>& SAMRAI::pdat::SideGeometry< DIM >::getGhosts ( ) const

◆ getDirectionVector()

template<int DIM>
const hier::IntVector<DIM>& SAMRAI::pdat::SideGeometry< DIM >::getDirectionVector ( ) const

Return constant reference to vector describing which coordinate directions managed by this side geometry object.

A vector entry of zero indicates that this object will not perform operations involving the corresponding coordinate direction.
A non-zero value indicates otherwise.

◆ doOverlap()

template<int DIM>
static tbox::Pointer< hier::BoxOverlap<DIM> > SAMRAI::pdat::SideGeometry< DIM >::doOverlap ( const SideGeometry< DIM > &  dst_geometry,
const SideGeometry< DIM > &  src_geometry,
const hier::Box< DIM > &  src_mask,
const bool  overwrite_interior,
const hier::IntVector< DIM > &  src_offset 
)
staticprivate

Function doOverlap() is the function that computes the overlap between the source and destination objects, where both box geometry objects are guaranteed to have side centered geometry.

◆ operator=()

template<int DIM>
void SAMRAI::pdat::SideGeometry< DIM >::operator= ( const SideGeometry< DIM > &  )
private

Member Data Documentation

◆ d_box

template<int DIM>
hier::Box<DIM> SAMRAI::pdat::SideGeometry< DIM >::d_box
private

◆ d_ghosts

template<int DIM>
hier::IntVector<DIM> SAMRAI::pdat::SideGeometry< DIM >::d_ghosts
private

◆ d_directions

template<int DIM>
hier::IntVector<DIM> SAMRAI::pdat::SideGeometry< DIM >::d_directions
private

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