Rythmos - Transient Integration for Differential Equations
Version of the Day
|
Simple concrete stepper subclass implementing an implicit backward Euler method. More...
#include <Rythmos_BackwardEulerStepper_decl.hpp>
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. More... | |
template<class Scalar > | |
RCP< BackwardEulerStepper < Scalar > > | backwardEulerStepper (const RCP< Thyra::ModelEvaluator< Scalar > > &model, const RCP< Thyra::NonlinearSolverBase< Scalar > > &solver) |
Nonmember constructor. More... | |
Related Functions inherited from Rythmos::StepperBase< Scalar > | |
template<class Scalar > | |
bool | isInitialized (const StepperBase< Scalar > &stepper) |
template<class Scalar > | |
bool | isInitialized (const StepperBase< Scalar > &stepper) |
Related Functions inherited from Rythmos::InterpolationBufferBase< Scalar > | |
template<class Scalar > | |
RCP< const Thyra::VectorBase < Scalar > > | get_x (const InterpolationBufferBase< Scalar > &interpBuffer, const Scalar &t) |
Get a single point x(t) from an interpolation buffer. More... | |
template<class Scalar > | |
RCP< const Thyra::VectorBase < Scalar > > | get_xdot (const InterpolationBufferBase< Scalar > &interpBuffer, const Scalar &t) |
Get a single point xdot(t) from an interpolation buffer. More... | |
template<class Scalar > | |
void | get_x_and_x_dot (const InterpolationBufferBase< Scalar > &interpBuffer, const Scalar t, const Ptr< RCP< const Thyra::VectorBase< Scalar > > > &x, const Ptr< RCP< const Thyra::VectorBase< Scalar > > > &x_dot) |
Nonmember helper function to get x and x_dot at t. More... | |
template<class Scalar > | |
void | assertTimePointsAreSorted (const Array< Scalar > &time_vec) |
Assert that a time point vector is sorted. More... | |
template<class Scalar > | |
void | assertNoTimePointsBeforeCurrentTimeRange (const InterpolationBufferBase< Scalar > &interpBuffer, const Array< Scalar > &time_vec, const int &startingTimePointIndex=0) |
Assert that none of the time points fall before the current time range for an interpolation buffer object. More... | |
template<class Scalar > | |
void | assertNoTimePointsInsideCurrentTimeRange (const InterpolationBufferBase< Scalar > &interpBuffer, const Array< Scalar > &time_vec) |
Assert that none of the time points fall inside the current time range for an interpolation buffer object. More... | |
template<class TimeType > | |
void | selectPointsInTimeRange (const Array< TimeType > &points_in, const TimeRange< TimeType > &range, const Ptr< Array< TimeType > > &points_out) |
Select points from an Array that sit in a TimeRange. More... | |
template<class TimeType > | |
void | removePointsInTimeRange (Array< TimeType > *points_in, const TimeRange< TimeType > &range) |
Remove points from an Array that sit in a TimeRange. More... | |
template<class Scalar > | |
bool | getCurrentPoints (const InterpolationBufferBase< Scalar > &interpBuffer, const Array< Scalar > &time_vec, Array< RCP< const Thyra::VectorBase< Scalar > > > *x_vec, Array< RCP< const Thyra::VectorBase< Scalar > > > *xdot_vec, int *nextTimePointIndex) |
Get time points in the current range of an interpolation buffer object. More... | |
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. More... | |
RCP< StepperBase< Scalar > > | cloneStepperAlgorithm () const |
Creates copies of all internal data (including the parameter list) except the model which is assumed to stateless. More... | |
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 ¶mList) |
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 |
Momento functions. | |
RCP< const MomentoBase< Scalar > > | getMomento () const |
Get momento object for use in restarts. More... | |
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. More... | |
Additional Inherited Members | |
Public Member Functions inherited from Rythmos::SolverAcceptingStepperBase< Scalar > | |
virtual void | setSolver (const Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > &solver)=0 |
Public Member Functions inherited from Rythmos::StepperBase< Scalar > | |
virtual bool | acceptsModel () const |
Return if this stepper accepts a model. More... | |
virtual bool | modelIsConst () const |
Return of the model is only const or can be returned as a non-const object. More... | |
virtual void | setStepControlData (const StepperBase &stepper) |
Set step control data from another stepper. More... | |
Public Member Functions inherited from Rythmos::StepControlStrategyAcceptingStepperBase< Scalar > | |
virtual void | setStepControlStrategy (const Teuchos::RCP< StepControlStrategyBase< Scalar > > &stepControlStrategy)=0 |
Public Member Functions inherited from Rythmos::InterpolatorAcceptingObjectBase< Scalar > | |
virtual | ~InterpolatorAcceptingObjectBase () |
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.
typedef Teuchos::ScalarTraits<Scalar>::magnitudeType Rythmos::BackwardEulerStepper< Scalar >::ScalarMag |
Definition at line 291 of file Rythmos_BackwardEulerStepper_decl.hpp.
Rythmos::BackwardEulerStepper< Scalar >::BackwardEulerStepper | ( | ) |
Definition at line 77 of file Rythmos_BackwardEulerStepper_def.hpp.
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.
|
virtual |
Implements Rythmos::InterpolatorAcceptingObjectBase< Scalar >.
Definition at line 129 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::InterpolatorAcceptingObjectBase< Scalar >.
Definition at line 142 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::InterpolatorAcceptingObjectBase< Scalar >.
Definition at line 149 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::InterpolatorAcceptingObjectBase< Scalar >.
Definition at line 156 of file Rythmos_BackwardEulerStepper_def.hpp.
void Rythmos::BackwardEulerStepper< Scalar >::setStepControlStrategy | ( | const RCP< StepControlStrategyBase< Scalar > > & | stepControlStrategy | ) |
Definition at line 359 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyAcceptingStepperBase< Scalar >.
Definition at line 369 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyAcceptingStepperBase< Scalar >.
Definition at line 376 of file Rythmos_BackwardEulerStepper_def.hpp.
void Rythmos::BackwardEulerStepper< Scalar >::setSolver | ( | const RCP< Thyra::NonlinearSolverBase< Scalar > > & | solver | ) |
Definition at line 169 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::SolverAcceptingStepperBase< Scalar >.
Definition at line 195 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::SolverAcceptingStepperBase< Scalar >.
Definition at line 203 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Returns true.
Reimplemented from Rythmos::StepperBase< Scalar >.
Definition at line 213 of file Rythmos_BackwardEulerStepper_def.hpp.
|
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.
|
virtual |
Reimplemented from Rythmos::StepperBase< Scalar >.
Definition at line 254 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::StepperBase< Scalar >.
Definition at line 260 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::StepperBase< Scalar >.
Definition at line 278 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::StepperBase< Scalar >.
Definition at line 287 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::StepperBase< Scalar >.
Definition at line 295 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::StepperBase< Scalar >.
Definition at line 302 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::StepperBase< Scalar >.
Definition at line 353 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::StepperBase< Scalar >.
Definition at line 382 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::StepperBase< Scalar >.
Definition at line 588 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::InterpolationBufferBase< Scalar >.
Definition at line 619 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::InterpolationBufferBase< Scalar >.
Definition at line 626 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::InterpolationBufferBase< Scalar >.
Definition at line 674 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::InterpolationBufferBase< Scalar >.
Definition at line 685 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::InterpolationBufferBase< Scalar >.
Definition at line 813 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::InterpolationBufferBase< Scalar >.
Definition at line 844 of file Rythmos_BackwardEulerStepper_def.hpp.
|
virtual |
Implements Rythmos::InterpolationBufferBase< Scalar >.
Definition at line 866 of file Rythmos_BackwardEulerStepper_def.hpp.
void Rythmos::BackwardEulerStepper< Scalar >::setParameterList | ( | RCP< Teuchos::ParameterList > const & | paramList | ) |
Definition at line 876 of file Rythmos_BackwardEulerStepper_def.hpp.
RCP< Teuchos::ParameterList > Rythmos::BackwardEulerStepper< Scalar >::getNonconstParameterList | ( | ) |
Definition at line 889 of file Rythmos_BackwardEulerStepper_def.hpp.
RCP< Teuchos::ParameterList > Rythmos::BackwardEulerStepper< Scalar >::unsetParameterList | ( | ) |
Definition at line 897 of file Rythmos_BackwardEulerStepper_def.hpp.
RCP< const Teuchos::ParameterList > Rythmos::BackwardEulerStepper< Scalar >::getValidParameters | ( | ) | const |
Definition at line 908 of file Rythmos_BackwardEulerStepper_def.hpp.
void Rythmos::BackwardEulerStepper< Scalar >::describe | ( | Teuchos::FancyOStream & | out, |
const Teuchos::EVerbosityLevel | verbLevel | ||
) | const |
Definition at line 927 of file Rythmos_BackwardEulerStepper_def.hpp.
RCP< const MomentoBase< Scalar > > Rythmos::BackwardEulerStepper< Scalar >::getMomento | ( | ) | const |
Get momento object for use in restarts.
Definition at line 1034 of file Rythmos_BackwardEulerStepper_def.hpp.
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.
|
related |
Nonmember constructor.
Definition at line 63 of file Rythmos_BackwardEulerStepper_def.hpp.
|
related |
Nonmember constructor.
Definition at line 53 of file Rythmos_BackwardEulerStepper_def.hpp.