16 #ifndef dealii_scalar_polynomials_base_h
17 #define dealii_scalar_polynomials_base_h
71 const unsigned int n_polynomials);
103 std::vector<double> &
values,
209 virtual std::unique_ptr<ScalarPolynomialsBase<dim>>
251 return polynomial_degree;
264 auto derivative = compute_1st_derivative(i, p);
269 auto derivative = compute_2nd_derivative(i, p);
274 auto derivative = compute_3rd_derivative(i, p);
279 auto derivative = compute_4th_derivative(i, p);
ScalarPolynomialsBase(ScalarPolynomialsBase< dim > &&)=default
virtual Tensor< 2, dim > compute_grad_grad(const unsigned int, const Point< dim > &) const =0
const unsigned int n_pols
virtual std::unique_ptr< ScalarPolynomialsBase< dim > > clone() const =0
virtual std::string name() const =0
virtual ~ScalarPolynomialsBase()=default
virtual Tensor< 3, dim > compute_3rd_derivative(const unsigned int i, const Point< dim > &p) const =0
virtual unsigned int degree() const
virtual Tensor< 1, dim > compute_grad(const unsigned int, const Point< dim > &) const =0
virtual Tensor< 1, dim > compute_1st_derivative(const unsigned int i, const Point< dim > &p) const =0
ScalarPolynomialsBase(const unsigned int deg, const unsigned int n_polynomials)
virtual Tensor< 2, dim > compute_2nd_derivative(const unsigned int i, const Point< dim > &p) const =0
const unsigned int polynomial_degree
virtual void evaluate(const Point< dim > &unit_point, std::vector< double > &values, std::vector< Tensor< 1, dim >> &grads, std::vector< Tensor< 2, dim >> &grad_grads, std::vector< Tensor< 3, dim >> &third_derivatives, std::vector< Tensor< 4, dim >> &fourth_derivatives) const =0
virtual double compute_value(const unsigned int i, const Point< dim > &p) const =0
virtual std::size_t memory_consumption() const
ScalarPolynomialsBase(const ScalarPolynomialsBase< dim > &)=default
Tensor< order, dim > compute_derivative(const unsigned int i, const Point< dim > &p) const
virtual Tensor< 4, dim > compute_4th_derivative(const unsigned int i, const Point< dim > &p) const =0
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
static ::ExceptionBase & ExcNotImplemented()