Rythmos - Transient Integration for Differential Equations Version of the Day
Loading...
Searching...
No Matches
Public Types | Related Functions | List of all members
Rythmos::BackwardEulerStepper< Scalar > Class Template Reference

Simple concrete stepper subclass implementing an implicit backward Euler method. More...

#include <Rythmos_BackwardEulerStepper_decl.hpp>

Inheritance diagram for Rythmos::BackwardEulerStepper< Scalar >:
Inheritance graph
[legend]

Public Types

typedef Teuchos::ScalarTraits< Scalar >::magnitudeType ScalarMag
 
- Public Types inherited from Rythmos::InterpolationBufferBase< Scalar >
typedef Teuchos::ScalarTraits< Scalar >::magnitudeType ScalarMag
 

Related Functions

(Note that these are not member functions.)

template<class Scalar >
RCP< BackwardEulerStepper< Scalar > > backwardEulerStepper ()
 Nonmember constructor.
 
template<class Scalar >
RCP< BackwardEulerStepper< Scalar > > backwardEulerStepper (const RCP< Thyra::ModelEvaluator< Scalar > > &model, const RCP< Thyra::NonlinearSolverBase< Scalar > > &solver)
 Nonmember constructor.
 

Momento functions.

RCP< const MomentoBase< Scalar > > getMomento () const
 Get momento object for use in restarts.
 
void setMomento (const Ptr< const MomentoBase< Scalar > > &momentoPtr, const RCP< Thyra::ModelEvaluator< Scalar > > &model, const RCP< Thyra::NonlinearSolverBase< Scalar > > &solver)
 Set momento object for use in restarts.
 

Constructors, initializers, Misc.

 BackwardEulerStepper ()
 
 BackwardEulerStepper (const RCP< Thyra::ModelEvaluator< Scalar > > &model, const RCP< Thyra::NonlinearSolverBase< Scalar > > &solver)
 

Overridden from InterpolatorAcceptingObjectBase

void setInterpolator (const RCP< InterpolatorBase< Scalar > > &interpolator)
 
RCP< InterpolatorBase< Scalar > > getNonconstInterpolator ()
 
RCP< const InterpolatorBase< Scalar > > getInterpolator () const
 
RCP< InterpolatorBase< Scalar > > unSetInterpolator ()
 

Overridden from StepControlStrategyAcceptingStepperBase

void setStepControlStrategy (const RCP< StepControlStrategyBase< Scalar > > &stepControlStrategy)
 
RCP< StepControlStrategyBase< Scalar > > getNonconstStepControlStrategy ()
 
RCP< const StepControlStrategyBase< Scalar > > getStepControlStrategy () const
 

Overridden from SolverAcceptingStepperBase

void setSolver (const RCP< Thyra::NonlinearSolverBase< Scalar > > &solver)
 
RCP< Thyra::NonlinearSolverBase< Scalar > > getNonconstSolver ()
 
RCP< const Thyra::NonlinearSolverBase< Scalar > > getSolver () const
 

Overridden from StepperBase

bool supportsCloning () const
 Returns true.
 
RCP< StepperBase< Scalar > > cloneStepperAlgorithm () const
 Creates copies of all internal data (including the parameter list) except the model which is assumed to stateless.
 
bool isImplicit () const
 
void setModel (const RCP< const Thyra::ModelEvaluator< Scalar > > &model)
 
void setNonconstModel (const RCP< Thyra::ModelEvaluator< Scalar > > &model)
 
RCP< const Thyra::ModelEvaluator< Scalar > > getModel () const
 
RCP< Thyra::ModelEvaluator< Scalar > > getNonconstModel ()
 
void setInitialCondition (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &initialCondition)
 
Thyra::ModelEvaluatorBase::InArgs< Scalar > getInitialCondition () const
 
Scalar takeStep (Scalar dt, StepSizeType flag)
 
const StepStatus< Scalar > getStepStatus () const
 

Overridden from InterpolationBufferBase

RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space () const
 
void addPoints (const Array< Scalar > &time_vec, const Array< RCP< const Thyra::VectorBase< Scalar > > > &x_vec, const Array< RCP< const Thyra::VectorBase< Scalar > > > &xdot_vec)
 
TimeRange< Scalar > getTimeRange () const
 
void getPoints (const Array< Scalar > &time_vec, Array< RCP< const Thyra::VectorBase< Scalar > > > *x_vec, Array< RCP< const Thyra::VectorBase< Scalar > > > *xdot_vec, Array< ScalarMag > *accuracy_vec) const
 
