9 #ifndef Tempus_StepperRKObserverComposite_impl_hpp
10 #define Tempus_StepperRKObserverComposite_impl_hpp
13 #include "Tempus_TimeStepControl.hpp"
17 template<
class Scalar>
20 template<
class Scalar>
23 template<
class Scalar>
28 for(
auto& o : observers_)
29 o->observeBeginTakeStep(sh,stepper);
32 template<
class Scalar>
37 for(
auto& o : observers_)
38 o->observeBeginStage(sh,stepper);
41 template<
class Scalar>
46 for(
auto& o : observers_)
47 o->observeBeforeImplicitExplicitly(sh,stepper);
50 template<
class Scalar>
55 for(
auto& o : observers_)
56 o->observeBeforeSolve(sh,stepper);
59 template<
class Scalar>
64 for(
auto& o : observers_)
65 o->observeAfterSolve(sh,stepper);
68 template<
class Scalar>
73 for(
auto& o : observers_)
74 o->observeBeforeExplicit(sh,stepper);
76 template<
class Scalar>
81 for(
auto& o : observers_)
82 o->observeEndStage(sh,stepper);
85 template<
class Scalar>
90 for(
auto& o : observers_)
91 o->observeEndTakeStep(sh,stepper);
94 template<
class Scalar>
98 observers_.push_back(observer);
101 template<
class Scalar>
106 #endif // Tempus_StepperRKObserverComposite_impl_hpp
virtual void observeBeginTakeStep(Teuchos::RCP< SolutionHistory< Scalar > > sh, Stepper< Scalar > &stepper) override
Observe Stepper at beginning of takeStep.
virtual void observeEndTakeStep(Teuchos::RCP< SolutionHistory< Scalar > > sh, Stepper< Scalar > &stepper) override
Observe Stepper at end of takeStep.
virtual void observeBeforeSolve(Teuchos::RCP< SolutionHistory< Scalar > > sh, Stepper< Scalar > &stepperRK) override
Observe Stepper before nonlinear solve.
virtual ~StepperRKObserverComposite()
Destructor.
Thyra Base interface for time steppers.
void addObserver(const Teuchos::RCP< StepperRKObserver< Scalar > > &observer)
virtual void observeBeforeExplicit(Teuchos::RCP< SolutionHistory< Scalar > > sh, Stepper< Scalar > &stepperRK) override
Observe Stepper before evaluation of Implicit ODE ME.
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
virtual void observeAfterSolve(Teuchos::RCP< SolutionHistory< Scalar > > sh, Stepper< Scalar > &stepperRK) override
Observe Stepper after nonlinear solve.
virtual void observeEndStage(Teuchos::RCP< SolutionHistory< Scalar > > sh, Stepper< Scalar > &stepperRK) override
Observe Stepper at end of each stage.
virtual void observeBeforeImplicitExplicitly(Teuchos::RCP< SolutionHistory< Scalar > >, Stepper< Scalar > &) override
Observe Stepper before Explicit evaluation of Implicit ODE ME.
StepperRKObserver class for StepperRK.
virtual void observeBeginStage(Teuchos::RCP< SolutionHistory< Scalar > > sh, Stepper< Scalar > &stepperRK) override
Observe Stepper at beginning of each stage.
StepperRKObserverComposite()
Default constructor.