Rythmos - Transient Integration for Differential Equations
Version of the Day
|
Mix-in interface all implicit stepper objects that accept a nonlinear solver to be used to compute the timestep. More...
#include <Rythmos_SolverAcceptingStepperBase.hpp>
Public Member Functions | |
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. More... | |
virtual RCP< StepperBase < Scalar > > | cloneStepperAlgorithm () const |
Clone the stepper object if supported. More... | |
virtual bool | isImplicit () const |
Return if this stepper is an implicit stepper. More... | |
virtual bool | acceptsModel () const |
Return if this stepper accepts a model. More... | |
virtual void | setModel (const RCP< const Thyra::ModelEvaluator< Scalar > > &model)=0 |
Specify the model problem to integrate. More... | |
virtual void | setNonconstModel (const RCP< Thyra::ModelEvaluator< Scalar > > &model)=0 |
Accept a nonconst model. More... | |
virtual bool | modelIsConst () const |
Return of the model is only const or can be returned as a non-const object. More... | |
virtual RCP< const Thyra::ModelEvaluator< Scalar > > | getModel () const =0 |
Get the model. More... | |
virtual RCP < Thyra::ModelEvaluator < Scalar > > | getNonconstModel ()=0 |
Get the model nonconst. More... | |
virtual void | setInitialCondition (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &initialCondition)=0 |
Specify initial condition and re-initialize. More... | |
virtual Thyra::ModelEvaluatorBase::InArgs < Scalar > | getInitialCondition () const =0 |
Get the currently set initial condtion. More... | |
virtual Scalar | takeStep (Scalar dt, StepSizeType stepType)=0 |
Take a step. More... | |
virtual const StepStatus< Scalar > | getStepStatus () const =0 |
Get current stepper status after a step has been taken. More... | |
virtual void | setStepControlData (const StepperBase &stepper) |
Set step control data from another stepper. More... | |
Public Member Functions inherited from Rythmos::InterpolationBufferBase< Scalar > | |
virtual RCP< const Thyra::VectorSpaceBase< Scalar > > | get_x_space () const =0 |
Return the space for x and x_dot . More... | |
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. More... | |
virtual TimeRange< Scalar > | getTimeRange () const =0 |
Return the range of time values where interpolation calls can be performed. More... | |
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. More... | |
virtual void | getNodes (Array< Scalar > *time_vec) const =0 |
Get interpolation nodes. More... | |
virtual void | removeNodes (Array< Scalar > &time_vec)=0 |
Remove nodes from the interpolation buffer. More... | |
virtual int | getOrder () const =0 |
Get order of interpolation. More... | |
Additional Inherited Members | |
Public Types inherited from Rythmos::InterpolationBufferBase< Scalar > | |
typedef Teuchos::ScalarTraits < Scalar >::magnitudeType | ScalarMag |
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... | |
Mix-in interface all implicit stepper objects that accept a nonlinear solver to be used to compute the timestep.
ToDo: Finish documentation!
Definition at line 47 of file Rythmos_SolverAcceptingStepperBase.hpp.
|
pure virtual |
|
pure virtual |
|
pure virtual |