Rythmos_IntegrationControlStrategyBase.hpp

00001 
00002 #ifndef RYTHMOS_INTEGRATION_CONTROL_STRATEGY_BASE_HPP
00003 #define RYTHMOS_INTEGRATION_CONTROL_STRATEGY_BASE_HPP
00004 
00005 #include "Rythmos_StepControlInfo.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 StepperBase;
00015 
00016 
00022 template<class Scalar>
00023 class IntegrationControlStrategyBase
00024   : virtual public Teuchos::Describable,
00025     virtual public Teuchos::VerboseObject<IntegrationControlStrategyBase<Scalar> >
00026 {
00027 public:
00028 
00034   virtual RCP<IntegrationControlStrategyBase<Scalar> >
00035   cloneIntegrationControlStrategy() const = 0;
00036 
00047   virtual void resetIntegrationControlStrategy(
00048     const TimeRange<Scalar> &integrationTimeDomain
00049     ) = 0;
00050 
00080   virtual StepControlInfo<Scalar>
00081   getNextStepControlInfo(
00082     const StepperBase<Scalar> &stepper,
00083     const StepControlInfo<Scalar> &stepCtrlInfoLast,
00084     const int timeStepIter
00085     ) = 0;
00086 
00087 };
00088 
00089 
00090 } // namespace Rythmos
00091 
00092 
00093 #endif // RYTHMOS_INTEGRATION_CONTROL_STRATEGY_BASE_HPP

Generated on Tue Oct 20 12:46:08 2009 for Rythmos - Transient Integration for Differential Equations by doxygen 1.4.7