|
Tempus
Version of the Day
Time Integration
|
Trapezoidal method time stepper. More...
#include <Tempus_StepperTrapezoidal_decl.hpp>
Public Member Functions | |
| StepperTrapezoidal (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel, Teuchos::RCP< Teuchos::ParameterList > pList=Teuchos::null) | |
| Constructor. More... | |
Basic stepper methods | |
| virtual void | setObserver (Teuchos::RCP< StepperObserver< Scalar > > obs=Teuchos::null) |
| Set Observer. More... | |
| virtual void | initialize () |
| Initialize during construction and after changing input parameters. More... | |
| 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 void | setInitialGuess (Teuchos::RCP< const Thyra::VectorBase< Scalar > > initial_guess) |
| Pass initial guess to Newton solver (only relevant for explicit schemes) More... | |
| virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > | getXDotTemp (Teuchos::RCP< Thyra::VectorBase< Scalar > > x) |
| Provide temporary xDot memory for Stepper if SolutionState doesn't. More... | |
ParameterList methods | |
| void | setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &pl) |
| Teuchos::RCP< Teuchos::ParameterList > | getNonconstParameterList () |
| Teuchos::RCP< Teuchos::ParameterList > | unsetParameterList () |
| Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const |
| Teuchos::RCP< Teuchos::ParameterList > | getDefaultParameters () 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 void | setSolver (std::string solverName) |
| Set solver via ParameterList solver name. More... | |
| virtual void | setSolver (Teuchos::RCP< Teuchos::ParameterList > solverPL=Teuchos::null) |
| Set solver via solver ParameterList. More... | |
| virtual void | setSolver (Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > solver) |
| Set solver. More... | |
| virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > | getSolver () const |
| Get solver. More... | |
| virtual std::string | getStepperType () const |
| const Thyra::SolveStatus< Scalar > | solveImplicitODE (const Teuchos::RCP< Thyra::VectorBase< Scalar > > &x) |
| Solve problem using x in-place. 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 bool | getEmbedded () const |
| virtual Scalar | getInitTimeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) const |
Public Member Functions inherited from Tempus::Stepper< Scalar > | |
| virtual void | createSubSteppers (std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > > models) |
| void | validExplicitODE (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model) const |
| Validate that the model supports explicit ODE evaluation, f(x,t) [=xdot]. More... | |
| void | validSecondOrderExplicitODE (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model) const |
| Validate that the model supports explicit second order ODE evaluation, f(x,xdot,t) [=xdotdot]. More... | |
| void | validImplicitODE_DAE (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model) const |
| Validate ME supports implicit ODE/DAE evaluation, f(xdot,x,t) [= 0]. More... | |
| void | validSecondOrderODE_DAE (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model) const |
| Validate ME supports 2nd order implicit ODE/DAE evaluation, f(xdotdot,xdot,x,t) [= 0]. More... | |
| Teuchos::RCP< Teuchos::ParameterList > | defaultSolverParameters () const |
Overridden from Teuchos::Describable | |
| Teuchos::RCP< Stepper< Scalar > > | predictorStepper_ |
| Teuchos::RCP< StepperObserver< Scalar > > | stepperObserver_ |
| Teuchos::RCP< StepperTrapezoidalObserver< Scalar > > | stepperTrapObserver_ |
| Teuchos::RCP< Thyra::VectorBase< Scalar > > | xDotTemp_ |
| Teuchos::RCP< const Thyra::VectorBase< Scalar > > | initial_guess_ |
| virtual std::string | description () const |
| virtual void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
| StepperTrapezoidal () | |
| Default Constructor – not allowed. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Tempus::StepperImplicit< Scalar > | |
| Teuchos::RCP< Teuchos::ParameterList > | stepperPL_ |
| Teuchos::RCP< WrapperModelEvaluator< Scalar > > | wrapperModel_ |
| Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > | solver_ |
| Teuchos::RCP< const Thyra::VectorBase< Scalar > > | initial_guess_ |
Trapezoidal method time stepper.
For the implicit ODE system,
, the solution,
and
, is determined using a solver (e.g., a non-linear solver, like NOX).
Algorithm The single-timestep algorithm for Trapezoidal method is simply,
for 
[Optional]
for
[Optional] Definition at line 32 of file Tempus_StepperTrapezoidal_decl.hpp.
| Tempus::StepperTrapezoidal< Scalar >::StepperTrapezoidal | ( | const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | appModel, |
| Teuchos::RCP< Teuchos::ParameterList > | pList = Teuchos::null |
||
| ) |
Constructor.
Definition at line 27 of file Tempus_StepperTrapezoidal_impl.hpp.
|
private |
Default Constructor – not allowed.
|
virtual |
Definition at line 179 of file Tempus_StepperTrapezoidal_impl.hpp.
|
virtual |
Definition at line 171 of file Tempus_StepperTrapezoidal_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 235 of file Tempus_StepperTrapezoidal_impl.hpp.
|
virtual |
Get a default (initial) StepperState.
Provide a StepperState to the SolutionState. This Stepper does not have any special state data, so just provide the base class StepperState with the Stepper description. This can be checked to ensure that the input StepperState can be used by this Stepper.
Implements Tempus::Stepper< Scalar >.
Definition at line 162 of file Tempus_StepperTrapezoidal_impl.hpp.
| Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperTrapezoidal< Scalar >::getNonconstParameterList | ( | ) |
Definition at line 255 of file Tempus_StepperTrapezoidal_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 55 of file Tempus_StepperTrapezoidal_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 57 of file Tempus_StepperTrapezoidal_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 56 of file Tempus_StepperTrapezoidal_decl.hpp.
| Teuchos::RCP< const Teuchos::ParameterList > Tempus::StepperTrapezoidal< Scalar >::getValidParameters | ( | ) | const |
Definition at line 220 of file Tempus_StepperTrapezoidal_impl.hpp.
|
virtual |
Provide temporary xDot memory for Stepper if SolutionState doesn't.
Definition at line 144 of file Tempus_StepperTrapezoidal_impl.hpp.
|
virtual |
Initialize during construction and after changing input parameters.
Implements Tempus::Stepper< Scalar >.
Definition at line 61 of file Tempus_StepperTrapezoidal_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 59 of file Tempus_StepperTrapezoidal_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 61 of file Tempus_StepperTrapezoidal_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 60 of file Tempus_StepperTrapezoidal_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 64 of file Tempus_StepperTrapezoidal_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 63 of file Tempus_StepperTrapezoidal_decl.hpp.
|
inlinevirtual |
Pass initial guess to Newton solver (only relevant for explicit schemes)
Reimplemented from Tempus::StepperImplicit< Scalar >.
Definition at line 68 of file Tempus_StepperTrapezoidal_decl.hpp.
|
virtual |
Set Observer.
Implements Tempus::Stepper< Scalar >.
Definition at line 39 of file Tempus_StepperTrapezoidal_impl.hpp.
| void Tempus::StepperTrapezoidal< Scalar >::setParameterList | ( | const Teuchos::RCP< Teuchos::ParameterList > & | pl | ) |
Definition at line 189 of file Tempus_StepperTrapezoidal_impl.hpp.
|
virtual |
Take the specified timestep, dt, and return true if successful.
Implements Tempus::Stepper< Scalar >.
Definition at line 75 of file Tempus_StepperTrapezoidal_impl.hpp.
| Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperTrapezoidal< Scalar >::unsetParameterList | ( | ) |
Definition at line 263 of file Tempus_StepperTrapezoidal_impl.hpp.
|
private |
Definition at line 102 of file Tempus_StepperTrapezoidal_decl.hpp.
|
private |
Definition at line 98 of file Tempus_StepperTrapezoidal_decl.hpp.
|
private |
Definition at line 99 of file Tempus_StepperTrapezoidal_decl.hpp.
|
private |
Definition at line 100 of file Tempus_StepperTrapezoidal_decl.hpp.
|
private |
Definition at line 101 of file Tempus_StepperTrapezoidal_decl.hpp.