void getNodes (Array< Scalar > *time_vec) const
 
void removeNodes (Array< Scalar > &time_vec)
 
int getOrder () const
 

Overridden from Teuchos::ParameterListAcceptor

void setParameterList (RCP< Teuchos::ParameterList > const &paramList)
 
RCP< Teuchos::ParameterList > getNonconstParameterList ()
 
RCP< Teuchos::ParameterList > unsetParameterList ()
 
RCP< const Teuchos::ParameterList > getValidParameters () const
 

Overridden from Teuchos::Describable

void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 

Additional Inherited Members

- Public Member Functions inherited from Rythmos::SolverAcceptingStepperBase< Scalar >
virtual void setSolver (const Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > &solver)=0
 
virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > getNonconstSolver ()=0
 
virtual Teuchos::RCP< const Thyra::NonlinearSolverBase< Scalar > > getSolver () const =0
 
- Public Member Functions inherited from Rythmos::StepperBase< Scalar >
virtual bool supportsCloning () const
 Return if this stepper supports cloning or not.
 
virtual RCP< StepperBase< Scalar > > cloneStepperAlgorithm () const
 Clone the stepper object if supported.
 
virtual bool isImplicit () const
 Return if this stepper is an implicit stepper.
 
virtual bool acceptsModel () const
 Return if this stepper accepts a model.
 
virtual void setModel (const RCP< const Thyra::ModelEvaluator< Scalar > > &model)=0
 Specify the model problem to integrate.
 
virtual void setNonconstModel (const RCP< Thyra::ModelEvaluator< Scalar > > &model)=0
 Accept a nonconst model.
 
virtual bool modelIsConst () const
 Return of the model is only const or can be returned as a non-const object.
 
virtual RCP< const Thyra::ModelEvaluator< Scalar > > getModel () const =0
 Get the model.
 
virtual RCP< Thyra::ModelEvaluator< Scalar > > getNonconstModel ()=0
 Get the model nonconst.
 
virtual void setInitialCondition (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &initialCondition)=0
 Specify initial condition and re-initialize.
 
virtual Thyra::ModelEvaluatorBase::InArgs< Scalar > getInitialCondition () const =0
 Get the currently set initial condtion.
 
virtual Scalar takeStep (Scalar dt, StepSizeType stepType)=0
 Take a step.
 
virtual const StepStatus< Scalar > getStepStatus () const =0
 Get current stepper status after a step has been taken.
 
virtual void setStepControlData (const StepperBase &stepper)
 Set step control data from another stepper.
 
virtual RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space () const =0
 Return the space for x and x_dot.
 
virtual void addPoints (const Array< Scalar > &time_vec, const Array< RCP< const Thyra::VectorBase< Scalar > > > &x_vec, const Array< RCP< const Thyra::VectorBase< Scalar > > > &xdot_vec)=0
 Add points to the buffer.
 
virtual TimeRange< Scalar > getTimeRange () const =0
 Return the range of time values where interpolation calls can be performed.
 
virtual void getPoints (const Array< Scalar > &time_vec, Array< RCP< const Thyra::VectorBase< Scalar > > > *x_vec, Array< RCP< const Thyra::VectorBase< Scalar > > > *xdot_vec, Array< ScalarMag > *accuracy_vec) const =0
 Get values from the buffer at different time points.
 
virtual void getNodes (Array< Scalar > *time_vec) const =0
 Get interpolation nodes.
 
virtual void removeNodes (Array< Scalar > &time_vec)=0
 Remove nodes from the interpolation buffer.
 
virtual int getOrder () const =0
 Get order of interpolation.
 
- Public Member Functions inherited from Rythmos::StepControlStrategyAcceptingStepperBase< Scalar >
virtual void setStepControlStrategy (const Teuchos::RCP< StepControlStrategyBase< Scalar > > &stepControlStrategy)=0
 
virtual Teuchos::RCP< StepControlStrategyBase< Scalar > > getNonconstStepControlStrategy ()=0
 
virtual Teuchos::RCP< const StepControlStrategyBase< Scalar > > getStepControlStrategy () const =0
 
- Public Member Functions inherited from Rythmos::InterpolatorAcceptingObjectBase< Scalar >
virtual ~InterpolatorAcceptingObjectBase ()
 
