16#ifndef dealii_elasticity_standard_tensors_h
17#define dealii_elasticity_standard_tensors_h
72#ifndef DEAL_II_CXX14_CONSTEXPR_BUG
73 = unit_symmetric_tensor<dim>()
105#ifndef DEAL_II_CXX14_CONSTEXPR_BUG
106 = identity_tensor<dim>()
121#ifndef DEAL_II_CXX14_CONSTEXPR_BUG
123 unit_symmetric_tensor<dim>())
171#ifndef DEAL_II_CXX14_CONSTEXPR_BUG
172 = deviator_tensor<dim>()
234 template <
typename Number>
249 template <
typename Number>
276 template <
typename Number>
301 template <
typename Number>
319template <
typename Number>
326 ExcMessage(
"Deformation gradient has a negative determinant."));
345template <
typename Number>
352 ExcMessage(
"Deformation gradient has a negative determinant."));
371template <
typename Number>
383template <
typename Number>
392 for (
unsigned int A = 0; A < dim; ++A)
393 for (
unsigned int B = A; B < dim; ++B)
394 for (
unsigned int C = 0;
C < dim; ++
C)
395 for (
unsigned int D = C; D < dim; ++D)
396 dC_inv_dC[A][B][C][D] -=
397 0.5 * (C_inv[A][C] * C_inv[B][D] + C_inv[A][D] * C_inv[B][C]);
static constexpr const SymmetricTensor< 4, dim > dev_P
static constexpr SymmetricTensor< 4, dim, Number > dC_inv_dC(const Tensor< 2, dim, Number > &F)
static constexpr SymmetricTensor< 2, dim, Number > ddet_F_dC(const Tensor< 2, dim, Number > &F)
static constexpr SymmetricTensor< 4, dim, Number > Dev_P(const Tensor< 2, dim, Number > &F)
static constexpr const SymmetricTensor< 2, dim > I
static constexpr const SymmetricTensor< 4, dim > S
static constexpr SymmetricTensor< 4, dim, Number > Dev_P_T(const Tensor< 2, dim, Number > &F)
static constexpr const SymmetricTensor< 4, dim > IxI
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CONSTEXPR
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
static ::ExceptionBase & ExcMessage(std::string arg1)
SymmetricTensor< 2, dim, Number > C(const Tensor< 2, dim, Number > &F)
Tensor< 2, dim, Number > F(const Tensor< 2, dim, Number > &Grad_u)
bool value_is_greater_than(const Number1 &value_1, const Number2 &value_2)
::VectorizedArray< Number, width > pow(const ::VectorizedArray< Number, width > &, const Number p)
static constexpr const T & value(const T &t)
constexpr SymmetricTensor< 2, dim, Number > symmetrize(const Tensor< 2, dim, Number > &t)
constexpr Number determinant(const SymmetricTensor< 2, dim, Number > &)
constexpr SymmetricTensor< 2, dim, Number > invert(const SymmetricTensor< 2, dim, Number > &)
constexpr SymmetricTensor< 4, dim, Number > outer_product(const SymmetricTensor< 2, dim, Number > &t1, const SymmetricTensor< 2, dim, Number > &t2)