Rythmos_IntegrationObserverBase.hpp

00001 
00002 #ifndef RYTHMOS_INTEGRATION_OBSERVER_BASE_HPP
00003 #define RYTHMOS_INTEGRATION_OBSERVER_BASE_HPP
00004 
00005 #include "Rythmos_Types.hpp"
00006 #include "Teuchos_Describable.hpp"
00007 #include "Teuchos_VerboseObject.hpp"
00008 
00009 namespace Rythmos {
00010 
00011 
00012 // Forwards
00013 template<class Scalar> class TimeRange;
00014 template<class Scalar> class StepControlInfo;
00015 template<class Scalar> class StepperBase;
00016 
00017 
00023 template<class Scalar>
00024 class IntegrationObserverBase
00025   : virtual public Teuchos::Describable,
00026     virtual public Teuchos::VerboseObject<IntegrationObserverBase<Scalar> >
00027 {
00028 public:
00029 
00035   virtual RCP<IntegrationObserverBase<Scalar> >
00036   cloneIntegrationObserver() const = 0;
00037 
00047   virtual void resetIntegrationObserver(
00048     const TimeRange<Scalar> &integrationTimeDomain
00049     ) = 0;
00050 
00074   virtual void observeCompletedTimeStep(
00075     const StepperBase<Scalar> &stepper,
00076     const StepControlInfo<Scalar> &stepCtrlInfo,
00077     const int timeStepIter
00078     ) = 0;
00079 
00080 };
00081 
00082 
00083 } // namespace Rythmos
00084 
00085 
00086 #endif // RYTHMOS_INTEGRATION_OBSERVER_BASE_HPP

Generated on Wed May 12 21:25:43 2010 for Rythmos - Transient Integration for Differential Equations by  doxygen 1.4.7