virtual void setInterpolator (const RCP< InterpolatorBase< Scalar > > &interpolator)=0
 
virtual RCP< InterpolatorBase< Scalar > > getNonconstInterpolator ()=0
 
virtual RCP< const InterpolatorBase< Scalar > > getInterpolator () const =0
 
virtual RCP< InterpolatorBase< Scalar > > unSetInterpolator ()=0
 

Detailed Description

template<class Scalar>
class Rythmos::BackwardEulerStepper< Scalar >

Simple concrete stepper subclass implementing an implicit backward Euler method.

This class exists primarily as a simple example of an implicit time stepper and as a vehicle for experimentation. The ImplicitBDFStepper also implements backward Euler and is a more powerful stepper class. This class does not implement a local truncation error test and therefore also does not handle the automatic step size selection. Therefore, if you need these features, you should really use the ImplicitBDFStepper class.

Definition at line 283 of file Rythmos_BackwardEulerStepper_decl.hpp.

Member Typedef Documentation

◆ ScalarMag

template<class Scalar >
typedef Teuchos::ScalarTraits<Scalar>::magnitudeType Rythmos::BackwardEulerStepper< Scalar >::ScalarMag

Definition at line 291 of file Rythmos_BackwardEulerStepper_decl.hpp.

Constructor & Destructor Documentation

◆ BackwardEulerStepper() [1/2]

template<class Scalar >
Rythmos::BackwardEulerStepper< Scalar >::BackwardEulerStepper

Definition at line 77 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ BackwardEulerStepper() [2/2]

template<class Scalar >
Rythmos::BackwardEulerStepper< Scalar >::BackwardEulerStepper ( const RCP< Thyra::ModelEvaluator< Scalar > > &  model,
const RCP< Thyra::NonlinearSolverBase< Scalar > > &  solver 
)

Definition at line 87 of file Rythmos_BackwardEulerStepper_def.hpp.

Member Function Documentation

◆ setInterpolator()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::setInterpolator ( const RCP< InterpolatorBase< Scalar > > &  interpolator)
virtual

◆ getNonconstInterpolator()

template<class Scalar >
RCP< InterpolatorBase< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::getNonconstInterpolator
virtual

◆ getInterpolator()

template<class Scalar >
RCP< const InterpolatorBase< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::getInterpolator
virtual

◆ unSetInterpolator()

template<class Scalar >
RCP< InterpolatorBase< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::unSetInterpolator
virtual

◆ setStepControlStrategy()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::setStepControlStrategy ( const RCP< StepControlStrategyBase< Scalar > > &  stepControlStrategy)

Definition at line 359 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ getNonconstStepControlStrategy()

template<class Scalar >
RCP< StepControlStrategyBase< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::getNonconstStepControlStrategy
virtual

◆ getStepControlStrategy()

template<class Scalar >
RCP< const StepControlStrategyBase< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::getStepControlStrategy
virtual

◆ setSolver()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::setSolver ( const RCP< Thyra::NonlinearSolverBase< Scalar > > &  solver)

Definition at line 169 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ getNonconstSolver()

template<class Scalar >
RCP< Thyra::NonlinearSolverBase< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::getNonconstSolver
virtual

◆ getSolver()

template<class Scalar >
RCP< const Thyra::NonlinearSolverBase< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::getSolver
virtual

◆ supportsCloning()

template<class Scalar >
bool Rythmos::BackwardEulerStepper< Scalar >::supportsCloning
virtual

Returns true.

Reimplemented from Rythmos::StepperBase< Scalar >.

Definition at line 213 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ cloneStepperAlgorithm()

template<class Scalar >
RCP< StepperBase< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::cloneStepperAlgorithm
virtual

Creates copies of all internal data (including the parameter list) except the model which is assumed to stateless.

If a shallow copy of the model is not appropirate for some reasone, then the client can simply reset the model using returnVal->setModel().

Reimplemented from Rythmos::StepperBase< Scalar >.

Definition at line 221 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ isImplicit()

template<class Scalar >
bool Rythmos::BackwardEulerStepper< Scalar >::isImplicit
virtual

Reimplemented from Rythmos::StepperBase< Scalar >.

Definition at line 254 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ setModel()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::setModel ( const RCP< const Thyra::ModelEvaluator< Scalar > > &  model)
virtual

◆ setNonconstModel()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::setNonconstModel ( const RCP< Thyra::ModelEvaluator< Scalar > > &  model)
virtual

