15#ifndef dealii_elasticity_standard_tensors_h
16#define dealii_elasticity_standard_tensors_h
70#ifndef DEAL_II_CXX14_CONSTEXPR_BUG
71 = unit_symmetric_tensor<dim>()
103#ifndef DEAL_II_CXX14_CONSTEXPR_BUG
104 = identity_tensor<dim>()
119#ifndef DEAL_II_CXX14_CONSTEXPR_BUG
121 unit_symmetric_tensor<dim>())
169#ifndef DEAL_II_CXX14_CONSTEXPR_BUG
170 = deviator_tensor<dim>()
232 template <
typename Number>
247 template <
typename Number>
274 template <
typename Number>
299 template <
typename Number>
317template <
typename Number>
326 ExcMessage(
"Deformation gradient has a negative determinant."));
336 Dev_P *= pow(det_F, -2.0 / dim);
344template <
typename Number>
353 ExcMessage(
"Deformation gradient has a negative determinant."));
364 pow(det_F, -2.0 / dim);
372template <
typename Number>
384template <
typename Number>
393 for (
unsigned int A = 0; A < dim; ++A)
394 for (
unsigned int B = A; B < dim; ++B)
395 for (
unsigned int C = 0;
C < dim; ++
C)
396 for (
unsigned int D = C; D < dim; ++D)
397 dC_inv_dC[A][B][C][D] -=
398 0.5 * (C_inv[A][C] * C_inv[B][D] + C_inv[A][D] * C_inv[B][C]);
static DEAL_II_HOST constexpr SymmetricTensor< 4, dim, Number > Dev_P_T(const Tensor< 2, dim, Number > &F)
static DEAL_II_HOST constexpr SymmetricTensor< 4, dim, Number > Dev_P(const Tensor< 2, dim, Number > &F)
static constexpr const SymmetricTensor< 4, dim > dev_P
static DEAL_II_HOST constexpr SymmetricTensor< 4, dim, Number > dC_inv_dC(const Tensor< 2, dim, Number > &F)
static DEAL_II_HOST constexpr SymmetricTensor< 2, dim, Number > ddet_F_dC(const Tensor< 2, dim, Number > &F)
static constexpr const SymmetricTensor< 2, dim > I
static constexpr const SymmetricTensor< 4, dim > S
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 DEAL_II_HOST_DEVICE_ALWAYS_INLINE const T & value(const T &t)
DEAL_II_HOST constexpr Number determinant(const SymmetricTensor< 2, dim, Number > &)
DEAL_II_HOST constexpr SymmetricTensor< 2, dim, Number > symmetrize(const Tensor< 2, dim, Number > &t)
DEAL_II_HOST constexpr SymmetricTensor< 2, dim, Number > invert(const SymmetricTensor< 2, dim, Number > &)
DEAL_II_HOST constexpr SymmetricTensor< 4, dim, Number > outer_product(const SymmetricTensor< 2, dim, Number > &t1, const SymmetricTensor< 2, dim, Number > &t2)