|
Tempus
Version of the Day
Time Integration
|
Forward Euler time stepper. More...
#include <Tempus_StepperForwardEuler_decl.hpp>
Public Member Functions | |
| StepperForwardEuler (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel, Teuchos::RCP< Teuchos::ParameterList > pList=Teuchos::null) | |
| Constructor. More... | |
Basic stepper methods | |
| 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 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 std::string | getStepperType () const |
| 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 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 void | setInitialGuess (Teuchos::RCP< const Thyra::VectorBase< Scalar > > initial_guess) |
| Pass initial guess to Newton solver (only relevant for implicit solvers) 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::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< Teuchos::ParameterList > | stepperPL_ |
| Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | appModel_ |
| Explicit ODE ModelEvaluator. More... | |
| Thyra::ModelEvaluatorBase::InArgs< Scalar > | inArgs_ |
| Thyra::ModelEvaluatorBase::OutArgs< Scalar > | outArgs_ |
| Teuchos::RCP< StepperObserver< Scalar > > | stepperObserver_ |
| Teuchos::RCP< StepperForwardEulerObserver< Scalar > > | stepperFEObserver_ |
| 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 |
| StepperForwardEuler () | |
| Default Constructor – not allowed. More... | |
Forward Euler time stepper.
For the explicit ODE system,
the Forward Euler stepper can be written as
Forward Euler is an explicit time stepper (i.e., no solver used). Note that the time derivative by definition is
Algorithm The single-timestep algorithm for Forward Euler is simply,


[Optional] Definition at line 42 of file Tempus_StepperForwardEuler_decl.hpp.
| Tempus::StepperForwardEuler< Scalar >::StepperForwardEuler | ( | const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | appModel, |
| Teuchos::RCP< Teuchos::ParameterList > | pList = Teuchos::null |
||
| ) |
Constructor.
Definition at line 20 of file Tempus_StepperForwardEuler_impl.hpp.
|
private |
Default Constructor – not allowed.
|
virtual |
Definition at line 205 of file Tempus_StepperForwardEuler_impl.hpp.
|
virtual |
Definition at line 197 of file Tempus_StepperForwardEuler_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 249 of file Tempus_StepperForwardEuler_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 188 of file Tempus_StepperForwardEuler_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 85 of file Tempus_StepperForwardEuler_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 58 of file Tempus_StepperForwardEuler_decl.hpp.
| Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperForwardEuler< Scalar >::getNonconstParameterList | ( | ) |
Definition at line 259 of file Tempus_StepperForwardEuler_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 82 of file Tempus_StepperForwardEuler_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 84 of file Tempus_StepperForwardEuler_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 83 of file Tempus_StepperForwardEuler_decl.hpp.
|
inlinevirtual |
Get solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 65 of file Tempus_StepperForwardEuler_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 77 of file Tempus_StepperForwardEuler_decl.hpp.
| Teuchos::RCP< const Teuchos::ParameterList > Tempus::StepperForwardEuler< Scalar >::getValidParameters | ( | ) | const |
Definition at line 236 of file Tempus_StepperForwardEuler_impl.hpp.
|
virtual |
Provide temporary xDot memory for Stepper if SolutionState doesn't.
Definition at line 170 of file Tempus_StepperForwardEuler_impl.hpp.
|
virtual |
Initialize during construction and after changing input parameters.
Implements Tempus::Stepper< Scalar >.
Definition at line 101 of file Tempus_StepperForwardEuler_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 89 of file Tempus_StepperForwardEuler_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 91 of file Tempus_StepperForwardEuler_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 90 of file Tempus_StepperForwardEuler_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 94 of file Tempus_StepperForwardEuler_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 93 of file Tempus_StepperForwardEuler_decl.hpp.
|
inlinevirtual |
Pass initial guess to Newton solver (only relevant for implicit solvers)
Implements Tempus::Stepper< Scalar >.
Definition at line 98 of file Tempus_StepperForwardEuler_decl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 31 of file Tempus_StepperForwardEuler_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 42 of file Tempus_StepperForwardEuler_impl.hpp.
|
virtual |
Set Observer.
Implements Tempus::Stepper< Scalar >.
Definition at line 81 of file Tempus_StepperForwardEuler_impl.hpp.
| void Tempus::StepperForwardEuler< Scalar >::setParameterList | ( | const Teuchos::RCP< Teuchos::ParameterList > & | pl | ) |
Definition at line 215 of file Tempus_StepperForwardEuler_impl.hpp.
|
virtual |
Set solver via ParameterList solver name.
Implements Tempus::Stepper< Scalar >.
Definition at line 49 of file Tempus_StepperForwardEuler_impl.hpp.
|
virtual |
Set solver via solver ParameterList.
Implements Tempus::Stepper< Scalar >.
Definition at line 59 of file Tempus_StepperForwardEuler_impl.hpp.
|
virtual |
Set solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 70 of file Tempus_StepperForwardEuler_impl.hpp.
|
virtual |
Take the specified timestep, dt, and return true if successful.
Implements Tempus::Stepper< Scalar >.
Definition at line 113 of file Tempus_StepperForwardEuler_impl.hpp.
| Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperForwardEuler< Scalar >::unsetParameterList | ( | ) |
Definition at line 267 of file Tempus_StepperForwardEuler_impl.hpp.
|
protected |
Explicit ODE ModelEvaluator.
Definition at line 130 of file Tempus_StepperForwardEuler_decl.hpp.
|
protected |
Definition at line 132 of file Tempus_StepperForwardEuler_decl.hpp.
|
protected |
Definition at line 139 of file Tempus_StepperForwardEuler_decl.hpp.
|
protected |
Definition at line 133 of file Tempus_StepperForwardEuler_decl.hpp.
|
protected |
Definition at line 136 of file Tempus_StepperForwardEuler_decl.hpp.
|
protected |
Definition at line 135 of file Tempus_StepperForwardEuler_decl.hpp.
|
protected |
Definition at line 128 of file Tempus_StepperForwardEuler_decl.hpp.
|
protected |
Definition at line 138 of file Tempus_StepperForwardEuler_decl.hpp.