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
207 template <
typename Number>
221 template <
typename Number>
248 template <
typename Number>
272 template <
typename Number>
290 template <
typename Number>
297 ExcMessage(
"Deformation gradient has a negative determinant."));
306 Dev_P *= std::pow(det_F, -2.0/dim);
314 template <
typename Number>
321 ExcMessage(
"Deformation gradient has a negative determinant."));
330 Dev_P_T *= std::pow(det_F, -2.0/dim);
338 template <
typename Number>
349 template <
typename Number>
357 for (
unsigned int A=0; A<dim; ++A)
358 for (
unsigned int B=A; B<dim; ++B)
359 for (
unsigned int C=0;
C<dim; ++
C)
360 for (
unsigned int D=C; D<dim; ++D)
361 dC_inv_dC[A][B][C][D] -= 0.5*(C_inv[A][C] * C_inv[B][D] + C_inv[A][D] * C_inv[B][C] );
368 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)