9#ifndef Tempus_IntegratorObserverComposite_impl_hpp
10#define Tempus_IntegratorObserverComposite_impl_hpp
13#include "Tempus_TimeStepControl.hpp"
27 for(
auto& o : observers_)
28 o->observeStartIntegrator(integrator);
35 for(
auto& o : observers_)
36 o->observeStartTimeStep(integrator);
43 for(
auto& o : observers_)
44 o->observeNextTimeStep(integrator);
51 for(
auto& o : observers_)
52 o->observeBeforeTakeStep(integrator);
59 for(
auto& o : observers_)
60 o->observeAfterTakeStep(integrator);
67 for(
auto& o : observers_)
68 o->observeAfterCheckTimeStep(integrator);
75 for(
auto& o : observers_)
76 o->observeEndTimeStep(integrator);
83 for(
auto& o : observers_)
84 o->observeEndIntegrator(integrator);
89addObserver(
const Teuchos::RCP<IntegratorObserver<Scalar> > &observer)
91 observers_.push_back(observer);
virtual void observeEndIntegrator(const Integrator< Scalar > &integrator) override
Observe the end of the time integrator.
IntegratorObserverComposite()
Default constructor.
virtual void observeStartIntegrator(const Integrator< Scalar > &integrator) override
Observe the beginning of the time integrator.
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 observeNextTimeStep(const Integrator< Scalar > &integrator) override
Observe after the next time step size is selected.
virtual ~IntegratorObserverComposite()
Destructor.
virtual void observeBeforeTakeStep(const Integrator< Scalar > &integrator) override
Observe before Stepper takes step.
virtual void observeStartTimeStep(const Integrator< Scalar > &integrator) override
Observe the beginning of the time step loop.
void addObserver(const Teuchos::RCP< IntegratorObserver< Scalar > > &observer)
virtual void observeAfterCheckTimeStep(const Integrator< Scalar > &integrator) override
Observe after checking time step.