16 #ifndef dealii_elasticity_standard_tensors_h 17 #define dealii_elasticity_standard_tensors_h 20 #include <deal.II/base/numbers.h> 22 #include <deal.II/base/tensor.h> 24 DEAL_II_NAMESPACE_OPEN
216 template <
typename Number>
231 template <
typename Number>
258 template <
typename Number>
283 template <
typename Number>
301 template <
typename Number>
308 ExcMessage(
"Deformation gradient has a negative determinant."));
319 std::pow(det_F, -2.0 / dim);
327 template <
typename Number>
334 ExcMessage(
"Deformation gradient has a negative determinant."));
345 std::pow(det_F, -2.0 / dim);
353 template <
typename Number>
364 template <
typename Number>
373 for (
unsigned int A = 0; A < dim; ++A)
374 for (
unsigned int B = A; B < dim; ++B)
375 for (
unsigned int C = 0;
C < dim; ++
C)
376 for (
unsigned int D = C; D < dim; ++D)
377 dC_inv_dC[A][B][C][D] -=
378 0.5 * (C_inv[A][C] * C_inv[B][D] + C_inv[A][D] * C_inv[B][C]);
385 DEAL_II_NAMESPACE_CLOSE
SymmetricTensor< 2, dim, Number > invert(const SymmetricTensor< 2, dim, Number > &t)
SymmetricTensor< 2, dim, Number > symmetrize(const Tensor< 2, dim, Number > &t)
Tensor< 2, dim, Number > F(const Tensor< 2, dim, Number > &Grad_u)
SymmetricTensor< 2, dim, Number > C(const Tensor< 2, dim, Number > &F)
static ::ExceptionBase & ExcMessage(std::string arg1)
static const SymmetricTensor< 4, dim > S
#define Assert(cond, exc)
static SymmetricTensor< 2, dim, Number > ddet_F_dC(const Tensor< 2, dim, Number > &F)
static const SymmetricTensor< 2, dim > I
SymmetricTensor< 4, dim, Number > outer_product(const SymmetricTensor< 2, dim, Number > &t1, const SymmetricTensor< 2, dim, Number > &t2)
static const SymmetricTensor< 4, dim > dev_P
static const SymmetricTensor< 4, dim > IxI
Number determinant(const SymmetricTensor< 2, dim, Number > &t)
bool value_is_greater_than(const Number1 &value_1, const Number2 &value_2)
static SymmetricTensor< 4, dim, Number > Dev_P(const Tensor< 2, dim, Number > &F)
static SymmetricTensor< 4, dim, Number > dC_inv_dC(const Tensor< 2, dim, Number > &F)
static SymmetricTensor< 4, dim, Number > Dev_P_T(const Tensor< 2, dim, Number > &F)