IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
Public Member Functions | List of all members
IBTK::SideNoCornersFillPattern Class Reference

Class SideCellNoCornersFillPattern is a concrete implementation of the abstract base class SAMRAI::xfer::VariableFillPattern. It is used to calculate overlaps according to a pattern which limits overlaps to the cell-centered ghost region surrounding a patch, excluding all corners. In 3D, it is also possible to configure this fill pattern object also to exclude all edges. More...

#include </home/runner/work/IBAMR/IBAMR/ibtk/include/ibtk/SideNoCornersFillPattern.h>

Inheritance diagram for IBTK::SideNoCornersFillPattern:
Inheritance graph
[legend]

Public Member Functions

 SideNoCornersFillPattern (int stencil_width, bool include_dst_patch_box, bool include_edges_on_dst_level, bool include_edges_on_src_level)
 Constructor. More...
 
 ~SideNoCornersFillPattern ()=default
 Destructor.
 
SAMRAI::tbox::Pointer< SAMRAI::hier::BoxOverlap< NDIM > > calculateOverlap (const SAMRAI::hier::BoxGeometry< NDIM > &dst_geometry, const SAMRAI::hier::BoxGeometry< NDIM > &src_geometry, const SAMRAI::hier::Box< NDIM > &dst_patch_box, const SAMRAI::hier::Box< NDIM > &src_mask, bool overwrite_interior, const SAMRAI::hier::IntVector< NDIM > &src_offset) const override
 
SAMRAI::tbox::Pointer< SAMRAI::hier::BoxOverlap< NDIM > > calculateOverlapOnLevel (const SAMRAI::hier::BoxGeometry< NDIM > &dst_geometry, const SAMRAI::hier::BoxGeometry< NDIM > &src_geometry, const SAMRAI::hier::Box< NDIM > &dst_patch_box, const SAMRAI::hier::Box< NDIM > &src_mask, bool overwrite_interior, const SAMRAI::hier::IntVector< NDIM > &src_offset, int dst_level_num, int src_level_num) const override
 
void setTargetPatchLevelNumber (int level_num) override
 
SAMRAI::hier::IntVector< NDIM > & getStencilWidth () override
 
const std::stringgetPatternName () const override
 

Detailed Description

Class SideCellNoCornersFillPattern is a concrete implementation of the abstract base class SAMRAI::xfer::VariableFillPattern. It is used to calculate overlaps according to a pattern which limits overlaps to the cell-centered ghost region surrounding a patch, excluding all corners. In 3D, it is also possible to configure this fill pattern object also to exclude all edges.

Constructor & Destructor Documentation

◆ SideNoCornersFillPattern()

IBTK::SideNoCornersFillPattern::SideNoCornersFillPattern ( int  stencil_width,
bool  include_dst_patch_box,
bool  include_edges_on_dst_level,
bool  include_edges_on_src_level 
)

Constructor.

Note
Parameters include_edges_on_dst_level and include_edges_on_src_level have no effect for 2D problems.

Member Function Documentation

◆ calculateOverlap()

Pointer< BoxOverlap< NDIM > > IBTK::SideNoCornersFillPattern::calculateOverlap ( const SAMRAI::hier::BoxGeometry< NDIM > &  dst_geometry,
const SAMRAI::hier::BoxGeometry< NDIM > &  src_geometry,
const SAMRAI::hier::Box< NDIM > &  dst_patch_box,
const SAMRAI::hier::Box< NDIM > &  src_mask,
bool  overwrite_interior,
const SAMRAI::hier::IntVector< NDIM > &  src_offset 
) const
overridevirtual

Calculate overlaps between the destination and source geometries according to the desired pattern. This will return the portion of the intersection of the geometries that lies in the ghost region of the specified width surrounding the patch, excluding all edges and corners. 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< NDIM >.

◆ calculateOverlapOnLevel()

Pointer< BoxOverlap< NDIM > > IBTK::SideNoCornersFillPattern::calculateOverlapOnLevel ( const SAMRAI::hier::BoxGeometry< NDIM > &  dst_geometry,
const SAMRAI::hier::BoxGeometry< NDIM > &  src_geometry,
const SAMRAI::hier::Box< NDIM > &  dst_patch_box,
const SAMRAI::hier::Box< NDIM > &  src_mask,
bool  overwrite_interior,
const SAMRAI::hier::IntVector< NDIM > &  src_offset,
int  dst_level_num,
int  src_level_num 
) const
override

Calculate overlaps between the destination and source geometries according to the desired pattern. This will return the portion of the intersection of the geometries that lies in the ghost region of the specified width surrounding the patch, excluding all edges and corners. 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)
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

◆ getPatternName()

const std::string & IBTK::SideNoCornersFillPattern::getPatternName ( ) const
overridevirtual

Returns a string name identifier "SIDE_NO_CORNERS_FILL_PATTERN".

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

◆ getStencilWidth()

IntVector< NDIM > & IBTK::SideNoCornersFillPattern::getStencilWidth ( )
overridevirtual

Returns the stencil width.

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

◆ setTargetPatchLevelNumber()

void IBTK::SideNoCornersFillPattern::setTargetPatchLevelNumber ( int  level_num)
override

Set the target patch level number for the variable fill pattern.


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