9#ifndef Tempus_InterpolatorLagrange_decl_hpp
10#define Tempus_InterpolatorLagrange_decl_hpp
12#include "Tempus_config.hpp"
36 const Teuchos::RCP<
const std::vector<Teuchos::RCP<SolutionState<Scalar> > > > & nodes) {
nodes_ = nodes; }
39 void interpolate(
const Scalar& t, SolutionState<Scalar>* state_out)
const;
48 std::string
description()
const {
return "Tempus::InterpolatorLagrange"; }
50 const Teuchos::EVerbosityLevel )
const
52 out.setOutputToRootOnly(0);
59 void setParameterList(
const Teuchos::RCP<Teuchos::ParameterList>& paramList);
67 void lagrange(
const int p,
const Scalar& t,
68 SolutionState<Scalar>* state_out)
const;
70 Teuchos::RCP<const std::vector<Teuchos::RCP<SolutionState<Scalar> > > >
nodes_;
71 Teuchos::RCP<Teuchos::ParameterList>
pl_;
80 return Teuchos::rcp(
new InterpolatorLagrange<Scalar>);
Concrete implemenation of Interpolator that does simple lagrange interpolation.
~InterpolatorLagrange()
Destructor.
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel) const
int order() const
Return the order of the interpolation.
Teuchos::RCP< Teuchos::ParameterList > pl_
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
InterpolatorLagrange()
Contructor.
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
Teuchos::RCP< const std::vector< Teuchos::RCP< SolutionState< Scalar > > > > nodes_
void setNodes(const Teuchos::RCP< const std::vector< Teuchos::RCP< SolutionState< Scalar > > > > &nodes)
Store pointer to interpolation nodes.
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > ¶mList)
void lagrange(const int p, const Scalar &t, SolutionState< Scalar > *state_out) const
void interpolate(const Scalar &t, SolutionState< Scalar > *state_out) const
Perform an interpolation.
std::string description() const
Base strategy class for interpolation functionality.
Teuchos::RCP< InterpolatorLagrange< Scalar > > lagrangeInterpolator()