|
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.
16 #ifndef dealii_derivative_form_h
17 #define dealii_derivative_form_h
59 template <
int order,
int dim,
int spacedim,
typename Number =
double>
154 <<
"Invalid DerivativeForm index " << arg1);
176 template <
int order,
int dim,
int spacedim,
typename Number>
181 ExcMessage(
"Only allowed for forms with dim==spacedim."));
183 for (
unsigned int j = 0; j < dim; ++j)
189 template <
int order,
int dim,
int spacedim,
typename Number>
197 for (
unsigned int j = 0; j < dim; ++j)
204 template <
int order,
int dim,
int spacedim,
typename Number>
209 Assert((1 == spacedim) && (order == 1),
210 ExcMessage(
"Only allowed for spacedim==1 and order==1."));
219 template <
int order,
int dim,
int spacedim,
typename Number>
230 template <
int order,
int dim,
int spacedim,
typename Number>
242 template <
int order,
int dim,
int spacedim,
typename Number>
246 Assert((1 == spacedim) && (order == 1),
254 template <
int order,
int dim,
int spacedim,
typename Number>
263 for (
unsigned int j = 0; j < dim; ++j)
271 template <
int order,
int dim,
int spacedim,
typename Number>
278 for (
unsigned int i = 0; i < spacedim; ++i)
279 for (
unsigned int j = 0; j < dim; ++j)
280 tt[j][i] = (*
this)[i][j];
287 template <
int order,
int dim,
int spacedim,
typename Number>
294 for (
unsigned int i = 0; i < spacedim; ++i)
295 for (
unsigned int j = 0; j < dim; ++j)
296 dest[i][j] = (*
this)[i] *
T[j];
303 template <
int order,
int dim,
int spacedim,
typename Number>
308 for (
unsigned int i = 0; i < spacedim; ++i)
309 sum_of_squares += tensor[i].norm_square();
315 template <
int order,
int dim,
int spacedim,
typename Number>
331 for (
unsigned int i = 0; i < dim; ++i)
332 for (
unsigned int j = 0; j < dim; ++j)
333 G[i][j] = DF_t[i] * DF_t[j];
341 template <
int order,
int dim,
int spacedim,
typename Number>
355 for (
unsigned int i = 0; i < dim; ++i)
356 for (
unsigned int j = 0; j < dim; ++j)
357 G[i][j] = DF_t[i] * DF_t[j];
359 return (this->times_T_t(
invert(G)));
364 template <
int order,
int dim,
int spacedim,
typename Number>
397 template <
int spacedim,
int dim,
typename Number>
403 for (
unsigned int i = 0; i < spacedim; ++i)
404 dest[i] = grad_F[i] * d_x;
419 template <
int spacedim,
int dim,
typename Number>
425 for (
unsigned int i = 0; i < dim; ++i)
447 template <
int spacedim,
int dim,
typename Number>
454 for (
unsigned int i = 0; i < spacedim; ++i)
468 template <
int dim,
int spacedim,
typename Number>
constexpr Number determinant(const SymmetricTensor< 2, dim, Number > &)
#define AssertIndexRange(index, range)
constexpr SymmetricTensor< 2, dim, Number > invert(const SymmetricTensor< 2, dim, Number > &t)
static ::ExceptionBase & ExcMessage(std::string arg1)
#define DEAL_II_NAMESPACE_OPEN
#define DeclException1(Exception1, type1, outsequence)
inline ::VectorizedArray< Number, width > sqrt(const ::VectorizedArray< Number, width > &x)
#define Assert(cond, exc)
constexpr Number determinant(const SymmetricTensor< 2, dim, Number > &t)
static ::ExceptionBase & ExcInvalidTensorIndex(int arg1)
#define DEAL_II_NAMESPACE_CLOSE