16 #ifndef dealii__elasticity__standard_tensors_h 17 #define dealii__elasticity__standard_tensors_h 20 #include <deal.II/base/symmetric_tensor.h> 21 #include <deal.II/base/tensor.h> 23 DEAL_II_NAMESPACE_OPEN
206 template <
typename Number>
220 template <
typename Number>
247 template <
typename Number>
271 template <
typename Number>
289 template <
typename Number>
295 Assert(det_F > Number(0.0),
296 ExcMessage(
"Deformation gradient has a negative determinant."));
305 Dev_P *= std::pow(det_F, -2.0/dim);
313 template <
typename Number>
319 Assert(det_F > Number(0.0),
320 ExcMessage(
"Deformation gradient has a negative determinant."));
329 Dev_P_T *= std::pow(det_F, -2.0/dim);
337 template <
typename Number>
348 template <
typename Number>
356 for (
unsigned int A=0; A<dim; ++A)
357 for (
unsigned int B=A; B<dim; ++B)
358 for (
unsigned int C=0;
C<dim; ++
C)
359 for (
unsigned int D=C; D<dim; ++D)
360 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] );
367 DEAL_II_NAMESPACE_CLOSE
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)
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)
SymmetricTensor< 2, dim, Number > invert(const SymmetricTensor< 2, dim, Number > &)
static SymmetricTensor< 4, dim, Number > Dev_P_T(const Tensor< 2, dim, Number > &F)