|
Tempus Version of the Day
Time Integration
|
DIRK 1 Stage Theta. More...
#include <Tempus_StepperRKButcherTableau.hpp>
Public Member Functions | |
| StepperDIRK_1StageTheta () | |
| Default constructor. | |
| StepperDIRK_1StageTheta (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel, const Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > &solver, bool useFSAL, std::string ICConsistency, bool ICConsistencyCheck, bool useEmbedded, bool zeroInitialGuess, const Teuchos::RCP< StepperRKAppAction< Scalar > > &stepperRKAppAction, Scalar theta=Scalar(0.5)) | |
| void | setTheta (Scalar theta) |
| Scalar | getTheta () const |
| std::string | getDescription () const |
| Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const |
Public Member Functions inherited from Tempus::StepperDIRK< Scalar > | |
| virtual void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const override |
| virtual bool | isValidSetup (Teuchos::FancyOStream &out) const override |
| virtual void | setStepperDIRKValues (Teuchos::RCP< Teuchos::ParameterList > pl) |
| Set StepperDIRK member data from the ParameterList. | |
| virtual void | initialize () override |
| Initialize after construction and changing input parameters. | |
| virtual void | setModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel) override |
| Set the model. | |
| virtual void | setInitialConditions (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) override |
| Set the initial conditions and make them consistent. | |
| virtual void | setResetInitialGuess (bool reset_guess) |
| virtual bool | getResetInitialGuess () const |
| virtual void | takeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) override |
| Take the specified timestep, dt, and return true if successful. | |
| virtual Teuchos::RCP< Tempus::StepperState< Scalar > > | getDefaultStepperState () override |
| Get a default (initial) StepperState. | |
| virtual bool | isExplicit () const override |
| virtual bool | isImplicit () const override |
| virtual bool | isExplicitImplicit () const override |
| virtual bool | isOneStepMethod () const override |
| virtual bool | isMultiStepMethod () const override |
| virtual OrderODE | getOrderODE () const override |
| std::vector< Teuchos::RCP< Thyra::VectorBase< Scalar > > > & | getStageXDot () |
| Teuchos::RCP< Thyra::VectorBase< Scalar > > & | getXTilde () |
| virtual Scalar | getAlpha (const Scalar dt) const override |
| Return alpha = d(xDot)/dx. | |
| virtual Scalar | getBeta (const Scalar) const override |
| Return beta = d(x)/dx. | |
| virtual Scalar | getAlpha (const Scalar dt, int i) const |
| Return alpha = d(xDot)/dx for stage i. | |
| Teuchos::RCP< Teuchos::ParameterList > | getValidParametersBasicDIRK () const |
Public Member Functions inherited from Tempus::StepperImplicit< Scalar > | |
| Teuchos::RCP< Teuchos::ParameterList > | getValidParametersBasicImplicit () const |
| void | setStepperImplicitValues (Teuchos::RCP< Teuchos::ParameterList > pl) |
| Set StepperImplicit member data from the ParameterList. | |
| void | setStepperSolverValues (Teuchos::RCP< Teuchos::ParameterList > pl) |
| Set solver from ParameterList. | |
| void | setSolverName (std::string i) |
| Set the Solver Name. | |
| std::string | getSolverName () const |
| Get the Solver Name. | |
| virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | getModel () const override |
| virtual Teuchos::RCP< const WrapperModelEvaluator< Scalar > > | getWrapperModel () |
| virtual void | setDefaultSolver () |
| virtual void | setSolver (Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > solver) override |
| Set solver. | |
| virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > | getSolver () const override |
| Get solver. | |
| const Thyra::SolveStatus< Scalar > | solveImplicitODE (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &xDot, const Scalar time, const Teuchos::RCP< ImplicitODEParameters< Scalar > > &p, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &y=Teuchos::null, const int index=-1) |
| Solve implicit ODE, f(x, xDot, t, p) = 0. | |
| void | evaluateImplicitODE (Teuchos::RCP< Thyra::VectorBase< Scalar > > &f, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &xDot, const Scalar time, const Teuchos::RCP< ImplicitODEParameters< Scalar > > &p) |
| Evaluate implicit ODE residual, f(x, xDot, t, p). | |
| virtual void | setInitialGuess (Teuchos::RCP< const Thyra::VectorBase< Scalar > > initialGuess) override |
| Pass initial guess to Newton solver (only relevant for implicit solvers) | |
| virtual void | setZeroInitialGuess (bool zIG) |
| virtual bool | getZeroInitialGuess () const |
| virtual Scalar | getInitTimeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &) const override |
Public Member Functions inherited from Tempus::Stepper< Scalar > | |
| 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. | |
Public Member Functions inherited from Tempus::StepperRKBase< Scalar > | |
| 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 () |
Protected Member Functions inherited from Tempus::StepperDIRK< Scalar > | |
| virtual void | setupDefault () |
| Default setup for constructor. | |
| virtual void | setup (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &wrapperModel, const Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > &solver, bool useFSAL, std::string ICConsistency, bool ICConsistencyCheck, bool useEmbedded, bool zeroInitialGuess, const Teuchos::RCP< StepperRKAppAction< Scalar > > &stepperRKAppAction) |
| Setup for constructor. | |
| virtual void | setEmbeddedMemory () override |
Protected Member Functions inherited from Tempus::Stepper< Scalar > | |
| 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. | |
Private Attributes | |
| Scalar | thetaDefault_ |
| Scalar | theta_ |
Additional Inherited Members | |
Protected Attributes inherited from Tempus::StepperDIRK< Scalar > | |
| std::vector< Teuchos::RCP< Thyra::VectorBase< Scalar > > > | stageXDot_ |
| Teuchos::RCP< Thyra::VectorBase< Scalar > > | xTilde_ |
| bool | resetGuess_ = true |
Protected Attributes inherited from Tempus::StepperImplicit< Scalar > | |
| Teuchos::RCP< WrapperModelEvaluator< Scalar > > | wrapperModel_ |
| Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > | solver_ |
| Teuchos::RCP< const Thyra::VectorBase< Scalar > > | initialGuess_ |
| bool | zeroInitialGuess_ |
| std::string | solverName_ |
Protected Attributes inherited from Tempus::Stepper< Scalar > | |
| bool | useFSAL_ = false |
| Use First-Same-As-Last (FSAL) principle. | |
| bool | isInitialized_ |
| True if stepper's member data is initialized. | |
Protected Attributes inherited from Tempus::StepperRKBase< Scalar > | |
| 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_ |
| Teuchos::RCP< StepperRKAppAction< Scalar > > | stepperRKAppAction_ |
DIRK 1 Stage Theta.
The tableau (order = 1 or 2) is
![\[
\begin{array}{c|c}
c & A \\ \hline
& b^T
\end{array}
\;\;\;\;\mbox{ where }\;\;\;\;
\begin{array}{c|c} \theta & \theta \\ \hline
& 1 \end{array}
\]](form_292.png)
Valid values are 






