Class CellCellNoCornersFillPattern is a concrete implementation of the abstract base class SAMRAI::xfer::VariableFillPattern. It is used to calculate overlaps according to a pattern that limits overlaps to the cell-centered ghost region surrounding a patch on the target level, excluding all corners (and, in 3D, patch edges).
More...
#include <ibtk/CellNoCornersFillPattern.h>
|
| | CellNoCornersFillPattern (int stencil_width, bool overwrite_interior) |
| | Constructor. More...
|
| |
| | ~CellNoCornersFillPattern ()=default |
| | Destructor. More...
|
| |
| 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::string & | getPatternName () const override |
| |
| virtual 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=0 |
| |
| 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 const std::string & | getPatternName () const=0 |
| |
On levels other than the target level (or in cases in which the target level cannot be determined), the overlap pattern defaults to that provided by class SAMRAI::pdat::CellOverlap.
◆ CellNoCornersFillPattern() [1/3]
| IBTK::CellNoCornersFillPattern::CellNoCornersFillPattern |
( |
int |
stencil_width, |
|
|
bool |
overwrite_interior |
|
) |
| |
- Parameters
-
| stencil_width | the width to fill |
| overwrite_interior | whether to include the patch interior |
- Note
- The parameter overwrite_interior takes precedence over the value passed in to the function calculateOverlap on the target patch level.
◆ ~CellNoCornersFillPattern()
| IBTK::CellNoCornersFillPattern::~CellNoCornersFillPattern |
( |
| ) |
|
|
default |
◆ CellNoCornersFillPattern() [2/3]
| IBTK::CellNoCornersFillPattern::CellNoCornersFillPattern |
( |
| ) |
|
|
privatedelete |
- Note
- This constructor is not implemented and should not be used.
◆ CellNoCornersFillPattern() [3/3]
- Note
- This constructor is not implemented and should not be used.
- Parameters
-
| from | The value to copy to this object. |
◆ calculateOverlap() [1/2]
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_geometry | geometry object for destination box |
| src_geometry | geometry object for source box |
| dst_patch_box | box for the destination patch |
| src_mask | the source mask, the box resulting from shifting the source box |
| overwrite_interior | controls whether or not to include the destination box interior in the overlap |
| src_offset | the offset between source and destination index space (src + src_offset = dst) |
- Returns
- pointer to the calculated overlap object
◆ calculateOverlapOnLevel() [1/2]
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_geometry | geometry object for destination box |
| src_geometry | geometry object for source box |
| dst_patch_box | box for the destination patch |
| src_mask | the source mask, the box resulting from shifting the source box |
| overwrite_interior | controls whether or not to include the destination box interior in the overlap |
| src_offset | the offset between source and destination index space (src + src_offset = dst) |
| dst_level_num | the level of the patch hierarchy on which the dst boxes are located |
| src_level_num | the level of the patch hierarchy on which the src boxes are located |
- Returns
- pointer to the calculated overlap object
◆ setTargetPatchLevelNumber()
| void IBTK::CellNoCornersFillPattern::setTargetPatchLevelNumber |
( |
int |
level_num | ) |
|
|
overridevirtual |
◆ getStencilWidth()
◆ getPatternName() [1/2]
| const std::string& IBTK::CellNoCornersFillPattern::getPatternName |
( |
| ) |
const |
|
override |
Returns a string name identifier "CELL_NO_CORNERS_FILL_PATTERN".
◆ operator=()
- Note
- This operator is not implemented and should not be used.
- Parameters
-
| that | The value to assign to this object. |
- Returns
- A reference to this object.
◆ calculateOverlap() [2/2]
This pure virtual method provides an interface to calculate overlaps between the destination and source geometries.
- Parameters
-
| dst_geometry | geometry object for destination box |
| src_geometry | geometry object for source box |
| dst_patch_box | box for the destination patch |
| src_mask | the source mask, the box resulting from shifting the source box |
| overwrite_interior | controls whether or not to include the destination box interior in the overlap |
| src_offset | the offset between source and destination index space. src + src_offset = dst |
- Returns
- Pointer to the calculated overlap object
◆ calculateOverlapOnLevel() [2/2]
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_geometry | geometry object for destination box |
| src_geometry | geometry object for source box |
| dst_patch_box | box for the destination patch |
| src_mask | the source mask, the box resulting from shifting the source box |
| overwrite_interior | controls whether or not to include the destination box interior in the overlap |
| src_offset | the offset between source and destination index space. src + src_offset = dst |
| dst_level_num | the level of the patch hierarchy on which the dst boxes are located |
| src_level_num | the level of the patch hierarchy on which the src boxes are located |
- Returns
- Pointer to the calculated overlap object
◆ getPatternName() [2/2]
Return a string name identifying the concrete subclass.
◆ d_stencil_width
◆ d_overwrite_interior
| const bool IBTK::CellNoCornersFillPattern::d_overwrite_interior |
|
private |
◆ d_target_level_num
The documentation for this class was generated from the following file: