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

#include <BoxGeometryFillPattern.h>

Inheritance diagram for SAMRAI::xfer::BoxGeometryFillPattern< DIM >:
Inheritance graph
[legend]

Public Member Functions

 BoxGeometryFillPattern ()
 
virtual ~BoxGeometryFillPattern ()
 
tbox::Pointer< hier::BoxOverlap< DIM > > calculateOverlap (const hier::BoxGeometry< DIM > &dst_geometry, const hier::BoxGeometry< DIM > &src_geometry, const hier::Box< DIM > &dst_patch_box, const hier::Box< DIM > &src_mask, const bool overwrite_interior, const hier::IntVector< DIM > &src_offset) const
 
hier::IntVector< DIM > & getStencilWidth ()
 
const std::string & getPatternName () const
 
virtual tbox::Pointer< hier::BoxOverlap< DIM > > calculateOverlapOnLevel (const hier::BoxGeometry< DIM > &dst_geometry, const hier::BoxGeometry< DIM > &src_geometry, const hier::Box< DIM > &dst_patch_box, const hier::Box< DIM > &src_mask, const bool overwrite_interior, const hier::IntVector< DIM > &src_offset, const int dst_level_num, const int src_level_num) const
 
virtual void setTargetPatchLevelNumber (const int level_num)
 

Private Member Functions

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

Static Private Attributes

static std::string s_name_id
 
static hier::IntVector< DIM > s_stencil_width
 

Detailed Description

template<int DIM>
class SAMRAI::xfer::BoxGeometryFillPattern< DIM >

Class BoxGeometryFillPattern is a default implementation of the abstract base class VariableFillPattern. It is used to calculate overlaps that consist of the intersections between boxes, including the full ghost regions.

Constructor & Destructor Documentation

◆ BoxGeometryFillPattern() [1/2]

Default constructor

◆ ~BoxGeometryFillPattern()

template<int DIM>
virtual SAMRAI::xfer::BoxGeometryFillPattern< DIM >::~BoxGeometryFillPattern ( )
virtual

Destructor

◆ BoxGeometryFillPattern() [2/2]

template<int DIM>
SAMRAI::xfer::BoxGeometryFillPattern< DIM >::BoxGeometryFillPattern ( const BoxGeometryFillPattern< DIM > &  )
private

Member Function Documentation

◆ calculateOverlap()

template<int DIM>
tbox::Pointer< hier::BoxOverlap<DIM> > SAMRAI::xfer::BoxGeometryFillPattern< DIM >::calculateOverlap ( const hier::BoxGeometry< DIM > &  dst_geometry,
const hier::BoxGeometry< DIM > &  src_geometry,
const hier::Box< DIM > &  dst_patch_box,
const hier::Box< DIM > &  src_mask,
const bool  overwrite_interior,
const hier::IntVector< DIM > &  src_offset 
) const
virtual

Calculate overlaps between the destination and source geometries using the geometries' own overlap calculation methods.

Parameters
dst_geometrygeometry object for destination box
src_geometrygeometry object for source box
dst_patch_boxbox for the destination patch
src_maskthe source mask, the box resulting from shifting the source box
overwrite_interiorcontrols whether or not to include the destination box interior in the overlap
src_offsetthe offset between source and destination index space. src + src_offset = dst
Returns
Pointer to the calculated overlap object

Implements SAMRAI::xfer::VariableFillPattern< DIM >.

◆ getStencilWidth()

template<int DIM>
hier::IntVector<DIM>& SAMRAI::xfer::BoxGeometryFillPattern< DIM >::getStencilWidth ( )
virtual

Implementation of interface to get stencil width of a VariableFillPattern. For this class BoxGeometryFillPattern, this method should never be called, since overlaps are computed based on box geometry objects and not on any stencil. An error will result if this method is invoked.

Implements SAMRAI::xfer::VariableFillPattern< DIM >.

◆ getPatternName()

template<int DIM>
const std::string& SAMRAI::xfer::BoxGeometryFillPattern< DIM >::getPatternName ( ) const
virtual

Returns a string name identifier "BOX_GEOMETRY_FILL_PATTERN".

Implements SAMRAI::xfer::VariableFillPattern< DIM >.

◆ operator=()

template<int DIM>
void SAMRAI::xfer::BoxGeometryFillPattern< DIM >::operator= ( const BoxGeometryFillPattern< DIM > &  )
private

◆ calculateOverlapOnLevel()

template<int DIM>
virtual tbox::Pointer< hier::BoxOverlap<DIM> > SAMRAI::xfer::VariableFillPattern< DIM >::calculateOverlapOnLevel ( const hier::BoxGeometry< DIM > &  dst_geometry,
const hier::BoxGeometry< DIM > &  src_geometry,
const hier::Box< DIM > &  dst_patch_box,
const hier::Box< DIM > &  src_mask,
const bool  overwrite_interior,
const hier::IntVector< DIM > &  src_offset,
const int  dst_level_num,
const int  src_level_num 
) const
virtualinherited

This virtual method provides an interface to calculate overlaps between the destination and source geometries on a specified level of the patch hierarchy.

Note
A default implementation is provided that simply calls the pure virtual method calculateOverlap() for implementations that are level independent.
Parameters
dst_geometrygeometry object for destination box
src_geometrygeometry object for source box
dst_patch_boxbox for the destination patch
src_maskthe source mask, the box resulting from shifting the source box
overwrite_interiorcontrols whether or not to include the destination box interior in the overlap
src_offsetthe offset between source and destination index space. src + src_offset = dst
dst_level_numthe level of the patch hierarchy on which the dst boxes are located
src_level_numthe level of the patch hierarchy on which the src boxes are located
Returns
Pointer to the calculated overlap object

◆ setTargetPatchLevelNumber()

template<int DIM>
virtual void SAMRAI::xfer::VariableFillPattern< DIM >::setTargetPatchLevelNumber ( const int  level_num)
virtualinherited

Set the target patch level number for the variable fill pattern. The default implementation is empty.

Reimplemented in IBTK::SideNoCornersFillPattern, and IBTK::CellNoCornersFillPattern.

Member Data Documentation

◆ s_name_id

template<int DIM>
std::string SAMRAI::xfer::BoxGeometryFillPattern< DIM >::s_name_id
staticprivate

◆ s_stencil_width

template<int DIM>
hier::IntVector<DIM> SAMRAI::xfer::BoxGeometryFillPattern< DIM >::s_stencil_width
staticprivate

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