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

Class RefinePatchStrategySet is a utility class that allows multiple SAMRAI::xfer::RefinePatchStrategy objects to be employed by a single SAMRAI::xfer::RefineSchedule. More...

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

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

Public Member Functions

template<typename InputIterator >
 RefinePatchStrategySet (InputIterator first, InputIterator last, bool managed=true)
 Constructor.
 
 ~RefinePatchStrategySet ()
 Destructor. More...
 
void setPhysicalBoundaryConditions (SAMRAI::hier::Patch< NDIM > &patch, double fill_time, const SAMRAI::hier::IntVector< NDIM > &ghost_width_to_fill) override
 
SAMRAI::hier::IntVector< NDIM > getRefineOpStencilWidth () const override
 
void preprocessRefine (SAMRAI::hier::Patch< NDIM > &fine, const SAMRAI::hier::Patch< NDIM > &coarse, const SAMRAI::hier::Box< NDIM > &fine_box, const SAMRAI::hier::IntVector< NDIM > &ratio) override
 
void postprocessRefine (SAMRAI::hier::Patch< NDIM > &fine, const SAMRAI::hier::Patch< NDIM > &coarse, const SAMRAI::hier::Box< NDIM > &fine_box, const SAMRAI::hier::IntVector< NDIM > &ratio) override
 
void preprocessRefineBoxes (SAMRAI::hier::Patch< NDIM > &fine, const SAMRAI::hier::Patch< NDIM > &coarse, const SAMRAI::hier::BoxList< NDIM > &fine_boxes, const SAMRAI::hier::IntVector< NDIM > &ratio) override
 
void postprocessRefineBoxes (SAMRAI::hier::Patch< NDIM > &fine, const SAMRAI::hier::Patch< NDIM > &coarse, const SAMRAI::hier::BoxList< NDIM > &fine_boxes, const SAMRAI::hier::IntVector< NDIM > &ratio) override
 

Detailed Description

Class RefinePatchStrategySet is a utility class that allows multiple SAMRAI::xfer::RefinePatchStrategy objects to be employed by a single SAMRAI::xfer::RefineSchedule.

Constructor & Destructor Documentation

◆ ~RefinePatchStrategySet()

IBTK::RefinePatchStrategySet::~RefinePatchStrategySet ( )

Destructor.

Note
The patch strategy objects provided to the constructor are deleted by this class destructor.

Member Function Documentation

◆ getRefineOpStencilWidth()

IntVector< NDIM > IBTK::RefinePatchStrategySet::getRefineOpStencilWidth ( ) const
overridevirtual

Function to return maximum stencil width needed over user-defined data interpolation operations. This is needed to determine the correct interpolation data dependencies.

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

◆ postprocessRefine()

void IBTK::RefinePatchStrategySet::postprocessRefine ( SAMRAI::hier::Patch< NDIM > &  fine,
const SAMRAI::hier::Patch< NDIM > &  coarse,
const SAMRAI::hier::Box< NDIM > &  fine_box,
const SAMRAI::hier::IntVector< NDIM > &  ratio 
)
overridevirtual

Function to perform user-defined preprocess data refine operations. This member function is called after standard refine operations (expressed using concrete subclasses of the SAMRAI::xfer::RefineOperator base class). The postprocess function refines data from the scratch components of the coarse patch into the scratch components of the fine patch on the specified fine box region. Recall that the scratch components are specified in calls to the registerRefine() function in the SAMRAI::xfer::RefineAlgorithm class.

Parameters
fineFine patch containing destination data.
coarseCoarse patch containing source data.
fine_boxBox region on fine patch into which data is refined.
ratioInteger vector containing ratio relating index space between coarse and fine patches.

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

◆ postprocessRefineBoxes()

void IBTK::RefinePatchStrategySet::postprocessRefineBoxes ( SAMRAI::hier::Patch< NDIM > &  fine,
const SAMRAI::hier::Patch< NDIM > &  coarse,
const SAMRAI::hier::BoxList< NDIM > &  fine_boxes,
const SAMRAI::hier::IntVector< NDIM > &  ratio 
)
overridevirtual

Function to perform user-defined refine operations. This member function is called after standard refining operations (expressed using concrete subclasses of the SAMRAI::xfer::RefineOperator base class). The postprocess function refines data from the scratch components of the coarse patch into the scratch components of the fine patch on the specified fine box regions.

Parameters
fineFine patch containing destination data.
coarseCoarse patch containing source data.
fine_boxesList of box regions on fine patch into which data is refined.
ratioInteger vector containing ratio relating index space between coarse and fine patches.

Reimplemented from SAMRAI::xfer::RefinePatchStrategy< NDIM >.

◆ preprocessRefine()

void IBTK::RefinePatchStrategySet::preprocessRefine ( SAMRAI::hier::Patch< NDIM > &  fine,
const SAMRAI::hier::Patch< NDIM > &  coarse,
const SAMRAI::hier::Box< NDIM > &  fine_box,
const SAMRAI::hier::IntVector< NDIM > &  ratio 
)
overridevirtual

Function to perform user-defined preprocess data refine operations. This member function is called before standard refine operations (expressed using concrete subclasses of the SAMRAI::xfer::RefineOperator base class). The preprocess function refines data from the scratch components of the coarse patch into the scratch components of the fine patch on the specified fine box region. Recall that the scratch components are specified in calls to the registerRefine() function in the SAMRAI::xfer::RefineAlgorithm class.

Parameters
fineFine patch containing destination data.
coarseCoarse patch containing source data.
fine_boxBox region on fine patch into which data is refined.
ratioInteger vector containing ratio relating index space between coarse and fine patches.

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

◆ preprocessRefineBoxes()

void IBTK::RefinePatchStrategySet::preprocessRefineBoxes ( SAMRAI::hier::Patch< NDIM > &  fine,
const SAMRAI::hier::Patch< NDIM > &  coarse,
const SAMRAI::hier::BoxList< NDIM > &  fine_boxes,
const SAMRAI::hier::IntVector< NDIM > &  ratio 
)
overridevirtual

Function to perform user-defined refine operations. This member function is called before standard refining operations (expressed using concrete subclasses of the SAMRAI::xfer::RefineOperator base class). The preprocess function refines data from the scratch components of the coarse patch into the scratch components of the fine patch on the specified fine box regions.

Parameters
fineFine patch containing destination data.
coarseCoarse patch containing source data.
fine_boxesList of box regions on fine patch into which data is refined.
ratioInteger vector containing ratio relating index space between coarse and fine patches.

Reimplemented from SAMRAI::xfer::RefinePatchStrategy< NDIM >.

◆ setPhysicalBoundaryConditions()

void IBTK::RefinePatchStrategySet::setPhysicalBoundaryConditions ( SAMRAI::hier::Patch< NDIM > &  patch,
double  fill_time,
const SAMRAI::hier::IntVector< NDIM > &  ghost_width_to_fill 
)
overridevirtual

Function to set data associated with the given list of patch data indices at patch boundaries that intersect the physical domain boundary. The specific boundary conditions are determined by the user. The patch data components set in this routine correspond to the scratch components specified in calls to the registerRefine() function in the SAMRAI::xfer::RefineAlgorithm class.

Parameters
patchPatch on which to fill boundary data.
fill_timeDouble simulation time for boundary filling.
ghost_width_to_fillInteger vector describing maximum ghost width to fill over all registered scratch components.

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


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