Tempus
Version of the Day
Time Integration
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Tempus_IntegratorObserverLogging_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_IntegratorObserverLogging_impl_hpp
10
#define Tempus_IntegratorObserverLogging_impl_hpp
11
12
#include "
Tempus_IntegratorObserver.hpp
"
13
#include "Tempus_TimeStepControl.hpp"
14
15
namespace
Tempus
{
16
17
template
<
class
Scalar>
18
IntegratorObserverLogging<Scalar>::IntegratorObserverLogging
()
19
:
nameObserveStartIntegrator_
(
"observeStartIntegrator"
),
20
nameObserveStartTimeStep_
(
"observeStartTimeStep"
),
21
nameObserveNextTimeStep_
(
"observeNextTimeStep"
),
22
nameObserveBeforeTakeStep_
(
"observeBeforeTakeStep"
),
23
nameObserveAfterTakeStep_
(
"observeAfterTakeStep"
),
24
nameObserveAfterCheckTimeStep_
(
"observeAfterCheckTimeStep"
),
25
nameObserveEndTimeStep_
(
"observeEndTimeStep"
),
26
nameObserveEndIntegrator_
(
"observeEndIntegrator"
)
27
{
28
counters_
= Teuchos::rcp(
new
std::map<std::string,int>);
29
order_
= Teuchos::rcp(
new
std::list<std::string>);
30
this->
resetLogCounters
();
31
}
32
33
template
<
class
Scalar>
34
IntegratorObserverLogging<Scalar>::~IntegratorObserverLogging
(){}
35
36
template
<
class
Scalar>
37
void
IntegratorObserverLogging<Scalar>::
38
observeStartIntegrator
(
const
Integrator<Scalar>
& )
39
{
logCall
(
nameObserveStartIntegrator_
); }
40
41
template
<
class
Scalar>
42
void
IntegratorObserverLogging<Scalar>::
43
observeStartTimeStep
(
const
Integrator<Scalar>
& )
44
{
logCall
(
nameObserveStartTimeStep_
); }
45
46
template
<
class
Scalar>
47
void
IntegratorObserverLogging<Scalar>::
48
observeNextTimeStep
(
const
Integrator<Scalar>
& )
49
{
logCall
(
nameObserveNextTimeStep_
); }
50
51
template
<
class
Scalar>
52
void
IntegratorObserverLogging<Scalar>::
53
observeBeforeTakeStep
(
const
Integrator<Scalar>
& )
54
{
logCall
(
nameObserveBeforeTakeStep_
); }
55
56
template
<
class
Scalar>
57
void
IntegratorObserverLogging<Scalar>::
58
observeAfterTakeStep
(
const
Integrator<Scalar>
& )
59
{
logCall
(
nameObserveAfterTakeStep_
); }
60
61
template
<
class
Scalar>
62
void
IntegratorObserverLogging<Scalar>::
63
observeAfterCheckTimeStep
(
const
Integrator<Scalar>
& )
64
{
logCall
(
nameObserveAfterCheckTimeStep_
); }
65
66
template
<
class
Scalar>
67
void
IntegratorObserverLogging<Scalar>::
68
observeEndTimeStep
(
const
Integrator<Scalar>
& )
69
{
logCall
(
nameObserveEndTimeStep_
); }
70
71
template
<
class
Scalar>
72
void
IntegratorObserverLogging<Scalar>::
73
observeEndIntegrator
(
const
Integrator<Scalar>
& )
74
{
logCall
(
nameObserveEndIntegrator_
); }
75
76
template
<
class
Scalar>
77
void
IntegratorObserverLogging<Scalar>::resetLogCounters
()
78
{
79
(*counters_)[
nameObserveStartIntegrator_
] = 0;
80
(*counters_)[
nameObserveStartTimeStep_
] = 0;
81
(*counters_)[
nameObserveNextTimeStep_
] = 0;
82
(*counters_)[
nameObserveBeforeTakeStep_
] = 0;
83
(*counters_)[
nameObserveAfterTakeStep_
] = 0;
84
(*counters_)[
nameObserveAfterCheckTimeStep_
] = 0;
85
(*counters_)[
nameObserveEndTimeStep_
] = 0;
86
(*counters_)[
nameObserveEndIntegrator_
] = 0;
87
order_
->clear();
88
}
89
90
template
<
class
Scalar>
91
Teuchos::RCP<const std::map<std::string,int> >
92
IntegratorObserverLogging<Scalar>::getCounters
()
93
{
return
counters_
; }
94
95
template
<
class
Scalar>
96
Teuchos::RCP<const std::list<std::string> >
97
IntegratorObserverLogging<Scalar>::getOrder
()
98
{
return
order_
; }
99
100
template
<
class
Scalar>
101
void
IntegratorObserverLogging<Scalar>::logCall
(
const
std::string call)
const
102
{
103
(*counters_)[call] += 1;
104
order_
->push_back(call);
105
}
106
107
}
// namespace Tempus
108
#endif
// Tempus_IntegratorObserverLogging_impl_hpp
Tempus_IntegratorObserver.hpp
Tempus::IntegratorObserverLogging::getOrder
Teuchos::RCP< const std::list< std::string > > getOrder()
Definition
Tempus_IntegratorObserverLogging_impl.hpp:97
Tempus::IntegratorObserverLogging::observeAfterTakeStep
virtual void observeAfterTakeStep(const Integrator< Scalar > &integrator) override
Observe after Stepper takes step.
Definition
Tempus_IntegratorObserverLogging_impl.hpp:58
Tempus::IntegratorObserverLogging::nameObserveNextTimeStep_
const std::string nameObserveNextTimeStep_
Definition
Tempus_IntegratorObserverLogging_decl.hpp:74
Tempus::IntegratorObserverLogging::order_
Teuchos::RCP< std::list< std::string > > order_
Definition
Tempus_IntegratorObserverLogging_decl.hpp:92
Tempus::IntegratorObserverLogging::nameObserveAfterCheckTimeStep_
const std::string nameObserveAfterCheckTimeStep_
Definition
Tempus_IntegratorObserverLogging_decl.hpp:77
Tempus::IntegratorObserverLogging::resetLogCounters
void resetLogCounters()
Definition
Tempus_IntegratorObserverLogging_impl.hpp:77
Tempus::IntegratorObserverLogging::nameObserveEndIntegrator_
const std::string nameObserveEndIntegrator_
Definition
Tempus_IntegratorObserverLogging_decl.hpp:79
Tempus::IntegratorObserverLogging::IntegratorObserverLogging
IntegratorObserverLogging()
Constructor.
Definition
Tempus_IntegratorObserverLogging_impl.hpp:18
Tempus::IntegratorObserverLogging::counters_
Teuchos::RCP< std::map< std::string, int > > counters_
Definition
Tempus_IntegratorObserverLogging_decl.hpp:91
Tempus::IntegratorObserverLogging::~IntegratorObserverLogging
virtual ~IntegratorObserverLogging()
Destructor.
Definition
Tempus_IntegratorObserverLogging_impl.hpp:34
Tempus::IntegratorObserverLogging::nameObserveEndTimeStep_
const std::string nameObserveEndTimeStep_
Definition
Tempus_IntegratorObserverLogging_decl.hpp:78
Tempus::IntegratorObserverLogging::observeNextTimeStep
virtual void observeNextTimeStep(const Integrator< Scalar > &integrator) override
Observe after the next time step size is selected.
Definition
Tempus_IntegratorObserverLogging_impl.hpp:48
Tempus::IntegratorObserverLogging::observeBeforeTakeStep
virtual void observeBeforeTakeStep(const Integrator< Scalar > &integrator) override
Observe before Stepper takes step.
Definition
Tempus_IntegratorObserverLogging_impl.hpp:53
Tempus::IntegratorObserverLogging::observeStartTimeStep
virtual void observeStartTimeStep(const Integrator< Scalar > &integrator) override
Observe the beginning of the time step loop.
Definition
Tempus_IntegratorObserverLogging_impl.hpp:43
Tempus::IntegratorObserverLogging::nameObserveStartTimeStep_
const std::string nameObserveStartTimeStep_
Definition
Tempus_IntegratorObserverLogging_decl.hpp:73
Tempus::IntegratorObserverLogging::observeStartIntegrator
virtual void observeStartIntegrator(const Integrator< Scalar > &integrator) override
Observe the beginning of the time integrator.
Definition
Tempus_IntegratorObserverLogging_impl.hpp:38
Tempus::IntegratorObserverLogging::getCounters
Teuchos::RCP< const std::map< std::string, int > > getCounters()
Definition
Tempus_IntegratorObserverLogging_impl.hpp:92
Tempus::IntegratorObserverLogging::logCall
void logCall(const std::string call) const
Asserts next call on the stack is correct and removes from stack.
Definition
Tempus_IntegratorObserverLogging_impl.hpp:101
Tempus::IntegratorObserverLogging::nameObserveStartIntegrator_
const std::string nameObserveStartIntegrator_
Definition
Tempus_IntegratorObserverLogging_decl.hpp:72
Tempus::IntegratorObserverLogging::nameObserveAfterTakeStep_
const std::string nameObserveAfterTakeStep_
Definition
Tempus_IntegratorObserverLogging_decl.hpp:76
Tempus::IntegratorObserverLogging::observeEndIntegrator
virtual void observeEndIntegrator(const Integrator< Scalar > &integrator) override
Observe the end of the time integrator.
Definition
Tempus_IntegratorObserverLogging_impl.hpp:73
Tempus::IntegratorObserverLogging::nameObserveBeforeTakeStep_
const std::string nameObserveBeforeTakeStep_
Definition
Tempus_IntegratorObserverLogging_decl.hpp:75
Tempus::IntegratorObserverLogging::observeEndTimeStep
virtual void observeEndTimeStep(const Integrator< Scalar > &integrator) override
Observe the end of the time step loop.
Definition
Tempus_IntegratorObserverLogging_impl.hpp:68
Tempus::IntegratorObserverLogging::observeAfterCheckTimeStep
virtual void observeAfterCheckTimeStep(const Integrator< Scalar > &integrator) override
Observe after checking time step.
Definition
Tempus_IntegratorObserverLogging_impl.hpp:63
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