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

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

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

 Geometry (const std::string &object_name)
virtual ~Geometry ()
virtual void addSpatialCoarsenOperator (tbox::Pointer< CoarsenOperator< DIM > > coarsen_op)
virtual void addSpatialRefineOperator (tbox::Pointer< RefineOperator< DIM > > refine_op)
virtual void addTimeInterpolateOperator (tbox::Pointer< TimeInterpolateOperator< DIM > > time_op)
virtual tbox::Pointer< CoarsenOperator<
DIM > > 
lookupCoarsenOperator (const tbox::Pointer< hier::Variable< DIM > > &var, const std::string &op_name) const
virtual tbox::Pointer< RefineOperator<
DIM > > 
lookupRefineOperator (const tbox::Pointer< hier::Variable< DIM > > &var, const std::string &op_name) const
virtual tbox::Pointer< TimeInterpolateOperator<
DIM > > 
lookupTimeInterpolateOperator (const tbox::Pointer< hier::Variable< DIM > > &var, const std::string &op_name="STD_LINEAR_TIME_INTERPOLATE") const
virtual void printClassData (std::ostream &os) const

Detailed Description

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

Class Geometry is the base class for SAMRAI geometry classes; it is derived from hier::GridGeometry and is intended to serve as a base class for geometry classes that define specific coordinate system operations for an AMR grid hierarchy. This transfer geometry class provides a lookup mechanism to search for time interpolation and spatial coarsening/refining operators. That is, algorithms and applications that manage communication on an AMR hierarchy may query the transfer geometry object for operators that may be applied to specific variables. Typically, the operators are assigned to the transfer geometry object in the constructor of the geometry object that defines the mesh coordinate system (and which is derived from this transfer geometry class). Additional operators may be added to a tranfer geometry object at any time during program execution. However, each operator must be added BEFORE it is requested or an unrecoverable exception will be thrown and the program will abort. Also note that operators are added to the heads of the operator lists so that the most recently added operator will be returned if more than one operator satisfies a given request. See the time interpolation, spatial coarsening, and spatial refinement operator base classes for more information about adding new operators for either new patch data types or new operators for pre-existing patch data types.

See also:
hier::GridGeometry

xfer::RefineOperator

xfer::CoarsenOperator

xfer::TimeInterpolateOperator


Constructor & Destructor Documentation

template<int DIM>
SAMRAI::xfer::Geometry< DIM >::Geometry ( const std::string &  object_name  ) 

Constructor for Geometry class just passes the object_name to the hier::GridGeometry parent class.

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

The virtual destructor for the geometry base class does nothing interesting.


Member Function Documentation

template<int DIM>
void SAMRAI::xfer::Geometry< DIM >::addSpatialCoarsenOperator ( tbox::Pointer< CoarsenOperator< DIM > >  coarsen_op  )  [virtual]

Add concrete spatial coarsening operator instance to appropriate lookup list. Note that each concrete operator must implement a lookup function through which it can be identified.

template<int DIM>
void SAMRAI::xfer::Geometry< DIM >::addSpatialRefineOperator ( tbox::Pointer< RefineOperator< DIM > >  refine_op  )  [virtual]

Add concrete spatial refinement operator instance to appropriate lookup list. Note that each concrete operator must implement a lookup function through which it can be identified.

template<int DIM>
void SAMRAI::xfer::Geometry< DIM >::addTimeInterpolateOperator ( tbox::Pointer< TimeInterpolateOperator< DIM > >  time_op  )  [virtual]

Add concrete time interpolation operator instance to appropriate lookup list. Note that each concrete operator must implement a lookup function through which it can be identified.

template<int DIM>
tbox::Pointer< CoarsenOperator< DIM > > SAMRAI::xfer::Geometry< DIM >::lookupCoarsenOperator ( const tbox::Pointer< hier::Variable< DIM > > &  var,
const std::string &  op_name 
) const [virtual]

Search list for the spatial coarsening operator matching the request for the given variable. If the operator is found, a pointer to it will be returned. Otherwise, an unrecoverable error will result and the program will abort.

template<int DIM>
tbox::Pointer< RefineOperator< DIM > > SAMRAI::xfer::Geometry< DIM >::lookupRefineOperator ( const tbox::Pointer< hier::Variable< DIM > > &  var,
const std::string &  op_name 
) const [virtual]

Search list for the spatial refinement operator matching the request for the given variable. If the operator is found, a pointer to it will be returned. Otherwise, an unrecoverable error will result and the program will abort.

template<int DIM>
tbox::Pointer< TimeInterpolateOperator< DIM > > SAMRAI::xfer::Geometry< DIM >::lookupTimeInterpolateOperator ( const tbox::Pointer< hier::Variable< DIM > > &  var,
const std::string &  op_name = "STD_LINEAR_TIME_INTERPOLATE" 
) const [virtual]

Search list for the time interpolation operator matching the request for the given variable. If the operator is found, a pointer to it will be returned. Otherwise, an unrecoverable error will result and the program will abort.

template<int DIM>
void SAMRAI::xfer::Geometry< DIM >::printClassData ( std::ostream &  os  )  const [virtual]

Print class data representation.

Reimplemented from SAMRAI::hier::GridGeometry< DIM >.

Reimplemented in SAMRAI::geom::CartesianGridGeometry< DIM >, SAMRAI::geom::BlockGridGeometry< DIM >, and SAMRAI::geom::SkeletonGridGeometry< DIM >.


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