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

Class CoarsenPatchStrategySet is a utility class that allows multiple SAMRAI::xfer::CoarsenPatchStrategy objects to be employed by a single SAMRAI::xfer::CoarsenSchedule. More...

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

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

Public Member Functions

template<typename InputIterator >
 CoarsenPatchStrategySet (InputIterator first, InputIterator last, bool managed=true)
 Constructor.
 
 ~CoarsenPatchStrategySet ()
 Destructor.
 
SAMRAI::hier::IntVector< NDIM > getCoarsenOpStencilWidth () const override
 
void preprocessCoarsen (SAMRAI::hier::Patch< NDIM > &coarse, const SAMRAI::hier::Patch< NDIM > &fine, const SAMRAI::hier::Box< NDIM > &coarse_box, const SAMRAI::hier::IntVector< NDIM > &ratio) override
 
void postprocessCoarsen (SAMRAI::hier::Patch< NDIM > &coarse, const SAMRAI::hier::Patch< NDIM > &fine, const SAMRAI::hier::Box< NDIM > &coarse_box, const SAMRAI::hier::IntVector< NDIM > &ratio) override
 

Detailed Description

Class CoarsenPatchStrategySet is a utility class that allows multiple SAMRAI::xfer::CoarsenPatchStrategy objects to be employed by a single SAMRAI::xfer::CoarsenSchedule.

Member Function Documentation

◆ getCoarsenOpStencilWidth()

IntVector< NDIM > IBTK::CoarsenPatchStrategySet::getCoarsenOpStencilWidth ( ) const
overridevirtual

Return maximum stencil width needed over all user-defined data coarsening operations. This is needed to determine the correct coarsening data dependencies.

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

◆ postprocessCoarsen()

void IBTK::CoarsenPatchStrategySet::postprocessCoarsen ( SAMRAI::hier::Patch< NDIM > &  coarse,
const SAMRAI::hier::Patch< NDIM > &  fine,
const SAMRAI::hier::Box< NDIM > &  coarse_box,
const SAMRAI::hier::IntVector< NDIM > &  ratio 
)
overridevirtual

Perform user-defined coarsening operations. This member function is called after standard coarsening operations (expressed using concrete subclasses of the SAMRAI::xfer::CoarsenOperator base class). The postprocess function moves data from the source components on the fine patch into the source components on the coarse patch in the specified coarse box region. Recall that the source components are specified in calls to the registerCoarsen() function in the SAMRAI::xfer::CoarsenAlgorithm class.

Parameters
coarseCoarse patch containing destination data.
fineFine patch containing source data.
coarse_boxBox region on coarse patch into which data is copied.
ratioInteger vector containing ratio

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

◆ preprocessCoarsen()

void IBTK::CoarsenPatchStrategySet::preprocessCoarsen ( SAMRAI::hier::Patch< NDIM > &  coarse,
const SAMRAI::hier::Patch< NDIM > &  fine,
const SAMRAI::hier::Box< NDIM > &  coarse_box,
const SAMRAI::hier::IntVector< NDIM > &  ratio 
)
overridevirtual

Perform user-defined coarsening operations. This member function is called before standard coarsening operations (expressed using concrete subclasses of the SAMRAI::xfer::CoarsenOperator base class). The preprocess function moves data from the source components on the fine patch into the source components on the coarse patch in the specified coarse box region. Recall that the source components are specified in calls to the registerCoarsen() function in the SAMRAI::xfer::CoarsenAlgorithm class.

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

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


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