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