Tempus
Version of the Day
Time Integration
Toggle main menu visibility
Loading...
Searching...
No Matches
src
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
12
#include "
Tempus_IntegratorObserver.hpp
"
13
#include "Tempus_TimeStepControl.hpp"
14
15
namespace
Tempus
{
16
17
template
<
class
Scalar>
18
IntegratorObserverComposite<Scalar>::IntegratorObserverComposite
(){}
19
20
template
<
class
Scalar>
21
IntegratorObserverComposite<Scalar>::~IntegratorObserverComposite
(){}
22
23
template
<
class
Scalar>
24
void
IntegratorObserverComposite<Scalar>::
25
observeStartIntegrator
(
const
Integrator<Scalar>
& integrator)
26
{
27
for
(
auto
& o :
observers_
)
28
o->observeStartIntegrator(integrator);
29
}
30
31
template
<
class
Scalar>
32
void
IntegratorObserverComposite<Scalar>::
33
observeStartTimeStep
(
const
Integrator<Scalar>
& integrator)
34
{
35
for
(
auto
& o :
observers_
)
36
o->observeStartTimeStep(integrator);
37
}
38
39
template
<
class
Scalar>
40
void
IntegratorObserverComposite<Scalar>::
41
observeNextTimeStep
(
const
Integrator<Scalar>
& integrator)
42
{
43
for
(
auto
& o :
observers_
)
44
o->observeNextTimeStep(integrator);
45
}
46
47
template
<
class
Scalar>
48
void
IntegratorObserverComposite<Scalar>::
49
observeBeforeTakeStep
(
const
Integrator<Scalar>
& integrator)
50
{
51
for
(
auto
& o :
observers_
)
52
o->observeBeforeTakeStep(integrator);
53
}
54
55
template
<
class
Scalar>
56
void
IntegratorObserverComposite<Scalar>::
57
observeAfterTakeStep
(
const
Integrator<Scalar>
& integrator)
58
{
59
for
(
auto
& o :
observers_
)
60
o->observeAfterTakeStep(integrator);
61
}
62
63
template
<
class
Scalar>
64
void
IntegratorObserverComposite<Scalar>::
65
observeAfterCheckTimeStep
(
const
Integrator<Scalar>
& integrator)
66
{
67
for
(
auto
& o :
observers_
)
68
o->observeAfterCheckTimeStep(integrator);
69
}
70
71
template
<
class
Scalar>
72
void
IntegratorObserverComposite<Scalar>::
73
observeEndTimeStep
(
const
Integrator<Scalar>
& integrator)
74
{
75
for
(
auto
& o :
observers_
)
76
o->observeEndTimeStep(integrator);
77
}
78
79
template
<
class
Scalar>
80
void
IntegratorObserverComposite<Scalar>::
81
observeEndIntegrator
(
const
Integrator<Scalar>
& integrator)
82
{
83
for
(
auto
& o :
observers_
)
84
o->observeEndIntegrator(integrator);
85
}
86
87
template
<
class
Scalar>
88
void
IntegratorObserverComposite<Scalar>::
89
addObserver
(
const
Teuchos::RCP<
IntegratorObserver<Scalar>
> &observer)
90
{
91
observers_
.push_back(observer);
92
}
93
94
template
<
class
Scalar>
95
void
IntegratorObserverComposite<Scalar>::
96
clearObservers
() {
observers_
.clear();}
97
98
}
// namespace Tempus
99
#endif
// Tempus_IntegratorObserverComposite_impl_hpp
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:81
Tempus::IntegratorObserverComposite::IntegratorObserverComposite
IntegratorObserverComposite()
Default constructor.
Definition
Tempus_IntegratorObserverComposite_impl.hpp:18
Tempus::IntegratorObserverComposite::observers_
std::vector< Teuchos::RCP< IntegratorObserver< Scalar > > > observers_
Definition
Tempus_IntegratorObserverComposite_decl.hpp:71
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::observeEndTimeStep
virtual void observeEndTimeStep(const Integrator< Scalar > &integrator) override
Observe the end of the time step loop.
Definition
Tempus_IntegratorObserverComposite_impl.hpp:73
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::IntegratorObserverComposite::~IntegratorObserverComposite
virtual ~IntegratorObserverComposite()
Destructor.
Definition
Tempus_IntegratorObserverComposite_impl.hpp:21
Tempus::IntegratorObserverComposite::clearObservers
void clearObservers()
Definition
Tempus_IntegratorObserverComposite_impl.hpp:96
Tempus::IntegratorObserverComposite::observeBeforeTakeStep
virtual void observeBeforeTakeStep(const Integrator< Scalar > &integrator) override
Observe before Stepper takes step.
Definition
Tempus_IntegratorObserverComposite_impl.hpp:49
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
Tempus::IntegratorObserverComposite::addObserver
void addObserver(const Teuchos::RCP< IntegratorObserver< Scalar > > &observer)
Definition
Tempus_IntegratorObserverComposite_impl.hpp:89
Tempus::IntegratorObserverComposite::observeAfterCheckTimeStep
virtual void observeAfterCheckTimeStep(const Integrator< Scalar > &integrator) override
Observe after checking time step.
Definition
Tempus_IntegratorObserverComposite_impl.hpp:65
Tempus::IntegratorObserver
IntegratorObserver class for time integrators.
Definition
Tempus_IntegratorObserver.hpp:43
Tempus::Integrator
Thyra Base interface for time integrators. Time integrators are designed to advance the solution from...
Definition
Tempus_Integrator.hpp:65
Tempus
Definition
Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:21
Generated by
1.17.0