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