IBAMR  IBAMR version 0.19.
Public Member Functions | Private Member Functions | List of all members
SAMRAI::xfer::TimeInterpolateOperator< DIM > Class Template Referenceabstract

#include <TimeInterpolateOperator.h>

Inheritance diagram for SAMRAI::xfer::TimeInterpolateOperator< DIM >:
Inheritance graph
[legend]

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
 

Private Member Functions

 TimeInterpolateOperator (const TimeInterpolateOperator< DIM > &)
 
void operator= (const TimeInterpolateOperator< DIM > &)
 

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

◆ TimeInterpolateOperator() [1/2]

The default constructor for the coarsening operator does nothing interesting.

◆ ~TimeInterpolateOperator()

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

The virtual destructor for the coarsening operator does nothing interesting.

◆ TimeInterpolateOperator() [2/2]

template<int DIM>
SAMRAI::xfer::TimeInterpolateOperator< DIM >::TimeInterpolateOperator ( const TimeInterpolateOperator< DIM > &  )
private

Member Function Documentation

◆ findTimeInterpolateOperator()

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

◆ timeInterpolate()

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::OuterfaceComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OuterfaceDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OuterfaceFloatLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OutersideComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OutersideDoubleLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::OutersideFloatLinearTimeInterpolateOp< DIM >, 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::SideComplexLinearTimeInterpolateOp< DIM >, SAMRAI::pdat::SideDoubleLinearTimeInterpolateOp< DIM >, and SAMRAI::pdat::SideFloatLinearTimeInterpolateOp< DIM >.

◆ operator=()

template<int DIM>
void SAMRAI::xfer::TimeInterpolateOperator< DIM >::operator= ( const TimeInterpolateOperator< DIM > &  )
private

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