Tempus
Version of the Day
Time Integration
|
Newmark Explicit time stepper. More...
#include <Tempus_StepperNewmarkExplicitAForm_decl.hpp>
Public Member Functions | |
StepperNewmarkExplicitAForm () | |
Default constructor. More... | |
StepperNewmarkExplicitAForm (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel, Teuchos::RCP< Teuchos::ParameterList > pList=Teuchos::null) | |
Constructor. More... | |
void | predictVelocity (Thyra::VectorBase< Scalar > &vPred, const Thyra::VectorBase< Scalar > &v, const Thyra::VectorBase< Scalar > &a, const Scalar dt) const |
void | predictDisplacement (Thyra::VectorBase< Scalar > &dPred, const Thyra::VectorBase< Scalar > &d, const Thyra::VectorBase< Scalar > &v, const Thyra::VectorBase< Scalar > &a, const Scalar dt) const |
void | correctVelocity (Thyra::VectorBase< Scalar > &v, const Thyra::VectorBase< Scalar > &vPred, const Thyra::VectorBase< Scalar > &a, const Scalar dt) const |
Basic stepper methods | |
virtual void | setObserver (Teuchos::RCP< StepperObserver< Scalar > >=Teuchos::null) |
Set 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 | 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 > > &) 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 |
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 |
Overridden from Teuchos::Describable | |
virtual std::string | description () const |
virtual void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
Public Member Functions inherited from Tempus::StepperExplicit< 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 void | setInitialGuess (Teuchos::RCP< const Thyra::VectorBase< Scalar > >) |
Pass initial guess to Newton solver (only relevant for implicit solvers) More... | |
virtual bool | getEmbedded () const |
virtual void | setUseFSAL (bool a) |
virtual bool | getUseFSAL () const |
virtual void | setICConsistency (std::string s) |
virtual std::string | getICConsistency () const |
virtual void | setICConsistencyCheck (bool c) |
virtual bool | getICConsistencyCheck () const |
virtual void | setStepperX (Teuchos::RCP< Thyra::VectorBase< Scalar > > x) |
Set x for Stepper storage. More... | |
virtual void | setStepperXDot (Teuchos::RCP< Thyra::VectorBase< Scalar > > xDot) |
Set xDot for Stepper storage. More... | |
virtual void | setStepperXDotDot (Teuchos::RCP< Thyra::VectorBase< Scalar > > xDotDot) |
Set x for Stepper storage. More... | |
virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getStepperX (Teuchos::RCP< SolutionState< Scalar > > state) |
Get x from SolutionState or 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... | |
virtual void | evaluateExplicitODE (Teuchos::RCP< Thyra::VectorBase< Scalar > > xDot, Teuchos::RCP< const Thyra::VectorBase< Scalar > > x, const Scalar time) |
Evaluate xDot = f(x,t). More... | |
virtual void | evaluateExplicitODE (Teuchos::RCP< Thyra::VectorBase< Scalar > > xDotDot, Teuchos::RCP< const Thyra::VectorBase< Scalar > > x, Teuchos::RCP< const Thyra::VectorBase< Scalar > > xDot, const Scalar time) |
Evaluate xDotDot = f(x, xDot, t). More... | |
Public Member Functions inherited from Tempus::Stepper< Scalar > | |
virtual void | modelWarning () const |
void | getValidParametersBasic (Teuchos::RCP< Teuchos::ParameterList > pl) const |
virtual void | createSubSteppers (std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > >) |
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 |
Protected Attributes | |
Scalar | gamma_ |
Protected Attributes inherited from Tempus::StepperExplicit< Scalar > | |
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 < Thyra::VectorBase< Scalar > > | stepperX_ |
Teuchos::RCP < Thyra::VectorBase< Scalar > > | stepperXDot_ |
Teuchos::RCP < Thyra::VectorBase< Scalar > > | stepperXDotDot_ |
Newmark Explicit time stepper.
This is the specific case of the more general Newmark time stepper where this stepper is explicit ( ) (i.e., no solver used).
The governing equation is solved by this stepper is
For the A-form (i.e., solving for the acceleration, ), we have the following explicit ODE
where and .
Algorithm The algorithm for the Newmark explicit A-form is
The default for Forward Euler is to use FSAL (useFSAL=true).
Definition at line 58 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
Tempus::StepperNewmarkExplicitAForm< Scalar >::StepperNewmarkExplicitAForm | ( | ) |
Default constructor.
Definition at line 61 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
Tempus::StepperNewmarkExplicitAForm< Scalar >::StepperNewmarkExplicitAForm | ( | const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | appModel, |
Teuchos::RCP< Teuchos::ParameterList > | pList = Teuchos::null |
||
) |
Constructor.
Definition at line 69 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
void Tempus::StepperNewmarkExplicitAForm< Scalar >::correctVelocity | ( | Thyra::VectorBase< Scalar > & | v, |
const Thyra::VectorBase< Scalar > & | vPred, | ||
const Thyra::VectorBase< Scalar > & | a, | ||
const Scalar | dt | ||
) | const |
Definition at line 50 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
|
virtual |
Definition at line 318 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
|
virtual |
Definition at line 310 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 379 of file Tempus_StepperNewmarkExplicitAForm_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 301 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
|
inlinevirtual |
Reimplemented from Tempus::StepperExplicit< Scalar >.
Definition at line 104 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperNewmarkExplicitAForm< Scalar >::getNonconstParameterList | ( | ) |
Definition at line 394 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 98 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 103 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 102 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 115 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
|
inlinevirtual |
Reimplemented from Tempus::StepperExplicit< Scalar >.
Definition at line 93 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
Teuchos::RCP< const Teuchos::ParameterList > Tempus::StepperNewmarkExplicitAForm< Scalar >::getValidParameters | ( | ) | const |
Definition at line 360 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
|
virtual |
Initialize during construction and after changing input parameters.
Implements Tempus::Stepper< Scalar >.
Definition at line 86 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
|
inlinevirtual |
Reimplemented from Tempus::StepperExplicit< Scalar >.
Definition at line 108 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
|
inlinevirtual |
Reimplemented from Tempus::StepperExplicit< Scalar >.
Definition at line 110 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
|
inlinevirtual |
Reimplemented from Tempus::StepperExplicit< Scalar >.
Definition at line 109 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
|
inlinevirtual |
Reimplemented from Tempus::StepperExplicit< Scalar >.
Definition at line 113 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
|
inlinevirtual |
Reimplemented from Tempus::StepperExplicit< Scalar >.
Definition at line 112 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
void Tempus::StepperNewmarkExplicitAForm< Scalar >::predictDisplacement | ( | Thyra::VectorBase< Scalar > & | dPred, |
const Thyra::VectorBase< Scalar > & | d, | ||
const Thyra::VectorBase< Scalar > & | v, | ||
const Thyra::VectorBase< Scalar > & | a, | ||
const Scalar | dt | ||
) | const |
Definition at line 33 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
void Tempus::StepperNewmarkExplicitAForm< Scalar >::predictVelocity | ( | Thyra::VectorBase< Scalar > & | vPred, |
const Thyra::VectorBase< Scalar > & | v, | ||
const Thyra::VectorBase< Scalar > & | a, | ||
const Scalar | dt | ||
) | const |
Definition at line 22 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
|
virtual |
Set the initial conditions and make them consistent.
Reimplemented from Tempus::StepperExplicit< Scalar >.
Definition at line 97 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
|
inlinevirtual |
Set Observer.
Implements Tempus::Stepper< Scalar >.
Definition at line 79 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.
void Tempus::StepperNewmarkExplicitAForm< Scalar >::setParameterList | ( | const Teuchos::RCP< Teuchos::ParameterList > & | pl | ) |
Definition at line 328 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
|
virtual |
Take the specified timestep, dt, and return true if successful.
Implements Tempus::Stepper< Scalar >.
Definition at line 222 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperNewmarkExplicitAForm< Scalar >::unsetParameterList | ( | ) |
Definition at line 402 of file Tempus_StepperNewmarkExplicitAForm_impl.hpp.
|
protected |
Definition at line 152 of file Tempus_StepperNewmarkExplicitAForm_decl.hpp.