Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Tempus::StepperImplicit< Scalar > Class Template Referenceabstract

Thyra Base interface for implicit time steppers. More...

#include <Tempus_StepperImplicit_decl.hpp>

Inheritance diagram for Tempus::StepperImplicit< Scalar >:
Tempus::Stepper< Scalar > Tempus::StepperBackwardEuler< Scalar > Tempus::StepperBDF2< Scalar > Tempus::StepperDIRK< Scalar > Tempus::StepperHHTAlpha< Scalar > Tempus::StepperIMEX_RK< Scalar > Tempus::StepperIMEX_RK_Partition< Scalar > Tempus::StepperNewmarkImplicitAForm< Scalar > Tempus::StepperNewmarkImplicitDForm< Scalar > Tempus::StepperTrapezoidal< Scalar >

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_
 

Detailed Description

template<class Scalar>
class Tempus::StepperImplicit< Scalar >

Thyra Base interface for implicit time steppers.

Definition at line 52 of file Tempus_StepperImplicit_decl.hpp.

Member Function Documentation

template<class Scalar >
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.

template<class Scalar >
virtual Scalar Tempus::StepperImplicit< Scalar >::getInitTimeStep ( const Teuchos::RCP< SolutionHistory< Scalar > > &  ) const
inlinevirtual

Implements Tempus::Stepper< Scalar >.

Definition at line 110 of file Tempus_StepperImplicit_decl.hpp.

template<class Scalar >
virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> > Tempus::StepperImplicit< Scalar >::getModel ( )
inlinevirtual
template<class Scalar >
virtual Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> > Tempus::StepperImplicit< Scalar >::getSolver ( ) const
inlinevirtual

Get solver.

Implements Tempus::Stepper< Scalar >.

Definition at line 70 of file Tempus_StepperImplicit_decl.hpp.

template<class Scalar >
Teuchos::RCP< Thyra::VectorBase< Scalar > > Tempus::StepperImplicit< Scalar >::getStepperXDot ( Teuchos::RCP< SolutionState< Scalar > >  state)
virtual

Get xDot from SolutionState or Stepper storage.

Definition at line 254 of file Tempus_StepperImplicit_impl.hpp.

template<class Scalar >
Teuchos::RCP< Thyra::VectorBase< Scalar > > Tempus::StepperImplicit< Scalar >::getStepperXDotDot ( Teuchos::RCP< SolutionState< Scalar > >  state)
virtual

Get xDotDot from SolutionState or Stepper storage.

Definition at line 271 of file Tempus_StepperImplicit_impl.hpp.

template<class Scalar >
virtual Teuchos::RCP<const WrapperModelEvaluator<Scalar> > Tempus::StepperImplicit< Scalar >::getWrapperModel ( )
inlinevirtual

Definition at line 65 of file Tempus_StepperImplicit_decl.hpp.

template<class Scalar >
virtual bool Tempus::StepperImplicit< Scalar >::getZeroInitialGuess ( ) const
inlinevirtual

Definition at line 108 of file Tempus_StepperImplicit_decl.hpp.

template<class Scalar >
virtual void Tempus::StepperImplicit< Scalar >::setInitialGuess ( Teuchos::RCP< const Thyra::VectorBase< Scalar > >  initial_guess)
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.

template<class Scalar >
void Tempus::StepperImplicit< Scalar >::setModel ( const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &  appModel)
virtual
template<class Scalar >
void Tempus::StepperImplicit< Scalar >::setNonConstModel ( const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &  appModel)
virtual

Implements Tempus::Stepper< Scalar >.

Definition at line 36 of file Tempus_StepperImplicit_impl.hpp.

template<class Scalar >
void Tempus::StepperImplicit< Scalar >::setSolver ( Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > >  solver = Teuchos::null)
virtual

Set solver.

Implements Tempus::Stepper< Scalar >.

Definition at line 234 of file Tempus_StepperImplicit_impl.hpp.

template<class Scalar >
virtual void Tempus::StepperImplicit< Scalar >::setStepperXDot ( Teuchos::RCP< Thyra::VectorBase< Scalar > >  xDot)
inlinevirtual

Set xDot for Stepper storage.

Definition at line 115 of file Tempus_StepperImplicit_decl.hpp.

template<class Scalar >
virtual void Tempus::StepperImplicit< Scalar >::setZeroInitialGuess ( bool  zIG)
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.

template<class Scalar >
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.

template<class Scalar >
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.

Member Data Documentation

template<class Scalar >
Teuchos::RCP<const Thyra::VectorBase<Scalar> > Tempus::StepperImplicit< Scalar >::initial_guess_
protected

Definition at line 131 of file Tempus_StepperImplicit_decl.hpp.

template<class Scalar >
Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> > Tempus::StepperImplicit< Scalar >::solver_
protected

Definition at line 130 of file Tempus_StepperImplicit_decl.hpp.

template<class Scalar >
Teuchos::RCP<StepperObserver<Scalar> > Tempus::StepperImplicit< Scalar >::stepperObserver_
protected

Definition at line 134 of file Tempus_StepperImplicit_decl.hpp.

template<class Scalar >
Teuchos::RCP<Thyra::VectorBase<Scalar> > Tempus::StepperImplicit< Scalar >::stepperXDot_
protected

Definition at line 137 of file Tempus_StepperImplicit_decl.hpp.

template<class Scalar >
Teuchos::RCP<Thyra::VectorBase<Scalar> > Tempus::StepperImplicit< Scalar >::stepperXDotDot_
protected

Definition at line 138 of file Tempus_StepperImplicit_decl.hpp.

template<class Scalar >
Teuchos::RCP<WrapperModelEvaluator<Scalar> > Tempus::StepperImplicit< Scalar >::wrapperModel_
protected

Definition at line 129 of file Tempus_StepperImplicit_decl.hpp.

template<class Scalar >
bool Tempus::StepperImplicit< Scalar >::zeroInitialGuess_
protected

Definition at line 132 of file Tempus_StepperImplicit_decl.hpp.


The documentation for this class was generated from the following files: