17 #ifndef dealii_polynomials_rannacher_turek_h 18 #define dealii_polynomials_rannacher_turek_h 20 #include <deal.II/base/point.h> 21 #include <deal.II/base/tensor.h> 25 DEAL_II_NAMESPACE_OPEN
89 std::vector<double> & values,
99 namespace PolynomialsRannacherTurekImplementation
101 template <
int order,
int dim>
103 compute_derivative(
const unsigned int,
const Point<dim> &)
112 compute_derivative(
const unsigned int i,
const Point<2> &p)
114 const unsigned int dim = 2;
125 grad[0] = -2.5 + 3 * p(0);
126 grad[1] = 1.5 - 3 * p(1);
130 grad[0] = -0.5 + 3.0 * p(0);
131 grad[1] = 1.5 - 3.0 * p(1);
135 grad[0] = 1.5 - 3.0 * p(0);
136 grad[1] = -2.5 + 3.0 * p(1);
140 grad[0] = 1.5 - 3.0 * p(0);
141 grad[1] = -0.5 + 3.0 * p(1);
158 grad_grad[1][1] = -3;
165 grad_grad[1][1] = -3;
169 grad_grad[0][0] = -3;
176 grad_grad[0][0] = -3;
202 return internal::PolynomialsRannacherTurekImplementation::compute_derivative<
207 DEAL_II_NAMESPACE_CLOSE
Tensor< 1, dim > compute_grad(const unsigned int i, const Point< dim > &p) const
static const unsigned int dimension
PolynomialsRannacherTurek()
double compute_value(const unsigned int i, const Point< dim > &p) const
#define Assert(cond, exc)
Tensor< order, dim > compute_derivative(const unsigned int i, const Point< dim > &p) const
Tensor< 2, dim > compute_grad_grad(const unsigned int i, const Point< dim > &p) const
static ::ExceptionBase & ExcNotImplemented()
void compute(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