Reference: Non-standard finite-difference methods in dynamical systems, P. Kama, Dissertation, University of Pretoria, pg. 49.
See StepperDIRK for additional details.
Definition at line 2979 of file Tempus_StepperRKButcherTableau.hpp.
|
inline |
Default constructor.
Requires subsequent setModel() and initialize() calls before calling takestep().
Definition at line 2986 of file Tempus_StepperRKButcherTableau.hpp.
|
inline |
Definition at line 3001 of file Tempus_StepperRKButcherTableau.hpp.
|
inline |
Definition at line 3020 of file Tempus_StepperRKButcherTableau.hpp.
|
inline |
Definition at line 3031 of file Tempus_StepperRKButcherTableau.hpp.
|
inlinevirtual |
Implements Tempus::StepperDIRK< Scalar >.
Definition at line 3033 of file Tempus_StepperRKButcherTableau.hpp.
|
inlinevirtual |
Reimplemented from Tempus::StepperDIRK< Scalar >.
Definition at line 3047 of file Tempus_StepperRKButcherTableau.hpp.
|
inlineprotectedvirtual |
Implements Tempus::StepperDIRK< Scalar >.
Definition at line 3064 of file Tempus_StepperRKButcherTableau.hpp.
|
private |
Definition at line 3085 of file Tempus_StepperRKButcherTableau.hpp.
|
private |
Definition at line 3086 of file Tempus_StepperRKButcherTableau.hpp.