10 #ifndef Tempus_IntegratorObserverComposite_impl_hpp
11 #define Tempus_IntegratorObserverComposite_impl_hpp
14 #include "Tempus_TimeStepControl.hpp"
18 template <
class Scalar>
23 template <
class Scalar>
28 template <
class Scalar>
32 for (
auto& o : observers_) o->observeStartIntegrator(integrator);
35 template <
class Scalar>
39 for (
auto& o : observers_) o->observeStartTimeStep(integrator);
42 template <
class Scalar>
46 for (
auto& o : observers_) o->observeNextTimeStep(integrator);
49 template <
class Scalar>
53 for (
auto& o : observers_) o->observeBeforeTakeStep(integrator);
56 template <
class Scalar>
60 for (
auto& o : observers_) o->observeAfterTakeStep(integrator);
63 template <
class Scalar>
67 for (
auto& o : observers_) o->observeAfterCheckTimeStep(integrator);
70 template <
class Scalar>
74 for (
auto& o : observers_) o->observeEndTimeStep(integrator);
77 template <
class Scalar>
81 for (
auto& o : observers_) o->observeEndIntegrator(integrator);
84 template <
class Scalar>
88 observers_.push_back(observer);
91 template <
class Scalar>
98 #endif // Tempus_IntegratorObserverComposite_impl_hpp
virtual void observeBeforeTakeStep(const Integrator< Scalar > &integrator) override
Observe before Stepper takes step.
virtual ~IntegratorObserverComposite()
Destructor.
virtual void observeEndIntegrator(const Integrator< Scalar > &integrator) override
Observe the end of the time integrator.
void addObserver(const Teuchos::RCP< IntegratorObserver< Scalar > > &observer)
virtual void observeEndTimeStep(const Integrator< Scalar > &integrator) override
Observe the end of the time step loop.
IntegratorObserver class for time integrators.
IntegratorObserverComposite()
Default constructor.
Thyra Base interface for time integrators. Time integrators are designed to advance the solution from...
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.
virtual void observeAfterTakeStep(const Integrator< Scalar > &integrator) override
Observe after Stepper takes step.
virtual void observeStartTimeStep(const Integrator< Scalar > &integrator) override
Observe the beginning of the time step loop.
virtual void observeNextTimeStep(const Integrator< Scalar > &integrator) override
Observe after the next time step size is selected.