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

#include <SecondLayerNodeFillPattern.h>

Inheritance diagram for SAMRAI::pdat::SecondLayerNodeFillPattern< DIM >:
Inheritance graph
[legend]

Public Member Functions

 SecondLayerNodeFillPattern ()
 
virtual ~SecondLayerNodeFillPattern ()
 
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

 SecondLayerNodeFillPattern (const SecondLayerNodeFillPattern &)
 
void operator= (const SecondLayerNodeFillPattern &)
 

Private Attributes

hier::IntVector< DIM > d_stencil_width
 

Static Private Attributes

static std::string s_name_id
 

Detailed Description

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

Class SecondLayerNodeFillPattern is a concrete implementation of the abstract base class VariableFillPattern. It is used to calculate overlaps according to a pattern which limits overlaps to the first layer of boundary nodes, that is the nodes that lie on the patch boundary.

Constructor & Destructor Documentation

◆ SecondLayerNodeFillPattern() [1/2]

Constructor

Parameters
dimDimension

◆ ~SecondLayerNodeFillPattern()

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

Destructor

◆ SecondLayerNodeFillPattern() [2/2]

Member Function Documentation

◆ calculateOverlap()

template<int DIM>
tbox::Pointer< hier::BoxOverlap<DIM> > SAMRAI::pdat::SecondLayerNodeFillPattern< 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 according to the desired pattern. This will return the portion of the intersection of the node geometries that lies on the boundary of the patch. The patch is identified by the argument dst_patch_box.

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::pdat::SecondLayerNodeFillPattern< DIM >::getStencilWidth ( )
virtual

Returns the stencil width of 1 in all directions.

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

◆ getPatternName()

template<int DIM>
const std::string& SAMRAI::pdat::SecondLayerNodeFillPattern< DIM >::getPatternName ( ) const
virtual

Returns a string name identifier "SECOND_LAYER_NODE_FILL_PATTERN".

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

◆ operator=()

template<int DIM>
void SAMRAI::pdat::SecondLayerNodeFillPattern< DIM >::operator= ( const SecondLayerNodeFillPattern< 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

◆ d_stencil_width

template<int DIM>
hier::IntVector<DIM> SAMRAI::pdat::SecondLayerNodeFillPattern< DIM >::d_stencil_width
private

◆ s_name_id

template<int DIM>
std::string SAMRAI::pdat::SecondLayerNodeFillPattern< DIM >::s_name_id
staticprivate

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