Rythmos_IntegrationControlStrategyBase.hpp

00001 
00002 #ifndef RYTHMOS_INTEGRATION_CONTROL_STRATEGY_BASE_HPP
00003 #define RYTHMOS_INTEGRATION_CONTROL_STRATEGY_BASE_HPP
00004 
00005 #include "Rythmos_Types.hpp"
00006 #include "Teuchos_Describable.hpp"
00007 #include "Teuchos_VerboseObject.hpp"
00008 #include "Teuchos_ParameterListAcceptor.hpp"
00009 
00010 namespace Rythmos {
00011 
00012 
00013 // Forwards
00014 template<class Scalar> class StepControlInfo;
00015 template<class Scalar> class TimeRange;
00016 template<class Scalar> class StepperBase;
00017 
00018 
00024 template<class Scalar>
00025 class IntegrationControlStrategyBase
00026   : virtual public Teuchos::Describable,
00027     virtual public Teuchos::VerboseObject<IntegrationControlStrategyBase<Scalar> >,
00028     virtual public Teuchos::ParameterListAcceptor
00029 {
00030 public:
00031 
00037   virtual RCP<IntegrationControlStrategyBase<Scalar> >
00038   cloneIntegrationControlStrategy() const = 0;
00039 
00050   virtual void resetIntegrationControlStrategy(
00051     const TimeRange<Scalar> &integrationTimeDomain
00052     ) = 0;
00053 
00083   virtual StepControlInfo<Scalar>
00084   getNextStepControlInfo(
00085     const StepperBase<Scalar> &stepper,
00086     const StepControlInfo<Scalar> &stepCtrlInfoLast,
00087     const int timeStepIter
00088     ) = 0;
00089 
00090 };
00091 
00092 
00093 } // namespace Rythmos
00094 
00095 
00096 #endif // RYTHMOS_INTEGRATION_CONTROL_STRATEGY_BASE_HPP

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