Tempus
Version of the Day
Time Integration
|
Thyra Base interface for implicit time steppers. More...
#include <Tempus_StepperImplicit_decl.hpp>
Public Member Functions | |
Basic implicit 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 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... | |
virtual void | setInitialConditions (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) |
Set the initial conditions and make them consistent. More... | |
virtual Scalar | getAlpha (const Scalar dt) const =0 |
Return alpha = d(xDot)/dx. More... | |
virtual Scalar | getBeta (const Scalar dt) const =0 |
Return beta = d(x)/dx. 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 > | |
virtual Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const =0 |
virtual void | setObserver (Teuchos::RCP< StepperObserver< Scalar > > obs=Teuchos::null)=0 |
Set Observer. More... | |
virtual Teuchos::RCP < StepperObserver< Scalar > > | getObserver () const =0 |
Get Observer. More... | |
virtual void | initialize ()=0 |
Initialize during construction and after changing input parameters. More... | |
virtual void | takeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory)=0 |
Take the specified timestep, dt, and return true if successful. More... | |
virtual Teuchos::RCP < Tempus::StepperState< Scalar > > | getDefaultStepperState ()=0 |
virtual Scalar | getOrder () const =0 |
virtual Scalar | getOrderMin () const =0 |
virtual Scalar | getOrderMax () const =0 |
virtual bool | isExplicit () const =0 |
virtual bool | isImplicit () const =0 |
virtual bool | isExplicitImplicit () const =0 |
virtual bool | isOneStepMethod () const =0 |
virtual bool | isMultiStepMethod () const =0 |
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 bool | getICConsistencyCheckDefault () const |
virtual OrderODE | getOrderODE () const =0 |
virtual std::string | description () const |
virtual void | createSubSteppers (std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > >) |
Protected Attributes | |
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_ |
Thyra Base interface for implicit time steppers.
Definition at line 52 of file Tempus_StepperImplicit_decl.hpp.
void Tempus::StepperImplicit< Scalar >::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).
Definition at line 347 of file Tempus_StepperImplicit_impl.hpp.
|
pure virtual |
Return alpha = d(xDot)/dx.
Implemented in Tempus::StepperIMEX_RK< Scalar >, Tempus::StepperIMEX_RK_Partition< Scalar >, Tempus::StepperDIRK< Scalar >, Tempus::StepperNewmarkImplicitAForm< Scalar >, Tempus::StepperNewmarkImplicitDForm< Scalar >, Tempus::StepperBDF2< Scalar >, Tempus::StepperHHTAlpha< Scalar >, Tempus::StepperBackwardEuler< Scalar >, and Tempus::StepperTrapezoidal< Scalar >.
|
pure virtual |
Return beta = d(x)/dx.
Implemented in Tempus::StepperIMEX_RK< Scalar >, Tempus::StepperIMEX_RK_Partition< Scalar >, Tempus::StepperDIRK< Scalar >, Tempus::StepperNewmarkImplicitAForm< Scalar >, Tempus::StepperBDF2< Scalar >, Tempus::StepperNewmarkImplicitDForm< Scalar >, Tempus::StepperHHTAlpha< Scalar >, Tempus::StepperBackwardEuler< Scalar >, and Tempus::StepperTrapezoidal< Scalar >.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 110 of file Tempus_StepperImplicit_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Reimplemented in Tempus::StepperIMEX_RK< Scalar >, and Tempus::StepperIMEX_RK_Partition< Scalar >.
Definition at line 63 of file Tempus_StepperImplicit_decl.hpp.
|
inlinevirtual |
Get solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 70 of file Tempus_StepperImplicit_decl.hpp.
|
virtual |
Get xDot from SolutionState or Stepper storage.
Definition at line 254 of file Tempus_StepperImplicit_impl.hpp.
|
virtual |
Get xDotDot from SolutionState or Stepper storage.
Definition at line 271 of file Tempus_StepperImplicit_impl.hpp.
|
inlinevirtual |
Definition at line 65 of file Tempus_StepperImplicit_decl.hpp.
|
inlinevirtual |
Definition at line 108 of file Tempus_StepperImplicit_decl.hpp.
|
virtual |
Set the initial conditions and make them consistent.
Implements Tempus::Stepper< Scalar >.
Reimplemented in Tempus::StepperIMEX_RK< Scalar >, Tempus::StepperIMEX_RK_Partition< Scalar >, Tempus::StepperNewmarkImplicitAForm< Scalar >, Tempus::StepperDIRK< Scalar >, Tempus::StepperBDF2< Scalar >, Tempus::StepperHHTAlpha< Scalar >, Tempus::StepperNewmarkImplicitDForm< Scalar >, Tempus::StepperBackwardEuler< Scalar >, and Tempus::StepperTrapezoidal< Scalar >.
Definition at line 44 of file Tempus_StepperImplicit_impl.hpp.
|
inlinevirtual |
Pass initial guess to Newton solver (only relevant for implicit solvers)
Implements Tempus::Stepper< Scalar >.
Definition at line 102 of file Tempus_StepperImplicit_decl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Reimplemented in Tempus::StepperIMEX_RK< Scalar >, Tempus::StepperIMEX_RK_Partition< Scalar >, Tempus::StepperNewmarkImplicitAForm< Scalar >, and Tempus::StepperHHTAlpha< Scalar >.
Definition at line 26 of file Tempus_StepperImplicit_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 36 of file Tempus_StepperImplicit_impl.hpp.
|
virtual |
Set solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 234 of file Tempus_StepperImplicit_impl.hpp.
|
inlinevirtual |
Set xDot for Stepper storage.
Definition at line 115 of file Tempus_StepperImplicit_decl.hpp.
|
inlinevirtual |
Set parameter so that the initial guess is set to zero (=True) or use last timestep (=False).
Definition at line 107 of file Tempus_StepperImplicit_decl.hpp.
const Thyra::SolveStatus< Scalar > Tempus::StepperImplicit< Scalar >::solveImplicitODE | ( | const Teuchos::RCP< Thyra::VectorBase< Scalar > > & | x | ) |
Solve problem using x in-place. (Needs to be deprecated!)
Definition at line 287 of file Tempus_StepperImplicit_impl.hpp.
const Thyra::SolveStatus< Scalar > Tempus::StepperImplicit< 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.
Definition at line 301 of file Tempus_StepperImplicit_impl.hpp.
|
protected |
Definition at line 131 of file Tempus_StepperImplicit_decl.hpp.
|
protected |
Definition at line 130 of file Tempus_StepperImplicit_decl.hpp.
|
protected |
Definition at line 134 of file Tempus_StepperImplicit_decl.hpp.
|
protected |
Definition at line 137 of file Tempus_StepperImplicit_decl.hpp.
|
protected |
Definition at line 138 of file Tempus_StepperImplicit_decl.hpp.
|
protected |
Definition at line 129 of file Tempus_StepperImplicit_decl.hpp.
|
protected |
Definition at line 132 of file Tempus_StepperImplicit_decl.hpp.