|
Rythmos - Transient Integration for Differential Equations Version of the Day
|
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
1.7.4