Tempus
Version of the Day
Time Integration
Loading...
Searching...
No Matches
src
Tempus_StepperOperatorSplitObserverBase.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_StepperOperatorSplitObserverBase_hpp
10
#define Tempus_StepperOperatorSplitObserverBase_hpp
11
12
#include "Tempus_config.hpp"
13
#include "Tempus_SolutionHistory.hpp"
14
#include "
Tempus_StepperOperatorSplitAppAction.hpp
"
15
16
17
namespace
Tempus
{
18
34
template
<
class
Scalar>
35
class
StepperOperatorSplitObserverBase
36
:
virtual
public
Tempus::StepperOperatorSplitAppAction
<Scalar>
37
{
38
private
:
39
40
/* \brief Adaptor execute function
41
*
42
* This is an adaptor function to bridge between the AppAction
43
* interface and this derived interface. It is meant to be private
44
* and non-virtual as deriving from this class should only need to
45
* implement the observe function.
46
*
47
* For the Observer interface, this adaptor simply "applies" constantness
48
* to the arguments.
49
*/
50
void
execute
(
51
Teuchos::RCP<SolutionHistory<Scalar> > sh,
52
Teuchos::RCP<StepperOperatorSplit<Scalar> > stepper,
53
const
typename
StepperOperatorSplitAppAction<Scalar>::ACTION_LOCATION
actLoc)
54
{ this->
observe
(sh, stepper, actLoc); }
55
56
public
:
57
59
virtual
void
observe
(
60
Teuchos::RCP<
const
SolutionHistory<Scalar> >
/* sh */
,
61
Teuchos::RCP<
const
StepperOperatorSplit<Scalar> >
/* stepper */
,
62
const
typename
StepperOperatorSplitAppAction<Scalar>::ACTION_LOCATION
actLoc) = 0;
63
64
};
65
66
}
// namespace Tempus
67
68
#endif
// Tempus_StepperOperatorSplitObserverBase_hpp
Tempus_StepperOperatorSplitAppAction.hpp
Tempus::StepperOperatorSplitAppAction
StepperOperatorSplitAppAction class for StepperOperatorSplit.
Definition
Tempus_StepperOperatorSplitAppAction.hpp:40
Tempus::StepperOperatorSplitAppAction::ACTION_LOCATION
ACTION_LOCATION
Definition
Tempus_StepperOperatorSplitAppAction.hpp:43
Tempus::StepperOperatorSplitObserverBase
Base observer for StepperOperatorSplit.
Definition
Tempus_StepperOperatorSplitObserverBase.hpp:37
Tempus::StepperOperatorSplitObserverBase::observe
virtual void observe(Teuchos::RCP< const SolutionHistory< Scalar > >, Teuchos::RCP< const StepperOperatorSplit< Scalar > >, const typename StepperOperatorSplitAppAction< Scalar >::ACTION_LOCATION actLoc)=0
Observe OperatorSplit Stepper.
Tempus::StepperOperatorSplitObserverBase::execute
void execute(Teuchos::RCP< SolutionHistory< Scalar > > sh, Teuchos::RCP< StepperOperatorSplit< Scalar > > stepper, const typename StepperOperatorSplitAppAction< Scalar >::ACTION_LOCATION actLoc)
Execute application action for OperatorSplit Stepper.
Definition
Tempus_StepperOperatorSplitObserverBase.hpp:50
Tempus
Definition
Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:21
Generated by
1.10.0