|
Tempus
Version of the Day
Time Integration
|
Leapfrog time stepper. More...
#include <Tempus_StepperLeapfrog_decl.hpp>
Public Member Functions | |
| StepperLeapfrog (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 void | setInitialGuess (Teuchos::RCP< const Thyra::VectorBase< Scalar > > initial_guess) |
| Pass initial guess to Newton solver (only relevant for implicit solvers) 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 | setIsXDotXDotInitialized (bool tf) |
| virtual bool | getIsXDotXDotInitialized () const |
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< StepperLeapfrogObserver< Scalar > > | stepperLFObserver_ |
| Teuchos::RCP< const Thyra::VectorBase< Scalar > > | initial_guess_ |
| virtual std::string | description () const |
| virtual void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
| StepperLeapfrog () | |
| Default Constructor – not allowed. More... | |
Leapfrog time stepper.
For the governing equation,
one can write the explicit ODE system,
where
The Leapfrog stepper can be written as
where the position and velocity are leapfrogged over each other. On startup the velocity half-step can be obtained with
and to complete the time step, the final velocity half-step is obtained with
Algorithm
Beginning with
or
and/or ending with
or
, the algorithm for Leapfrog is





Definition at line 71 of file Tempus_StepperLeapfrog_decl.hpp.
| Tempus::StepperLeapfrog< Scalar >::StepperLeapfrog | ( | const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | appModel, |
| Teuchos::RCP< Teuchos::ParameterList > | pList = Teuchos::null |
||
| ) |
Constructor.
Definition at line 20 of file Tempus_StepperLeapfrog_impl.hpp.
|
private |
Default Constructor – not allowed.
|
virtual |
Definition at line 238 of file Tempus_StepperLeapfrog_impl.hpp.
|
virtual |
Definition at line 230 of file Tempus_StepperLeapfrog_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 286 of file Tempus_StepperLeapfrog_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 221 of file Tempus_StepperLeapfrog_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 118 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Definition at line 132 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 87 of file Tempus_StepperLeapfrog_decl.hpp.
| Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperLeapfrog< Scalar >::getNonconstParameterList | ( | ) |
Definition at line 296 of file Tempus_StepperLeapfrog_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 115 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 117 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 116 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Get solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 94 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 110 of file Tempus_StepperLeapfrog_decl.hpp.
| Teuchos::RCP< const Teuchos::ParameterList > Tempus::StepperLeapfrog< Scalar >::getValidParameters | ( | ) | const |
Definition at line 269 of file Tempus_StepperLeapfrog_impl.hpp.
|
virtual |
Initialize during construction and after changing input parameters.
Implements Tempus::Stepper< Scalar >.
Definition at line 101 of file Tempus_StepperLeapfrog_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 122 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 124 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 123 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 127 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 126 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Pass initial guess to Newton solver (only relevant for implicit solvers)
Implements Tempus::Stepper< Scalar >.
Definition at line 107 of file Tempus_StepperLeapfrog_decl.hpp.
|
inlinevirtual |
Definition at line 130 of file Tempus_StepperLeapfrog_decl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 31 of file Tempus_StepperLeapfrog_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 42 of file Tempus_StepperLeapfrog_impl.hpp.
|
virtual |
Set Observer.
Implements Tempus::Stepper< Scalar >.
Definition at line 81 of file Tempus_StepperLeapfrog_impl.hpp.
| void Tempus::StepperLeapfrog< Scalar >::setParameterList | ( | const Teuchos::RCP< Teuchos::ParameterList > & | pl | ) |
Definition at line 248 of file Tempus_StepperLeapfrog_impl.hpp.
|
virtual |
Set solver via ParameterList solver name.
Implements Tempus::Stepper< Scalar >.
Definition at line 49 of file Tempus_StepperLeapfrog_impl.hpp.
|
virtual |
Set solver via solver ParameterList.
Implements Tempus::Stepper< Scalar >.
Definition at line 59 of file Tempus_StepperLeapfrog_impl.hpp.
|
virtual |
Set solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 70 of file Tempus_StepperLeapfrog_impl.hpp.
|
virtual |
Take the specified timestep, dt, and return true if successful.
Implements Tempus::Stepper< Scalar >.
Definition at line 113 of file Tempus_StepperLeapfrog_impl.hpp.
| Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperLeapfrog< Scalar >::unsetParameterList | ( | ) |
Definition at line 304 of file Tempus_StepperLeapfrog_impl.hpp.
|
protected |
Explicit ODE ModelEvaluator.
Definition at line 160 of file Tempus_StepperLeapfrog_decl.hpp.
|
protected |
Definition at line 162 of file Tempus_StepperLeapfrog_decl.hpp.
|
protected |
Definition at line 168 of file Tempus_StepperLeapfrog_decl.hpp.
|
protected |
Definition at line 163 of file Tempus_StepperLeapfrog_decl.hpp.
|
protected |
Definition at line 166 of file Tempus_StepperLeapfrog_decl.hpp.
|
protected |
Definition at line 165 of file Tempus_StepperLeapfrog_decl.hpp.
|
protected |
Definition at line 158 of file Tempus_StepperLeapfrog_decl.hpp.