SAMRAI::xfer::LocallyActiveDataCoarsenPatchStrategy< DIM > Class Template Reference

Class LocallyActiveDataCoarsenPatchStrategy is an abstract base class that defines a Strategy pattern interface for operations that a user may supply for application-specific coarsening of locally-active data between two levels in an AMR patch hierarchy. This interface class is similar to the CoarsenPatchStrategy interface, except that it is used to treat locally-active patch data. A concrete subclass must define three member functions to perform the following tasks:. More...

#include <source/transfer/datamovers/locally_active/LocallyActiveDataCoarsenPatchStrategy.h>

List of all members.

Public Member Functions

 LocallyActiveDataCoarsenPatchStrategy ()
virtual ~LocallyActiveDataCoarsenPatchStrategy ()
virtual hier::IntVector< DIM > getCoarsenOpStencilWidth () const=0
virtual void preprocessCoarsen (hier::Patch< DIM > &coarse, const hier::Patch< DIM > &fine, const tbox::List< int > &src_data_ids, const hier::Box< DIM > &coarse_box, const hier::IntVector< DIM > &ratio)=0
virtual void postprocessCoarsen (hier::Patch< DIM > &coarse, const hier::Patch< DIM > &fine, const tbox::List< int > &src_data_ids, const hier::Box< DIM > &coarse_box, const hier::IntVector< DIM > &ratio)=0


Detailed Description

template<int DIM>
class SAMRAI::xfer::LocallyActiveDataCoarsenPatchStrategy< DIM >

Class LocallyActiveDataCoarsenPatchStrategy is an abstract base class that defines a Strategy pattern interface for operations that a user may supply for application-specific coarsening of locally-active data between two levels in an AMR patch hierarchy. This interface class is similar to the CoarsenPatchStrategy interface, except that it is used to treat locally-active patch data. A concrete subclass must define three member functions to perform the following tasks:.

Note that the preprocess member function is called before standard data coarsening using CoarsenOperators and the postprocessor member function is called afterwards.

See also:
xfer::LocallyActiveDataCoarsenAlgorithm

xfer::LocallyActiveDataCoarsenSchedule


Constructor & Destructor Documentation

template<int DIM>
SAMRAI::xfer::LocallyActiveDataCoarsenPatchStrategy< DIM >::LocallyActiveDataCoarsenPatchStrategy (  ) 

The constructor for the coarsen strategy does nothing interesting.

template<int DIM>
SAMRAI::xfer::LocallyActiveDataCoarsenPatchStrategy< DIM >::~LocallyActiveDataCoarsenPatchStrategy (  )  [virtual]

The virtual destructor for the coarsen strategy does nothing interesting.


Member Function Documentation

template<int DIM>
virtual hier::IntVector<DIM> SAMRAI::xfer::LocallyActiveDataCoarsenPatchStrategy< DIM >::getCoarsenOpStencilWidth (  )  const [pure virtual]

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

template<int DIM>
virtual void SAMRAI::xfer::LocallyActiveDataCoarsenPatchStrategy< DIM >::preprocessCoarsen ( hier::Patch< DIM > &  coarse,
const hier::Patch< DIM > &  fine,
const tbox::List< int > &  src_data_ids,
const hier::Box< DIM > &  coarse_box,
const hier::IntVector< DIM > &  ratio 
) [pure virtual]

Perform user-defined coarsening operations. This member function is called before standard coarsening operations (expressed using concrete subclasses of the CoarsenOperator<DIM> base class). The preprocess function should move 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 CoarsenAlgorithm<DIM> class.

Parameters:
coarse Coarse patch containing destination data.
fine Fine patch containing source data.
src_data_ids List of integer patch data ids to preprocess.
coarse_box Box region on coarse patch into which data is coarsened.
ratio Integer vector containing ratio relating index space between coarse and fine patches.

template<int DIM>
virtual void SAMRAI::xfer::LocallyActiveDataCoarsenPatchStrategy< DIM >::postprocessCoarsen ( hier::Patch< DIM > &  coarse,
const hier::Patch< DIM > &  fine,
const tbox::List< int > &  src_data_ids,
const hier::Box< DIM > &  coarse_box,
const hier::IntVector< DIM > &  ratio 
) [pure virtual]

Perform user-defined coarsening operations. This member function is called after standard coarsening operations (expressed using concrete subclasses of the CoarsenOperator<DIM> base class). The postprocess function should move 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 CoarsenOperator<DIM> class.

Parameters:
coarse Coarse patch containing destination data.
fine Fine patch containing source data.
src_data_ids List of integer patch data ids to preprocess.
coarse_box Box region on coarse patch into which data is copied.
ratio Integer vector containing ratio


The documentation for this class was generated from the following files:
Generated on Thu Jun 18 11:29:09 2009 for SAMRAI by  doxygen 1.5.1