16 #ifndef dealii_elasticity_standard_tensors_h
17 #define dealii_elasticity_standard_tensors_h
71 #ifndef DEAL_II_CXX14_CONSTEXPR_BUG
72 = unit_symmetric_tensor<dim>()
104 #ifndef DEAL_II_CXX14_CONSTEXPR_BUG
105 = identity_tensor<dim>()
120 #ifndef DEAL_II_CXX14_CONSTEXPR_BUG
122 unit_symmetric_tensor<dim>())
170 #ifndef DEAL_II_CXX14_CONSTEXPR_BUG
171 = deviator_tensor<dim>()
233 template <
typename Number>
248 template <
typename Number>
275 template <
typename Number>
300 template <
typename Number>
318 template <
typename Number>
327 ExcMessage(
"Deformation gradient has a negative determinant."));
337 Dev_P *=
pow(det_F, -2.0 / dim);
345 template <
typename Number>
354 ExcMessage(
"Deformation gradient has a negative determinant."));
365 pow(det_F, -2.0 / dim);
373 template <
typename Number>
385 template <
typename Number>
394 for (
unsigned int A = 0;
A < dim; ++
A)
395 for (
unsigned int B =
A; B < dim; ++B)
396 for (
unsigned int C = 0;
C < dim; ++
C)
397 for (
unsigned int D =
C; D < dim; ++D)
398 dC_inv_dC[
A][B][
C][D] -=
399 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 DEAL_II_HOST SymmetricTensor< 4, dim, Number > dC_inv_dC(const Tensor< 2, dim, Number > &F)
static constexpr const SymmetricTensor< 2, dim > I
static constexpr const SymmetricTensor< 4, dim > S
static constexpr DEAL_II_HOST SymmetricTensor< 2, dim, Number > ddet_F_dC(const Tensor< 2, dim, Number > &F)
static constexpr DEAL_II_HOST SymmetricTensor< 4, dim, Number > Dev_P(const Tensor< 2, dim, Number > &F)
static constexpr DEAL_II_HOST SymmetricTensor< 4, dim, Number > Dev_P_T(const Tensor< 2, dim, Number > &F)
static constexpr const SymmetricTensor< 4, dim > IxI
constexpr DEAL_II_HOST SymmetricTensor< 4, dim, Number > outer_product(const SymmetricTensor< 2, dim, Number > &t1, const SymmetricTensor< 2, dim, Number > &t2)
constexpr DEAL_II_HOST SymmetricTensor< 2, dim, Number > symmetrize(const Tensor< 2, dim, Number > &t)
constexpr DEAL_II_HOST Number determinant(const SymmetricTensor< 2, dim, Number > &)
constexpr DEAL_II_HOST SymmetricTensor< 2, dim, Number > invert(const SymmetricTensor< 2, dim, Number > &t)
VectorizedArray< Number, width > pow(const ::VectorizedArray< Number, width > &x, const Number p)
#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)
constexpr DEAL_II_HOST SymmetricTensor< 4, dim, Number > outer_product(const SymmetricTensor< 2, dim, Number > &t1, const SymmetricTensor< 2, dim, Number > &t2)