|
Tempus
Version of the Day
Time Integration
|
RK Trapezoidal Rule (A.K.A. RK Crank-Nicolson) More...
#include <Tempus_StepperRKButcherTableau.hpp>
Public Member Functions | |
| StepperEDIRK_TrapezoidalRule () | |
| StepperEDIRK_TrapezoidalRule (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel, const Teuchos::RCP< StepperRKObserverComposite< Scalar > > &obs, const Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > &solver, bool useFSAL, std::string ICConsistency, bool ICConsistencyCheck, bool useEmbedded, bool zeroInitialGuess) | |
| std::string | getDescription () const |
| virtual bool | getICConsistencyCheckDefault () const |
| Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const |
Public Member Functions inherited from Tempus::StepperDIRK< Scalar > | |
| virtual Scalar | getAlpha (const Scalar dt) const |
| Return alpha = d(xDot)/dx. More... | |
| virtual Scalar | getBeta (const Scalar) const |
| Return beta = d(x)/dx. More... | |
| virtual void | setObserver (Teuchos::RCP< StepperObserver< Scalar > > obs=Teuchos::null) |
| Set Observer. More... | |
| virtual Teuchos::RCP< const RKButcherTableau< Scalar > > | getTableau () |
| virtual Teuchos::RCP < StepperObserver< Scalar > > | getObserver () const |
| Get Observer. More... | |
| virtual void | initialize () |
| Initialize during construction and after changing input parameters. More... | |
| virtual void | setInitialConditions (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) |
| Set the initial conditions and make them consistent. More... | |
| virtual void | setResetInitialGuess (bool reset_guess) |
| Set parameter so that the initial guess is reset at the beginning of each timestep. More... | |
| virtual bool | getResetInitialGuess () const |
| virtual void | takeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) |
| Take the specified timestep, dt, and return true if successful. More... | |
| virtual Teuchos::RCP < Tempus::StepperState< Scalar > > | getDefaultStepperState () |
| Get a default (initial) StepperState. More... | |
| virtual Scalar | getOrder () const |
| virtual Scalar | getOrderMin () const |
| virtual Scalar | getOrderMax () 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 |
| void | getValidParametersBasicDIRK (Teuchos::RCP< Teuchos::ParameterList > pl) const |
| virtual void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
| virtual void | setUseEmbedded (bool a) |
| Use embedded if avialable. More... | |
| virtual bool | getUseEmbedded () const |
| virtual bool | getUseEmbeddedDefault () const |
Public Member Functions inherited from Tempus::StepperImplicit< Scalar > | |
| virtual void | setModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel) |
| virtual void | setNonConstModel (const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &appModel) |
| virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | getModel () |
| virtual Teuchos::RCP< const WrapperModelEvaluator< Scalar > > | getWrapperModel () |
| virtual void | setSolver (Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > solver=Teuchos::null) |
| Set solver. More... | |
| virtual Teuchos::RCP < Thyra::NonlinearSolverBase < Scalar > > | getSolver () const |
| Get solver. More... | |
| const Thyra::SolveStatus< Scalar > | solveImplicitODE (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &x) |
| Solve problem using x in-place. (Needs to be deprecated!) More... | |
| 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) |
| Solve implicit ODE, f(x, xDot, t, p) = 0. More... | |
| 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). More... | |
| virtual void | setInitialGuess (Teuchos::RCP< const Thyra::VectorBase< Scalar > > initial_guess) |
| Pass initial guess to Newton solver (only relevant for implicit solvers) More... | |
| virtual void | setZeroInitialGuess (bool zIG) |
| Set parameter so that the initial guess is set to zero (=True) or use last timestep (=False). More... | |
| virtual bool | getZeroInitialGuess () const |
| virtual Scalar | getInitTimeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &) const |
| virtual void | setStepperXDot (Teuchos::RCP< Thyra::VectorBase< Scalar > > xDot) |
| Set xDot for Stepper storage. More... | |
| virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getStepperXDot (Teuchos::RCP< SolutionState< Scalar > > state) |
| Get xDot from SolutionState or Stepper storage. More... | |
| virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getStepperXDotDot (Teuchos::RCP< SolutionState< Scalar > > state) |
| Get xDotDot from SolutionState or Stepper storage. More... | |
Public Member Functions inherited from Tempus::Stepper< Scalar > | |
| void | setStepperType (std::string s) |
| std::string | getStepperType () const |
| void | setUseFSAL (bool a) |
| bool | getUseFSAL () const |
| virtual bool | getUseFSALDefault () const |
| void | setICConsistency (std::string s) |
| std::string | getICConsistency () const |
| virtual std::string | getICConsistencyDefault () const |
| void | setICConsistencyCheck (bool c) |
| bool | getICConsistencyCheck () const |
| virtual std::string | description () const |
| virtual void | createSubSteppers (std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > >) |
Protected Member Functions | |
| void | setupTableau () |
Protected Member Functions inherited from Tempus::StepperDIRK< Scalar > | |
| virtual void | setupDefault () |
| Default setup for constructor. More... | |
| virtual void | setup (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &wrapperModel, const Teuchos::RCP< StepperRKObserver< Scalar > > &obs, const Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > &solver, bool useFSAL, std::string ICConsistency, bool ICConsistencyCheck, bool useEmbedded, bool zeroInitialGuess) |
| Setup for constructor. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Tempus::StepperDIRK< Scalar > | |
| Teuchos::RCP< RKButcherTableau < Scalar > > | tableau_ |
| std::vector< Teuchos::RCP < Thyra::VectorBase< Scalar > > > | stageXDot_ |
| Teuchos::RCP < Thyra::VectorBase< Scalar > > | stageX_ |
| Teuchos::RCP < Thyra::VectorBase< Scalar > > | xTilde_ |
| Teuchos::RCP < StepperRKObserverComposite < Scalar > > | stepperObserver_ |
| 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 |
| 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 > > | initial_guess_ |
| bool | zeroInitialGuess_ |
| Teuchos::RCP< StepperObserver < Scalar > > | stepperObserver_ |
| Teuchos::RCP < Thyra::VectorBase< Scalar > > | stepperXDot_ |
| Teuchos::RCP < Thyra::VectorBase< Scalar > > | stepperXDotDot_ |
RK Trapezoidal Rule (A.K.A. RK Crank-Nicolson)
The tableau (order=3) is
It is second-order accurate and A-stable.
Reference: Computer Methods for ODEs and DAEs, U. M. Ascher and L. R. Petzold, p. 113.
Definition at line 2148 of file Tempus_StepperRKButcherTableau.hpp.
|
inline |
Definition at line 2152 of file Tempus_StepperRKButcherTableau.hpp.
|
inline |
Definition at line 2159 of file Tempus_StepperRKButcherTableau.hpp.
|
inlinevirtual |
Implements Tempus::StepperDIRK< Scalar >.
Definition at line 2175 of file Tempus_StepperRKButcherTableau.hpp.
|
inlinevirtual |
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 2187 of file Tempus_StepperRKButcherTableau.hpp.
|
inlinevirtual |
Reimplemented from Tempus::StepperDIRK< Scalar >.
Definition at line 2190 of file Tempus_StepperRKButcherTableau.hpp.
|
inlineprotectedvirtual |
Implements Tempus::StepperDIRK< Scalar >.
Definition at line 2201 of file Tempus_StepperRKButcherTableau.hpp.