Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Tempus_IntegratorObserverNoOp_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_IntegratorObserverNoOp_decl_hpp
10 #define Tempus_IntegratorObserverNoOp_decl_hpp
11 
13 #include "Tempus_Integrator.hpp"
14 #include "Teuchos_Time.hpp"
15 
16 namespace Tempus {
17 
18 /** \brief IntegratorObserverNoOp class for time integrators.
19  * This basic class has simple no-op functions, as all basic
20  * functionality should be handled through other methods.
21  */
22 template<class Scalar>
24  : virtual public Tempus::IntegratorObserver<Scalar>
25 {
26 public:
27 
28  /// Constructor
30 
31  /// Destructor
32  virtual ~IntegratorObserverNoOp();
33 
34  /// \name Basic IntegratorObserver methods
35  //@{
36  /// Observe the beginning of the time integrator.
37  virtual void observeStartIntegrator(const Integrator<Scalar>& integrator) override;
38 
39  /// Observe the beginning of the time step loop.
40  virtual void observeStartTimeStep(const Integrator<Scalar>& integrator) override;
41 
42  /// Observe after the next time step size is selected.
43  virtual void observeNextTimeStep(const Integrator<Scalar>& integrator) override;
44 
45  /// Observe before Stepper takes step.
46  virtual void observeBeforeTakeStep(const Integrator<Scalar>& integrator) override;
47 
48  /// Observe after Stepper takes step.
49  virtual void observeAfterTakeStep(const Integrator<Scalar>& integrator) override;
50 
51  /// Observe after checking time step. Observer can still fail the time step here.
52  virtual void observeAfterCheckTimeStep(const Integrator<Scalar>& integrator) override;
53 
54  /// Observe the end of the time step loop.
55  virtual void observeEndTimeStep(const Integrator<Scalar>& integrator) override;
56 
57  /// Observe the end of the time integrator.
58  virtual void observeEndIntegrator(const Integrator<Scalar>& integrator) override;
59  //@}
60 
61 };
62 } // namespace Tempus
63 #endif // Tempus_IntegratorObserverNoOp_decl_hpp
virtual void observeNextTimeStep(const Integrator< Scalar > &integrator) override
Observe after the next time step size is selected.
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.
virtual void observeStartTimeStep(const Integrator< Scalar > &integrator) override
Observe the beginning of the time step loop.
virtual void observeEndIntegrator(const Integrator< Scalar > &integrator) override
Observe the end of the time integrator.
IntegratorObserverNoOp class for time integrators. This basic class has simple no-op functions...
IntegratorObserver class for time integrators.
virtual void observeEndTimeStep(const Integrator< Scalar > &integrator) override
Observe the end of the time step loop.
Thyra Base interface for time integrators. Time integrators are designed to advance the solution from...
virtual void observeAfterTakeStep(const Integrator< Scalar > &integrator) override
Observe after Stepper takes step.
virtual void observeBeforeTakeStep(const Integrator< Scalar > &integrator) override
Observe before Stepper takes step.