#include <source/transfer/operators/TimeInterpolateOperator.h>
Inheritance diagram for SAMRAI::xfer::TimeInterpolateOperator< DIM >:
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 |
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.
SAMRAI::xfer::TimeInterpolateOperator< DIM >::TimeInterpolateOperator | ( | ) |
The default constructor for the coarsening operator does nothing interesting.
SAMRAI::xfer::TimeInterpolateOperator< DIM >::~TimeInterpolateOperator | ( | ) | [virtual] |
The virtual destructor for the coarsening operator does nothing interesting.
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 >.
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 >.