Tempus
Version of the Day
Time Integration
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Tempus_StepperExplicitRK_decl.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_StepperExplicitRK_decl_hpp
10
#define Tempus_StepperExplicitRK_decl_hpp
11
12
#include "Tempus_config.hpp"
13
#include "
Tempus_StepperRKBase.hpp
"
14
#include "Tempus_StepperExplicit.hpp"
15
16
17
namespace
Tempus
{
18
99
template
<
class
Scalar>
100
class
StepperExplicitRK
:
virtual
public
Tempus::StepperExplicit
<Scalar>,
101
virtual
public
Tempus::StepperRKBase
<Scalar>
102
{
103
104
public
:
105
107
108
109
virtual
void
initialize
();
110
112
virtual
void
setModel
(
113
const
Teuchos::RCP<
const
Thyra::ModelEvaluator<Scalar>
>& appModel);
114
116
virtual
void
setInitialConditions
(
117
const
Teuchos::RCP<
SolutionHistory<Scalar>
>& solutionHistory);
118
120
virtual
void
takeStep
(
121
const
Teuchos::RCP<
SolutionHistory<Scalar>
>& solutionHistory);
122
124
virtual
Teuchos::RCP<Tempus::StepperState<Scalar> >
getDefaultStepperState
();
125
virtual
Scalar
getInitTimeStep
(
126
const
Teuchos::RCP<
SolutionHistory<Scalar>
>& solutionHistory)
const
;
127
128
virtual
bool
isExplicit
()
const
{
return
true
;}
129
virtual
bool
isImplicit
()
const
{
return
false
;}
130
virtual
bool
isExplicitImplicit
()
const
131
{
return
isExplicit
() &&
isImplicit
();}
132
virtual
bool
isOneStepMethod
()
const
{
return
true
;}
133
virtual
bool
isMultiStepMethod
()
const
{
return
!
isOneStepMethod
();}
134
135
virtual
OrderODE
getOrderODE
()
const
{
return
FIRST_ORDER_ODE
;}
136
137
virtual
std::string
getDescription
()
const
= 0;
139
140
virtual
Teuchos::RCP<const Teuchos::ParameterList>
getValidParameters
()
const
;
141
142
Teuchos::RCP<Teuchos::ParameterList>
getValidParametersBasicERK
()
const
;
143
145
146
virtual
void
describe
(Teuchos::FancyOStream & out,
147
const
Teuchos::EVerbosityLevel verbLevel)
const
;
149
150
virtual
bool
isValidSetup
(Teuchos::FancyOStream & out)
const
;
151
152
153
protected
:
154
156
virtual
void
setupDefault
();
157
159
virtual
void
setup
(
160
const
Teuchos::RCP<
const
Thyra::ModelEvaluator<Scalar>
>& appModel,
161
bool
useFSAL,
162
std::string ICConsistency,
163
bool
ICConsistencyCheck,
164
bool
useEmbedded,
165
const
Teuchos::RCP<
StepperRKAppAction<Scalar>
>& stepperRKAppAction);
166
167
virtual
void
setupTableau
() = 0;
168
169
virtual
void
setEmbeddedMemory
();
170
171
172
std::vector<Teuchos::RCP<Thyra::VectorBase<Scalar> > >
stageXDot_
;
173
174
};
175
176
}
// namespace Tempus
177
178
#endif
// Tempus_StepperExplicitRK_decl_hpp
Tempus_StepperRKBase.hpp
Tempus::SolutionHistory
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
Definition
Tempus_SolutionHistory_decl.hpp:121
Tempus::StepperExplicitRK
Explicit Runge-Kutta time stepper.
Definition
Tempus_StepperExplicitRK_decl.hpp:102
Tempus::StepperExplicitRK::setup
virtual void setup(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel, bool useFSAL, std::string ICConsistency, bool ICConsistencyCheck, bool useEmbedded, const Teuchos::RCP< StepperRKAppAction< Scalar > > &stepperRKAppAction)
Setup for constructor.
Definition
Tempus_StepperExplicitRK_impl.hpp:31
Tempus::StepperExplicitRK::isExplicit
virtual bool isExplicit() const
Definition
Tempus_StepperExplicitRK_decl.hpp:128
Tempus::StepperExplicitRK::getDescription
virtual std::string getDescription() const =0
Tempus::StepperExplicitRK::describe
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
Definition
Tempus_StepperExplicitRK_impl.hpp:381
Tempus::StepperExplicitRK::setEmbeddedMemory
virtual void setEmbeddedMemory()
Definition
Tempus_StepperExplicitRK_impl.hpp:187
Tempus::StepperExplicitRK::setInitialConditions
virtual void setInitialConditions(const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory)
Set the initial conditions and make them consistent.
Definition
Tempus_StepperExplicitRK_impl.hpp:207
Tempus::StepperExplicitRK::isMultiStepMethod
virtual bool isMultiStepMethod() const
Definition
Tempus_StepperExplicitRK_decl.hpp:133
Tempus::StepperExplicitRK::getInitTimeStep
virtual Scalar getInitTimeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) const
Definition
Tempus_StepperExplicitRK_impl.hpp:56
Tempus::StepperExplicitRK::setupDefault
virtual void setupDefault()
Default setup for constructor.
Definition
Tempus_StepperExplicitRK_impl.hpp:22
Tempus::StepperExplicitRK::setModel
virtual void setModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel)
Set model.
Definition
Tempus_StepperExplicitRK_impl.hpp:166
Tempus::StepperExplicitRK::getOrderODE
virtual OrderODE getOrderODE() const
Definition
Tempus_StepperExplicitRK_decl.hpp:135
Tempus::StepperExplicitRK::isExplicitImplicit
virtual bool isExplicitImplicit() const
Definition
Tempus_StepperExplicitRK_decl.hpp:130
Tempus::StepperExplicitRK::isOneStepMethod
virtual bool isOneStepMethod() const
Definition
Tempus_StepperExplicitRK_decl.hpp:132
Tempus::StepperExplicitRK::getDefaultStepperState
virtual Teuchos::RCP< Tempus::StepperState< Scalar > > getDefaultStepperState()
Get a default (initial) StepperState.
Definition
Tempus_StepperExplicitRK_impl.hpp:372
Tempus::StepperExplicitRK::isValidSetup
virtual bool isValidSetup(Teuchos::FancyOStream &out) const
Definition
Tempus_StepperExplicitRK_impl.hpp:409
Tempus::StepperExplicitRK::takeStep
virtual void takeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory)
Take the specified timestep, dt, and return true if successful.
Definition
Tempus_StepperExplicitRK_impl.hpp:224
Tempus::StepperExplicitRK::isImplicit
virtual bool isImplicit() const
Definition
Tempus_StepperExplicitRK_decl.hpp:129
Tempus::StepperExplicitRK::getValidParameters
virtual Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Definition
Tempus_StepperExplicitRK_impl.hpp:129
Tempus::StepperExplicitRK::getValidParametersBasicERK
Teuchos::RCP< Teuchos::ParameterList > getValidParametersBasicERK() const
Definition
Tempus_StepperExplicitRK_impl.hpp:137
Tempus::StepperExplicitRK::setupTableau
virtual void setupTableau()=0
Tempus::StepperExplicitRK::stageXDot_
std::vector< Teuchos::RCP< Thyra::VectorBase< Scalar > > > stageXDot_
Definition
Tempus_StepperExplicitRK_decl.hpp:172
Tempus::StepperExplicitRK::initialize
virtual void initialize()
Initialize during construction and after changing input parameters.
Definition
Tempus_StepperExplicitRK_impl.hpp:151
Tempus::StepperExplicit
Thyra Base interface for implicit time steppers.
Definition
Tempus_StepperExplicit_decl.hpp:44
Tempus::StepperRKAppAction
Application Action for StepperRKBase.
Definition
Tempus_StepperRKAppAction.hpp:35
Tempus::StepperRKBase
Base class for Runge-Kutta methods, ExplicitRK, DIRK and IMEX.
Definition
Tempus_StepperRKBase.hpp:32
Thyra::ModelEvaluator
Tempus
Definition
Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:21
Tempus::OrderODE
OrderODE
Definition
Tempus_Stepper_decl.hpp:23
Tempus::FIRST_ORDER_ODE
@ FIRST_ORDER_ODE
Stepper integrates first-order ODEs.
Definition
Tempus_Stepper_decl.hpp:24
Generated by
1.17.0