Rythmos - Transient Integration for Differential Equations
Version of the Day
|
Mix-in interface for integrator objects that accept an integration control strategy object to be used for evaluating steps and picking step-sizes & orders. More...
#include <Rythmos_IntegrationControlStrategyAcceptingIntegratorBase.hpp>
Public Member Functions | |
virtual void | setIntegrationControlStrategy (const RCP< IntegrationControlStrategyBase< Scalar > > &integrationControlStrategy)=0 |
virtual RCP < IntegrationControlStrategyBase < Scalar > > | getNonconstIntegrationControlStrategy ()=0 |
virtual RCP< const IntegrationControlStrategyBase < Scalar > > | getIntegrationControlStrategy () const =0 |
Public Member Functions inherited from Rythmos::IntegratorBase< Scalar > | |
virtual RCP< IntegratorBase < Scalar > > | cloneIntegrator () const |
virtual void | setStepper (const RCP< StepperBase< Scalar > > &stepper, const Scalar &finalTime, const bool landOnFinalTime=true)=0 |
Specify the stepper to use for integration which effectively reinitializes the intergrator. More... | |
virtual Teuchos::RCP< const StepperBase< Scalar > > | getStepper () const =0 |
Get the current stepper that is set. More... | |
virtual Teuchos::RCP < StepperBase< Scalar > > | getNonconstStepper () const =0 |
Get the current stepper that is set. More... | |
virtual RCP< StepperBase < Scalar > > | unSetStepper ()=0 |
Remove the stepper and set *this to an unitilaized state. More... | |
virtual void | getFwdPoints (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)=0 |
Get values at time points both inside and outside (forward) of current TimeRange. More... | |
virtual TimeRange< Scalar > | getFwdTimeRange () const =0 |
Return the valid range of points that the integrator can integrate over. 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::IntegratorBase< Scalar > | |
typedef Teuchos::ScalarTraits < Scalar >::magnitudeType | ScalarMag |
Public Types inherited from Rythmos::InterpolationBufferBase< Scalar > | |
typedef Teuchos::ScalarTraits < Scalar >::magnitudeType | ScalarMag |
Related Functions inherited from Rythmos::IntegratorBase< Scalar > | |
template<class Scalar > | |
RCP< const Thyra::VectorBase < Scalar > > | get_fwd_x (IntegratorBase< Scalar > &integrator, const Scalar t) |
Nonmember helper function to get x at a (forward) time t. More... | |
template<class Scalar > | |
void | get_fwd_x_and_x_dot (IntegratorBase< Scalar > &integrator, 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/or x_dot at s (forward) time t. More... | |
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 for integrator objects that accept an integration control strategy object to be used for evaluating steps and picking step-sizes & orders.
ToDo: Finish documentation!
Definition at line 48 of file Rythmos_IntegrationControlStrategyAcceptingIntegratorBase.hpp.
|
pure virtual |
Implemented in Rythmos::DefaultIntegrator< Scalar >.
|
pure virtual |
Implemented in Rythmos::DefaultIntegrator< Scalar >.
|
pure virtual |
Implemented in Rythmos::DefaultIntegrator< Scalar >.