29 #ifndef RYTHMOS_SMART_INTERPOLATION_BUFFER_APPENDER_HPP 30 #define RYTHMOS_SMART_INTERPOLATION_BUFFER_APPENDER_HPP 32 #include "Rythmos_InterpolationBufferAppenderBase.hpp" 33 #include "Teuchos_ParameterListAcceptorDefaultBase.hpp" 40 template<
class Scalar>
43 virtual public Teuchos::ParameterListAcceptorDefaultBase
74 template<
class Scalar>
81 TEUCHOS_TEST_FOR_EXCEPTION(
82 true, std::logic_error,
83 "This class has never been tested before and should not be used\n" 88 #ifdef HAVE_RYTHMOS_DEBUG 90 #endif // HAVE_RYTHMOS_DEBUG 91 if (interpBuffSink->getOrder() >= interpBuffSource.
getOrder()) {
96 defaultAppender.
append(interpBuffSink,interpBuffSource,range);
101 TEUCHOS_TEST_FOR_EXCEPTION(
102 true,std::logic_error,
103 "Error, the smart interpolation buffer appender is not implemented\n" 104 "for appending interpolation buffers with higher order interpolation\n" 105 "into interpolation buffers with a lower order of interpolation yet!" 113 template<
class Scalar>
116 TEUCHOS_TEST_FOR_EXCEPT( is_null(paramList) );
118 setMyParamList(paramList);
119 Teuchos::readVerboseObjectSublist(&*paramList,
this);
122 template<
class Scalar>
125 static RCP<Teuchos::ParameterList> validPL;
126 if (is_null(validPL)) {
127 RCP<Teuchos::ParameterList> pl = Teuchos::parameterList();
128 Teuchos::setupVerboseObjectSublist(&*pl);
137 #endif //RYTHMOS_SMART_INTERPOLATION_BUFFER_APPENDER_HPP
Concrete InterplationBufferAppender subclass that just transfers notes without any regard for accurac...
void append(const InterpolationBufferBase< Scalar > &interpBuffSource, const TimeRange< Scalar > &range, const Ptr< InterpolationBufferBase< Scalar > > &interpBuffSink)
Concrete implementation that simply copies the nodal points between the interpolation buffers...
RCP< const Teuchos::ParameterList > getValidParameters() const
void append(const InterpolationBufferBase< Scalar > &interpBuffSource, const TimeRange< Scalar > &range, const Ptr< InterpolationBufferBase< Scalar > > &interpBuffSink)
Concrete implementation that attempts to use the order of interpolation between the two interpolation...
void assertAppendPreconditions(const InterpolationBufferBase< Scalar > &interpBuffSource, const TimeRange< Scalar > &range, const InterpolationBufferBase< Scalar > &interpBuffSink) const
Base class for an interpolation buffer.
Base class for strategy objects that append data from one InterplationBufferBase object to another...
void setParameterList(RCP< Teuchos::ParameterList > const ¶mList)
Smart interplation buffer class.
virtual int getOrder() const =0
Get order of interpolation.