29 #ifndef Rythmos_INTERPOLATION_BUFFER_DECL_H
30 #define Rythmos_INTERPOLATION_BUFFER_DECL_H
32 #include "Rythmos_InterpolationBufferBase.hpp"
33 #include "Rythmos_Types.hpp"
34 #include "Rythmos_DataStore.hpp"
35 #include "Rythmos_InterpolatorAcceptingObjectBase.hpp"
42 BUFFER_POLICY_INVALID = 0,
43 BUFFER_POLICY_STATIC = 1,
44 BUFFER_POLICY_KEEP_NEWEST = 2
49 template<
class Scalar>
56 typedef typename Teuchos::ScalarTraits<Scalar>::magnitudeType ScalarMag;
60 RCP<const Thyra::VectorSpaceBase<Scalar> >
get_x_space()
const;
75 RCP<InterpolatorBase<Scalar> >
79 RCP<const InterpolatorBase<Scalar> >
101 const Array<Scalar>& time_vec
102 ,
const Array<RCP<
const Thyra::VectorBase<Scalar> > >& x_vec
103 ,
const Array<RCP<
const Thyra::VectorBase<Scalar> > >& xdot_vec);
107 const Array<Scalar>& time_vec
108 ,Array<RCP<
const Thyra::VectorBase<Scalar> > >* x_vec
109 ,Array<RCP<
const Thyra::VectorBase<Scalar> > >* xdot_vec
110 ,Array<ScalarMag>* accuracy_vec
117 void getNodes(Array<Scalar>* time_vec)
const;
131 Teuchos::FancyOStream &out
132 ,
const Teuchos::EVerbosityLevel verbLevel
145 RCP<const Teuchos::ParameterList> getValidParameters()
const;
149 RCP<InterpolatorBase<Scalar> > interpolator_;
151 RCP<typename DataStore<Scalar>::DataStoreVector_t> data_vec_;
153 RCP<Teuchos::ParameterList> paramList_;
159 void defaultInitializeAll_();
168 template<
class Scalar>
175 ib->initialize(interpolator, storage);
183 #endif // Rythmos_INTERPOLATION_BUFFER_DECL_H
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)
Add point to buffer.
Base strategy class for interpolation functionality.
RCP< Teuchos::ParameterList > getNonconstParameterList()
void setStorage(int storage)
Set the maximum storage of this buffer.
~InterpolationBuffer()
Destructor.
RCP< InterpolatorBase< Scalar > > unSetInterpolator()
Unset the interpolator for this buffer.
Mix-in interface for objects that accept an interpolator object.
void removeNodes(Array< Scalar > &time_vec)
Remove interpolation nodes.
void getNodes(Array< Scalar > *time_vec) const
Get interpolation nodes.
RCP< const InterpolatorBase< Scalar > > getInterpolator() const
void initialize(const RCP< InterpolatorBase< Scalar > > &interpolator, int storage)
Initialize the buffer:
RCP< InterpolatorBase< Scalar > > getNonconstInterpolator()
int getOrder() const
Get order of interpolation.
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
Get value from buffer.
Base class for an interpolation buffer.
TimeRange< Scalar > getTimeRange() const
concrete class for interpolation buffer functionality.
RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
Redefined from Rythmos::InterpolationBufferBase.
std::string description() const
Redefined from Teuchos::Describable.
int getStorage() const
Get the maximum storage of this buffer.
void setInterpolator(const RCP< InterpolatorBase< Scalar > > &interpolator)
Redefined from Rythmos::InterpolatorAcceptingObjectBase.
RCP< Teuchos::ParameterList > unsetParameterList()
RCP< InterpolationBuffer< Scalar > > interpolationBuffer(const RCP< InterpolatorBase< Scalar > > &interpolator=Teuchos::null, int storage=0)
Nonmember constructor.
void setParameterList(RCP< Teuchos::ParameterList > const ¶mList)
Redefined from Teuchos::ParameterListAcceptor.
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const