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

#include <source/transfer/operators/TimeInterpolateOperator.h>

Inheritance diagram for SAMRAI::xfer::TimeInterpolateOperator< DIM >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 TimeInterpolateOperator ()
virtual ~TimeInterpolateOperator ()
virtual bool findTimeInterpolateOperator (const tbox::Pointer< hier::Variable< DIM > > &var, const std::string &op_name) const =0
virtual void timeInterpolate (hier::PatchData< DIM > &dst_data, const hier::Box< DIM > &where, const hier::PatchData< DIM > &src_data_old, const hier::PatchData< DIM > &src_data_new) const =0

Detailed Description

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

Class TimeInterpolateOperator<DIM> is an abstract base class for each time interpolation operator used in the SAMRAI framework. This class defines the interface between numerical interpolation routines and the rest of the framework. Each concrete time interpolation operator subclass provide two operations:

To add a new time interpolation operator (either for a new patch data type or for a new time interpolation routine on an existing type), define the operator by inheriting from this abstract base class. The operator subclass must implement the interpolation operation in the timeInterpolate() function, and provide a response to a general operator request in the findTimeInterpolateOperator() function. Then, the new operator must be added to the operator list for the appropriate transfer geometry object using the Geometry<DIM>::addTimeInterpolateOperator() function.

Although time interpolation operators usually depend only on patch data centering and data type and not the mesh coordinate system, they are defined in the geometry package.

See also:
xfer::Geometry


Constructor & Destructor Documentation

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

The default constructor for the coarsening operator does nothing interesting.

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

The virtual destructor for the coarsening operator does nothing interesting.


Member Function Documentation

template<int DIM>
virtual bool SAMRAI::xfer::TimeInterpolateOperator< DIM >::findTimeInterpolateOperator ( const tbox::Pointer< hier::Variable< DIM > > &  var,
const std::string &  op_name 
) const [pure virtual]

Return true if the time interpolation operation matches the variable and name string identifier request; false, otherwise.

Implemented in SAMRAI::pdat::CellComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::CellDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::CellFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::EdgeComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::EdgeDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::EdgeFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::FaceComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::FaceDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::FaceFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::NodeComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::NodeDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::NodeFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OuterfaceComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OuterfaceDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OuterfaceFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OutersideComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OutersideDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OutersideFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::SideComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::SideDoubleLinearTimeInterpolateOp< DIM >, and SAMRAI::pdat::SideFloatLinearTimeInterpolateOp< DIM >.

template<int DIM>
virtual void SAMRAI::xfer::TimeInterpolateOperator< DIM >::timeInterpolate ( hier::PatchData< DIM > &  dst_data,
const hier::Box< DIM > &  where,
const hier::PatchData< DIM > &  src_data_old,
const hier::PatchData< DIM > &  src_data_new 
) const [pure virtual]

Perform time interpolation between two patch data sources and place result in the destination patch data. Time interpolation is performed on the intersection of the destination patch data and the input box. The time to which data is interpolated is provided by the destination data.

Implemented in SAMRAI::pdat::CellComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::CellDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::CellFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::EdgeComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::EdgeDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::EdgeFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::FaceComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::FaceDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::FaceFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::NodeComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::NodeDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::NodeFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OuterfaceComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OuterfaceDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OuterfaceFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OutersideComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OutersideDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OutersideFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::SideComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::SideDoubleLinearTimeInterpolateOp< DIM >, and SAMRAI::pdat::SideFloatLinearTimeInterpolateOp< DIM >.


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