Tempus  Version of the Day
Time Integration
Tempus_IntegratorObserverComposite_impl.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_IntegratorObserverComposite_impl_hpp
10 #define Tempus_IntegratorObserverComposite_impl_hpp
11 
13 #include "Tempus_TimeStepControl.hpp"
14 
15 namespace Tempus {
16 
17 template<class Scalar>
19 
20 template<class Scalar>
22 
23 template<class Scalar>
26 {
27  for(auto& o : observers_)
28  o->observeStartIntegrator(integrator);
29 }
30 
31 template<class Scalar>
34 {
35  for(auto& o : observers_)
36  o->observeStartTimeStep(integrator);
37 }
38 
39 template<class Scalar>
42 {
43  for(auto& o : observers_)
44  o->observeNextTimeStep(integrator);
45 }
46 
47 template<class Scalar>
50 {
51  for(auto& o : observers_)
52  o->observeBeforeTakeStep(integrator);
53 }
54 
55 template<class Scalar>
58 {
59  for(auto& o : observers_)
60  o->observeAfterTakeStep(integrator);
61 }
62 
63 template<class Scalar>
66 {
67  for(auto& o : observers_)
68  o->observeAcceptedTimeStep(integrator);
69 }
70 
71 template<class Scalar>
74 {
75  for(auto& o : observers_)
76  o->observeEndIntegrator(integrator);
77 }
78 
79 template<class Scalar>
81 addObserver(const Teuchos::RCP<IntegratorObserver<Scalar> > &observer)
82 {
83  observers_.push_back(observer);
84 }
85 
86 template<class Scalar>
88 clearObservers() { observers_.clear();}
89 
90 } // namespace Tempus
91 #endif // Tempus_IntegratorObserverComposite_impl_hpp
Tempus::IntegratorObserverComposite::observeAcceptedTimeStep
virtual void observeAcceptedTimeStep(const Integrator< Scalar > &integrator) override
Observe after accepting time step.
Definition: Tempus_IntegratorObserverComposite_impl.hpp:65
Tempus
Definition: Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:20
Tempus::Integrator
Thyra Base interface for time integrators. Time integrators are designed to advance the solution from...
Definition: Tempus_Integrator.hpp:62
Tempus::IntegratorObserverComposite::IntegratorObserverComposite
IntegratorObserverComposite()
Default constructor.
Definition: Tempus_IntegratorObserverComposite_impl.hpp:18
Tempus::IntegratorObserverComposite::addObserver
void addObserver(const Teuchos::RCP< IntegratorObserver< Scalar > > &observer)
Definition: Tempus_IntegratorObserverComposite_impl.hpp:81
Tempus::IntegratorObserverComposite::~IntegratorObserverComposite
virtual ~IntegratorObserverComposite()
Destructor.
Definition: Tempus_IntegratorObserverComposite_impl.hpp:21
Tempus::IntegratorObserverComposite::observeBeforeTakeStep
virtual void observeBeforeTakeStep(const Integrator< Scalar > &integrator) override
Observe before Stepper takes step.
Definition: Tempus_IntegratorObserverComposite_impl.hpp:49
Tempus::IntegratorObserverComposite::observeNextTimeStep
virtual void observeNextTimeStep(const Integrator< Scalar > &integrator) override
Observe after the next time step size is selected.
Definition: Tempus_IntegratorObserverComposite_impl.hpp:41
Tempus::IntegratorObserver
IntegratorObserver class for time integrators.
Definition: Tempus_IntegratorObserver.hpp:41
Tempus_IntegratorObserver.hpp
Tempus::IntegratorObserverComposite::observeEndIntegrator
virtual void observeEndIntegrator(const Integrator< Scalar > &integrator) override
Observe the end of the time integrator.
Definition: Tempus_IntegratorObserverComposite_impl.hpp:73
Tempus::IntegratorObserverComposite::clearObservers
void clearObservers()
Definition: Tempus_IntegratorObserverComposite_impl.hpp:88
Tempus::IntegratorObserverComposite::observeStartIntegrator
virtual void observeStartIntegrator(const Integrator< Scalar > &integrator) override
Observe the beginning of the time integrator.
Definition: Tempus_IntegratorObserverComposite_impl.hpp:25
Tempus::IntegratorObserverComposite::observeAfterTakeStep
virtual void observeAfterTakeStep(const Integrator< Scalar > &integrator) override
Observe after Stepper takes step.
Definition: Tempus_IntegratorObserverComposite_impl.hpp:57
Tempus::IntegratorObserverComposite::observeStartTimeStep
virtual void observeStartTimeStep(const Integrator< Scalar > &integrator) override
Observe the beginning of the time step loop.
Definition: Tempus_IntegratorObserverComposite_impl.hpp:33