Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Tempus_IntegratorObserverBasic_decl.hpp
Go to the documentation of this file.
1 // @HEADER
2 // ****************************************************************************
3 // Tempus: Copyright (2017) Sandia Corporation
4 //
5 // Distributed under BSD 3-clause license (See accompanying file Copyright.txt)
6 // ****************************************************************************
7 // @HEADER
8 
9 #ifndef Tempus_IntegratorObserverBasic_decl_hpp
10 #define Tempus_IntegratorObserverBasic_decl_hpp
11 
12 #include "Tempus_config.hpp"
14 #include "Tempus_Integrator.hpp"
15 #include "Teuchos_Time.hpp"
16 
17 namespace Tempus {
18 
23 template<class Scalar>
25  : virtual public Tempus::IntegratorObserver<Scalar>
26 {
27 public:
28 
31 
33  virtual ~IntegratorObserverBasic();
34 
36 
37  virtual void observeStartIntegrator(const Integrator<Scalar>& integrator) override;
39 
41  virtual void observeStartTimeStep(const Integrator<Scalar>& integrator) override;
42 
44  virtual void observeNextTimeStep(const Integrator<Scalar>& integrator) override;
45 
47  virtual void observeBeforeTakeStep(const Integrator<Scalar>& integrator) override;
48 
50  virtual void observeAfterTakeStep(const Integrator<Scalar>& integrator) override;
51 
53  virtual void observeAfterCheckTimeStep(const Integrator<Scalar>& integrator) override;
54 
56  virtual void observeEndTimeStep(const Integrator<Scalar>& integrator) override;
57 
59  virtual void observeEndIntegrator(const Integrator<Scalar>& integrator) override;
61 
62 };
63 } // namespace Tempus
64 #endif // Tempus_IntegratorObserverBasic_decl_hpp
virtual void observeEndIntegrator(const Integrator< Scalar > &integrator) override
Observe the end of the time integrator.
virtual void observeNextTimeStep(const Integrator< Scalar > &integrator) override
Observe after the next time step size is selected.
IntegratorObserverBasic class for time integrators. This basic class has simple no-op functions...
virtual void observeStartIntegrator(const Integrator< Scalar > &integrator) override
Observe the beginning of the time integrator.
virtual void observeAfterCheckTimeStep(const Integrator< Scalar > &integrator) override
Observe after checking time step. Observer can still fail the time step here.
IntegratorObserver class for time integrators.
Thyra Base interface for time integrators. Time integrators are designed to advance the solution from...
virtual void observeStartTimeStep(const Integrator< Scalar > &integrator) override
Observe the beginning of the time step loop.
virtual void observeAfterTakeStep(const Integrator< Scalar > &integrator) override
Observe after Stepper takes step.
virtual void observeEndTimeStep(const Integrator< Scalar > &integrator) override
Observe the end of the time step loop.
virtual void observeBeforeTakeStep(const Integrator< Scalar > &integrator) override
Observe before Stepper takes step.