|
Reference documentation for deal.II version 9.2.0
|
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\)
\(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\)
\(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\)
\(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Go to the documentation of this file.
33 std::array<unsigned int, dim> ix;
38 for (
unsigned int d = 0;
d < dim; ++
d)
49 const std::vector<unsigned int> &renumber)
55 for (
unsigned int i = 0; i <
index_map.size(); ++i)
58 std::vector<unsigned int> renumber_base;
60 renumber_base.push_back(renumber[i]);
130 std::vector<double> & values,
143 third_derivatives.size() == 0,
148 fourth_derivatives.size() == 0,
155 bool do_values =
false, do_grads =
false, do_grad_grads =
false;
156 bool do_3rd_derivatives =
false, do_4th_derivatives =
false;
157 if (values.empty() ==
false)
162 if (grads.empty() ==
false)
167 if (grad_grads.empty() ==
false)
169 grad_grads.pop_back();
170 do_grad_grads =
true;
172 if (third_derivatives.empty() ==
false)
175 do_3rd_derivatives =
true;
177 if (fourth_derivatives.empty() ==
false)
180 do_4th_derivatives =
true;
184 p, values, grads, grad_grads, third_derivatives, fourth_derivatives);
189 values.push_back(1.);
191 grads.emplace_back();
193 grad_grads.emplace_back();
194 if (do_3rd_derivatives)
195 third_derivatives.emplace_back();
196 if (do_4th_derivatives)
197 fourth_derivatives.emplace_back();
203 std::unique_ptr<ScalarPolynomialsBase<dim>>
206 return std_cxx14::make_unique<TensorProductPolynomialsConst<dim>>(*this);
void output_indices(std::ostream &out) const
static ::ExceptionBase & ExcNotImplemented()
Tensor< 2, dim > compute_grad_grad(const unsigned int i, const Point< dim > &p) const
virtual std::unique_ptr< ScalarPolynomialsBase< dim > > clone() const override
Tensor< 1, dim > compute_grad(const unsigned int i, const Point< dim > &p) const
double compute_value(const unsigned int i, const Point< dim > &p) const
Tensor< 2, dim > compute_grad_grad(const unsigned int i, const Point< dim > &p) const
SymmetricTensor< 2, dim, Number > d(const Tensor< 2, dim, Number > &F, const Tensor< 2, dim, Number > &dF_dt)
static ::ExceptionBase & ExcDimensionMismatch2(int arg1, int arg2, int arg3)
void set_numbering(const std::vector< unsigned int > &renumber)
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 override
#define DEAL_II_NAMESPACE_OPEN
double compute_value(const unsigned int i, const Point< dim > &p) const
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 override
static ::ExceptionBase & ExcInternalError()
#define Assert(cond, exc)
std::vector< unsigned int > index_map_inverse
std::vector< unsigned int > index_map
static ::ExceptionBase & ExcDimensionMismatch(std::size_t arg1, std::size_t arg2)
void compute_index(const unsigned int i, std::array< unsigned int, dim > &indices) const
#define DEAL_II_NAMESPACE_CLOSE
void set_numbering(const std::vector< unsigned int > &renumber)
Tensor< 1, dim > compute_grad(const unsigned int i, const Point< dim > &p) const
TensorProductPolynomials< dim > tensor_polys