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

Stepper class for theta integration scheme common in SNL thermal/fluids codes. More...

#include <Rythmos_ThetaStepper_decl.hpp>

Inheritance diagram for Rythmos::ThetaStepper< 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< ThetaStepper< Scalar > > thetaStepper (const RCP< Thyra::ModelEvaluator< Scalar > > &model, const RCP< Thyra::NonlinearSolverBase< Scalar > > &solver, RCP< Teuchos::ParameterList > &parameterList)
 Nonmember constructor.
 

Overridden from Teuchos::Describable

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

Constructors, intializers, Misc.

 ThetaStepper ()
 
bool isImplicit () const
 Return if this stepper is an implicit stepper.
 
void setInterpolator (const RCP< InterpolatorBase< Scalar > > &interpolator)
 Redefined from InterpolatorAcceptingObjectBase.
 
RCP< InterpolatorBase< Scalar > > getNonconstInterpolator ()
 
RCP< const InterpolatorBase< Scalar > > getInterpolator () const
 
RCP< InterpolatorBase< Scalar > > unSetInterpolator ()
 

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.
 
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
 

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::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::ThetaStepper< Scalar >

Stepper class for theta integration scheme common in SNL thermal/fluids codes.

Definition at line 79 of file Rythmos_ThetaStepper_decl.hpp.

Member Typedef Documentation

◆ ScalarMag

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

Definition at line 86 of file Rythmos_ThetaStepper_decl.hpp.

Constructor & Destructor Documentation

◆ ThetaStepper()

template<class Scalar >
Rythmos::ThetaStepper< Scalar >::ThetaStepper ( )

Member Function Documentation

◆ isImplicit()

template<class Scalar >
bool Rythmos::ThetaStepper< Scalar >::isImplicit ( ) const
virtual

Return if this stepper is an implicit stepper.

The default implemntation returns false and therefore, by default, a stepper is considered to be an excplicit stepper.

Reimplemented from Rythmos::StepperBase< Scalar >.

◆ setInterpolator()

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

◆ getNonconstInterpolator()

template<class Scalar >
RCP< InterpolatorBase< Scalar > > Rythmos::ThetaStepper< Scalar >::getNonconstInterpolator ( )
virtual

◆ getInterpolator()

template<class Scalar >
RCP< const InterpolatorBase< Scalar > > Rythmos::ThetaStepper< Scalar >::getInterpolator ( ) const
virtual

◆ unSetInterpolator()

template<class Scalar >
RCP< InterpolatorBase< Scalar > > Rythmos::ThetaStepper< Scalar >::unSetInterpolator ( )
virtual

◆ setSolver()

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

◆ getNonconstSolver()

template<class Scalar >
RCP< Thyra::NonlinearSolverBase< Scalar > > Rythmos::ThetaStepper< Scalar >::getNonconstSolver ( )
virtual

◆ getSolver()

template<class Scalar >
RCP< const Thyra::NonlinearSolverBase< Scalar > > Rythmos::ThetaStepper< Scalar >::getSolver ( ) const
virtual

◆ supportsCloning()

template<class Scalar >
bool Rythmos::ThetaStepper< Scalar >::supportsCloning ( ) const
virtual

Returns true.

Reimplemented from Rythmos::StepperBase< Scalar >.

◆ cloneStepperAlgorithm()

template<class Scalar >
RCP< StepperBase< Scalar > > Rythmos::ThetaStepper< Scalar >::cloneStepperAlgorithm ( ) const
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 >.

◆ setModel()

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

◆ setNonconstModel()

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

◆ getModel()

template<class Scalar >
RCP< const Thyra::ModelEvaluator< Scalar > > Rythmos::ThetaStepper< Scalar >::getModel ( ) const
virtual

◆ getNonconstModel()

template<class Scalar >
RCP< Thyra::ModelEvaluator< Scalar > > Rythmos::ThetaStepper< Scalar >::getNonconstModel ( )
virtual

◆ setInitialCondition()

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

◆ getInitialCondition()

template<class Scalar >
Thyra::ModelEvaluatorBase::InArgs< Scalar > Rythmos::ThetaStepper< Scalar >::getInitialCondition ( ) const
virtual

◆ takeStep()

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

◆ getStepStatus()

template<class Scalar >
const StepStatus< Scalar > Rythmos::ThetaStepper< Scalar >::getStepStatus ( ) const
virtual

◆ get_x_space()

template<class Scalar >
RCP< const Thyra::VectorSpaceBase< Scalar > > Rythmos::ThetaStepper< Scalar >::get_x_space ( ) const
virtual

◆ addPoints()

template<class Scalar >
void Rythmos::ThetaStepper< 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::ThetaStepper< Scalar >::getTimeRange ( ) const
virtual

◆ getPoints()

template<class Scalar >
void Rythmos::ThetaStepper< 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::ThetaStepper< Scalar >::getNodes ( Array< Scalar > *  time_vec) const
virtual

◆ removeNodes()

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

◆ getOrder()

template<class Scalar >
int Rythmos::ThetaStepper< Scalar >::getOrder ( ) const
virtual

◆ setParameterList()

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

◆ getNonconstParameterList()

template<class Scalar >
RCP< Teuchos::ParameterList > Rythmos::ThetaStepper< Scalar >::getNonconstParameterList ( )

◆ unsetParameterList()

template<class Scalar >
RCP< Teuchos::ParameterList > Rythmos::ThetaStepper< Scalar >::unsetParameterList ( )

◆ getValidParameters()

template<class Scalar >
RCP< const Teuchos::ParameterList > Rythmos::ThetaStepper< Scalar >::getValidParameters ( ) const

◆ describe()

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

Friends And Related Function Documentation

◆ thetaStepper()

template<class Scalar >
RCP< ThetaStepper< Scalar > > thetaStepper ( const RCP< Thyra::ModelEvaluator< Scalar > > &  model,
const RCP< Thyra::NonlinearSolverBase< Scalar > > &  solver,
RCP< Teuchos::ParameterList > &  parameterList 
)
related

Nonmember constructor.


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