Tempus Version of the Day
Time Integration
|
RK Explicit 5 Stage 3rd order by Kinnmark and Gray. More...
#include <Tempus_StepperRKButcherTableau.hpp>
Public Member Functions | |
StepperERK_5Stage3rdOrderKandG () | |
Default constructor. | |
StepperERK_5Stage3rdOrderKandG (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel, bool useFSAL, std::string ICConsistency, bool ICConsistencyCheck, bool useEmbedded, const Teuchos::RCP< StepperRKAppAction< Scalar > > &stepperRKAppAction) | |
std::string | getDescription () const |
![]() | |
virtual void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
virtual bool | isValidSetup (Teuchos::FancyOStream &out) const |
virtual void | initialize () |
Initialize during construction and after changing input parameters. | |
virtual void | setModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel) |
Set model. | |
virtual void | setInitialConditions (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) |
Set the initial conditions and make them consistent. | |
virtual void | takeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) |
Take the specified timestep, dt, and return true if successful. | |
virtual Teuchos::RCP< Tempus::StepperState< Scalar > > | getDefaultStepperState () |
Get a default (initial) StepperState. | |
virtual Scalar | getInitTimeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) const |
virtual bool | isExplicit () const |
virtual bool | isImplicit () const |
virtual bool | isExplicitImplicit () const |
virtual bool | isOneStepMethod () const |
virtual bool | isMultiStepMethod () const |
virtual OrderODE | getOrderODE () const |
virtual Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const |
Teuchos::RCP< Teuchos::ParameterList > | getValidParametersBasicERK () const |
![]() | |
void | setStepperExplicitValues (Teuchos::RCP< Teuchos::ParameterList > pl) |
Set StepperExplicit member data from the ParameterList. | |
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | getModel () const |
Return the application ModelEvaluator. | |
virtual void | setSolver (Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > solver) |
Set solver. | |
virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > | getSolver () const |
Get solver. | |
virtual void | setInitialGuess (Teuchos::RCP< const Thyra::VectorBase< Scalar > >) |
Pass initial guess to Newton solver (only relevant for implicit solvers) | |
virtual void | evaluateExplicitODE (Teuchos::RCP< Thyra::VectorBase< Scalar > > xDot, Teuchos::RCP< const Thyra::VectorBase< Scalar > > x, const Scalar time, const Teuchos::RCP< ExplicitODEParameters< Scalar > > &p) |
Evaluate xDot = f(x,t). | |
virtual void | evaluateExplicitODE (Teuchos::RCP< Thyra::VectorBase< Scalar > > xDotDot, Teuchos::RCP< const Thyra::VectorBase< Scalar > > x, Teuchos::RCP< const Thyra::VectorBase< Scalar > > xDot, const Scalar time, const Teuchos::RCP< ExplicitODEParameters< Scalar > > &p) |
Evaluate xDotDot = f(x, xDot, t). | |
![]() | |
virtual std::string | description () const |
void | setStepperValues (const Teuchos::RCP< Teuchos::ParameterList > pl) |
Set Stepper member data from ParameterList. | |
Teuchos::RCP< Teuchos::ParameterList > | getValidParametersBasic () const |
Add basic parameters to Steppers ParameterList. | |
virtual bool | isInitialized () |
True if stepper's member data is initialized. | |
virtual void | checkInitialized () |
Check initialization, and error out on failure. | |
void | setStepperName (std::string s) |
Set the stepper name. | |
std::string | getStepperName () const |
Get the stepper name. | |
std::string | getStepperType () const |
Get the stepper type. The stepper type is used as an identifier for the stepper, and can only be set by the derived Stepper class. | |
virtual void | setUseFSAL (bool a) |
void | setUseFSALTrueOnly (bool a) |
void | setUseFSALFalseOnly (bool a) |
bool | getUseFSAL () const |
void | setICConsistency (std::string s) |
std::string | getICConsistency () const |
void | setICConsistencyCheck (bool c) |
bool | getICConsistencyCheck () const |
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > | getStepperX () |
Get Stepper x. | |
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > | getStepperXDot () |
Get Stepper xDot. | |
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > | getStepperXDotDot () |
Get Stepper xDotDot. | |
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > | getStepperXDotDot (Teuchos::RCP< SolutionState< Scalar > > state) |
Get xDotDot from SolutionState or Stepper storage. | |
![]() | |
virtual Teuchos::RCP< const RKButcherTableau< Scalar > > | getTableau () const |
virtual Scalar | getOrder () const |
virtual Scalar | getOrderMin () const |
virtual Scalar | getOrderMax () const |
virtual int | getNumberOfStages () const |
virtual int | getStageNumber () const |
virtual void | setStageNumber (int s) |
virtual void | setUseEmbedded (bool a) |
virtual bool | getUseEmbedded () const |
virtual void | setErrorNorm (const Teuchos::RCP< Stepper_ErrorNorm< Scalar > > &errCalculator=Teuchos::null) |
virtual void | setAppAction (Teuchos::RCP< StepperRKAppAction< Scalar > > appAction) |
virtual Teuchos::RCP< StepperRKAppAction< Scalar > > | getAppAction () const |
virtual void | setStepperRKValues (Teuchos::RCP< Teuchos::ParameterList > pl) |
Set StepperRK member data from the ParameterList. | |
virtual Teuchos::RCP< RKButcherTableau< Scalar > > | createTableau (Teuchos::RCP< Teuchos::ParameterList > pl) |
Protected Member Functions | |
void | setupTableau () |
![]() | |
virtual void | setupDefault () |
Default setup for constructor. | |
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. | |
virtual void | setEmbeddedMemory () |
![]() | |
virtual void | setStepperX (Teuchos::RCP< Thyra::VectorBase< Scalar > > x) |
Set x for Stepper storage. | |
virtual void | setStepperXDot (Teuchos::RCP< Thyra::VectorBase< Scalar > > xDot) |
Set xDot for Stepper storage. | |
virtual void | setStepperXDotDot (Teuchos::RCP< Thyra::VectorBase< Scalar > > xDotDot) |
Set x for Stepper storage. | |
void | setStepperType (std::string s) |
Set the stepper type. | |
virtual void | setEmbeddedMemory () |
Additional Inherited Members | |
![]() | |
std::vector< Teuchos::RCP< Thyra::VectorBase< Scalar > > > | stageXDot_ |
![]() | |
Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | appModel_ |
Explicit ODE ModelEvaluator. | |
Thyra::ModelEvaluatorBase::InArgs< Scalar > | inArgs_ |
Thyra::ModelEvaluatorBase::OutArgs< Scalar > | outArgs_ |
![]() | |
bool | useFSAL_ = false |
Use First-Same-As-Last (FSAL) principle. | |
bool | isInitialized_ = false |
True if stepper's member data is initialized. | |
![]() | |
Teuchos::RCP< RKButcherTableau< Scalar > > | tableau_ |
bool | useEmbedded_ |
Teuchos::RCP< Thyra::VectorBase< Scalar > > | ee_ |
Teuchos::RCP< Thyra::VectorBase< Scalar > > | abs_u0 |
Teuchos::RCP< Thyra::VectorBase< Scalar > > | abs_u |
Teuchos::RCP< Thyra::VectorBase< Scalar > > | sc |
Teuchos::RCP< Stepper_ErrorNorm< Scalar > > | stepperErrorNormCalculator_ |
int | stageNumber_ |
The current Runge-Kutta stage number, {0,...,s-1}. -1 indicates outside stage loop. | |
Teuchos::RCP< StepperRKAppAction< Scalar > > | stepperRKAppAction_ |
RK Explicit 5 Stage 3rd order by Kinnmark and Gray.
The tableau (order=3) is
Reference: Modified by P. Ullrich. From the prim_advance_mod.F90 routine in the HOMME atmosphere model code.
See StepperExplicitRK for additional details.
Definition at line 859 of file Tempus_StepperRKButcherTableau.hpp.
|
inline |
Default constructor.
Requires subsequent setModel() and initialize() calls before calling takestep().
Definition at line 868 of file Tempus_StepperRKButcherTableau.hpp.
|
inline |
Definition at line 879 of file Tempus_StepperRKButcherTableau.hpp.
|
inlinevirtual |
Implements Tempus::StepperExplicitRK< Scalar >.
Definition at line 894 of file Tempus_StepperRKButcherTableau.hpp.
|
inlineprotectedvirtual |
Implements Tempus::StepperExplicitRK< Scalar >.
Definition at line 913 of file Tempus_StepperRKButcherTableau.hpp.