This factor denotes the differences between the returned stresses and moduli and the passed strain. More...
Detailed Description
template<class MI>
struct Ikarus::Materials::Material< MI >
Consider a hyper elastic material with the free Helmholtz energy
Then, the value of this potential energy is return by storedEnergy and its first derivative (the stresses) by stresses and the second derivatives (the tangent moduli) by tangentModuli .
This assumes the existence of a complementary stored energy function $\chi(\BS)$, such that . Except for linear materials, this is not just the inverse of the material tangent, but needs the inversion of the materials stored energy function. For SVK and Linear Elasticity, the inverse of $\BC$ is taken. For NeoHooke an analytical solution exists, and for the general hyperelastic framework (and for all materials that don't implement the material inversion, for that a strain energy function exists) a numerical approach is used.
Template Parameters
tag
Strain tag indicating which strain tensor components are expected as result.
voigt
Boolean indicating whether to return Voigt-shaped result.
useNumeric
forces the function to use the generic numerical approach
Derived
the type of the stress matrix
Parameters
Sraw
input stress matrix
EstartRaw
optionally define a starting value for the numerical algorithm (applies only to numerical inversion)
tol
tolerance for the Newton-Raphson solver (applies only to numerical inversion).
maxIter
maximum number of iterations for the Newton-Raphson solver (applies only to numerical inversion).
Returns
pair of inverse material tangent and strain tensor
For neoHooke the inserted quantity is $C$ the Green-Lagrangian strain tensor, the function relation between the energy and the stresses is $S = 1 \dfrac{\partial\psi(E)}{\partial E}$. This factor is the pre factor, which is the difference to the actual derivative, which is written here