Tempus
Version of the Day
Time Integration
Loading...
Searching...
No Matches
src
Tempus_StepperRKModifierBase.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_StepperRKModifierBase_hpp
10
#define Tempus_StepperRKModifierBase_hpp
11
12
#include "Tempus_config.hpp"
13
#include "Tempus_SolutionHistory.hpp"
14
#include "
Tempus_StepperRKAppAction.hpp
"
15
16
17
namespace
Tempus
{
18
19
// Forward Declaration
20
template
<
class
Scalar>
class
StepperRKBase
;
21
39
template
<
class
Scalar>
40
class
StepperRKModifierBase
41
:
virtual
public
Tempus::StepperRKAppAction
<Scalar>
42
{
43
private
:
44
45
/* \brief Adaptor execute function
46
*
47
* This is an adaptor function to bridge between the AppAction
48
* interface and the Modifier interface. It is meant to be private
49
* and non-virtual as deriving from this class should only need to
50
* implement the modify function.
51
*
52
* For the Modifier interface, this adaptor is a "simple pass through".
53
*/
54
void
execute
(
55
Teuchos::RCP<
SolutionHistory<Scalar>
> sh,
56
Teuchos::RCP<
StepperRKBase<Scalar>
> stepper,
57
const
typename
StepperRKAppAction<Scalar>::ACTION_LOCATION
actLoc)
58
{ this->
modify
(sh, stepper, actLoc); }
59
60
public
:
61
63
virtual
void
modify
(
64
Teuchos::RCP<
SolutionHistory<Scalar>
>
/* sh */
,
65
Teuchos::RCP<
StepperRKBase<Scalar>
>
/* stepper */
,
66
const
typename
StepperRKAppAction<Scalar>::ACTION_LOCATION
actLoc) = 0;
67
68
};
69
70
}
// namespace Tempus
71
72
#endif
// Tempus_StepperRKModifierBase_hpp
Tempus_StepperRKAppAction.hpp
Tempus::SolutionHistory
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
Definition
Tempus_SolutionHistory_decl.hpp:121
Tempus::StepperRKAppAction
Application Action for StepperRKBase.
Definition
Tempus_StepperRKAppAction.hpp:35
Tempus::StepperRKAppAction::ACTION_LOCATION
ACTION_LOCATION
Indicates the location of application action (see algorithm).
Definition
Tempus_StepperRKAppAction.hpp:39
Tempus::StepperRKBase
Base class for Runge-Kutta methods, ExplicitRK, DIRK and IMEX.
Definition
Tempus_StepperRKBase.hpp:32
Tempus::StepperRKModifierBase
Base modifier for StepperRK.
Definition
Tempus_StepperRKModifierBase.hpp:42
Tempus::StepperRKModifierBase::execute
void execute(Teuchos::RCP< SolutionHistory< Scalar > > sh, Teuchos::RCP< StepperRKBase< Scalar > > stepper, const typename StepperRKAppAction< Scalar >::ACTION_LOCATION actLoc)
Execute application action for RK Stepper.
Definition
Tempus_StepperRKModifierBase.hpp:54
Tempus::StepperRKModifierBase::modify
virtual void modify(Teuchos::RCP< SolutionHistory< Scalar > >, Teuchos::RCP< StepperRKBase< Scalar > >, const typename StepperRKAppAction< Scalar >::ACTION_LOCATION actLoc)=0
Modify RK Stepper.
Tempus
Definition
Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:21
Generated by
1.13.2