◆ getModel()

template<class Scalar >
RCP< const Thyra::ModelEvaluator< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::getModel
virtual

◆ getNonconstModel()

template<class Scalar >
RCP< Thyra::ModelEvaluator< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::getNonconstModel
virtual

◆ setInitialCondition()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::setInitialCondition ( const Thyra::ModelEvaluatorBase::InArgs< Scalar > &  initialCondition)
virtual

◆ getInitialCondition()

template<class Scalar >
Thyra::ModelEvaluatorBase::InArgs< Scalar > Rythmos::BackwardEulerStepper< Scalar >::getInitialCondition
virtual

◆ takeStep()

template<class Scalar >
Scalar Rythmos::BackwardEulerStepper< Scalar >::takeStep ( Scalar  dt,
StepSizeType  flag 
)
virtual

◆ getStepStatus()

template<class Scalar >
const StepStatus< Scalar > Rythmos::BackwardEulerStepper< Scalar >::getStepStatus
virtual

◆ get_x_space()

template<class Scalar >
RCP< const Thyra::VectorSpaceBase< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::get_x_space
virtual

◆ addPoints()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::addPoints ( const Array< Scalar > &  time_vec,
const Array< RCP< const Thyra::VectorBase< Scalar > > > &  x_vec,
const Array< RCP< const Thyra::VectorBase< Scalar > > > &  xdot_vec 
)
virtual

◆ getTimeRange()

template<class Scalar >
TimeRange< Scalar > Rythmos::BackwardEulerStepper< Scalar >::getTimeRange
virtual

◆ getPoints()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::getPoints ( const Array< Scalar > &  time_vec,
Array< RCP< const Thyra::VectorBase< Scalar > > > *  x_vec,
Array< RCP< const Thyra::VectorBase< Scalar > > > *  xdot_vec,
Array< ScalarMag > *  accuracy_vec 
) const
virtual

◆ getNodes()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::getNodes ( Array< Scalar > *  time_vec) const
virtual

◆ removeNodes()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::removeNodes ( Array< Scalar > &  time_vec)
virtual

◆ getOrder()

template<class Scalar >
int Rythmos::BackwardEulerStepper< Scalar >::getOrder
virtual

◆ setParameterList()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::setParameterList ( RCP< Teuchos::ParameterList > const &  paramList)

Definition at line 876 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ getNonconstParameterList()

template<class Scalar >
RCP< Teuchos::ParameterList > Rythmos::BackwardEulerStepper< Scalar >::getNonconstParameterList

Definition at line 889 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ unsetParameterList()

template<class Scalar >
RCP< Teuchos::ParameterList > Rythmos::BackwardEulerStepper< Scalar >::unsetParameterList

Definition at line 897 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ getValidParameters()

template<class Scalar >
RCP< const Teuchos::ParameterList > Rythmos::BackwardEulerStepper< Scalar >::getValidParameters

Definition at line 908 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ describe()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::describe ( Teuchos::FancyOStream &  out,
const Teuchos::EVerbosityLevel  verbLevel 
) const

Definition at line 927 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ getMomento()

template<class Scalar >
RCP< const MomentoBase< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::getMomento

Get momento object for use in restarts.

Definition at line 1034 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ setMomento()

template<class Scalar >
void Rythmos::BackwardEulerStepper< Scalar >::setMomento ( const Ptr< const MomentoBase< Scalar > > &  momentoPtr,
const RCP< Thyra::ModelEvaluator< Scalar > > &  model,
const RCP< Thyra::NonlinearSolverBase< Scalar > > &  solver 
)

Set momento object for use in restarts.

Definition at line 1060 of file Rythmos_BackwardEulerStepper_def.hpp.

Friends And Related Function Documentation

◆ backwardEulerStepper() [1/2]

template<class Scalar >
RCP< BackwardEulerStepper< Scalar > > backwardEulerStepper ( )
related

Nonmember constructor.

Definition at line 63 of file Rythmos_BackwardEulerStepper_def.hpp.

◆ backwardEulerStepper() [2/2]

template<class Scalar >
RCP< BackwardEulerStepper< Scalar > > backwardEulerStepper ( const RCP< Thyra::ModelEvaluator< Scalar > > &  model,
const RCP< Thyra::NonlinearSolverBase< Scalar > > &  solver 
)
related

Nonmember constructor.

Definition at line 53 of file Rythmos_BackwardEulerStepper_def.hpp.


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