Skip to content

Commit

Permalink
Update example_neohooke.md
Browse files Browse the repository at this point in the history
  • Loading branch information
adtzlr committed Sep 27, 2023
1 parent a6ab2fc commit 78e5e17
Showing 1 changed file with 41 additions and 13 deletions.
54 changes: 41 additions & 13 deletions docs/examples/example_neohooke.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ parent: Examples

This is a very basic example on how to implement a nearly-incompressible version of the Neo-Hookean material model in a commercial FEM package (HYPELA2 for Marc). As no special two- or three-field variational principle is used in this example, it is not suitable for nearly-incompressible material behaviour. Otherwise the elements tend to show excessive volumetric locking during deformation and hence, wrong results are calculated.

The strain energy density function per unit reference volume is additively splitted into an isochoric and volumetric contribution, see $$\eqref{eq:psi}$$. The first one is assumed to be proportional to the first invariant of the isochoric part of the right Cauchy-Green deformation tensor whereas the volumetric part is only a function of the volumetric ratio (the determinant of the deformation gradient).
The strain energy density function per unit reference volume is additively splitted into an isochoric and volumetric contribution, see Eq. $$\eqref{eq:psi}$$. The first one is assumed to be proportional to the first invariant of the isochoric part of the right Cauchy-Green deformation tensor whereas the volumetric part is only a function of the volumetric ratio (the determinant of the deformation gradient), see Eq. $$\eqref{eq:psi-nh}$$.

$$
\begin{equation}
Expand All @@ -25,25 +25,53 @@ $$
\end{equation}
$$

<a href="https://www.codecogs.com/eqnedit.php?latex=\psi(\mathbf{C})&space;=&space;\text{C}_{10}&space;(\text{I}_\mathbf{\hat&space;C}-3)&space;&plus;&space;\frac{\kappa}{2}&space;(J-1)^2" target="_blank"><img src="https://latex.codecogs.com/gif.latex?\psi(\mathbf{C})&space;=&space;\text{C}_{10}&space;(\text{I}_\mathbf{\hat&space;C}-3)&space;&plus;&space;\frac{\kappa}{2}&space;(J-1)^2" title="\psi(\mathbf{C}) = \text{C}_{10} (\text{I}_\mathbf{\hat C}-3) + \frac{\kappa}{2} (J-1)^2" /></a>
We get the second Piola-Kirchhoff stress with the derivative of the strain energy density function per unit reference volume with respect to one half of the right Cauchy-Green deformation tensor as shown in Eq. $$\eqref{eq:pk2-nh}$$.

We get the second Piola-Kirchhoff stress with the derivative of the helmholtz free energy per unit reference volume with respect to one half of the right Cauchy-Green deformation tensor:

<a href="https://www.codecogs.com/eqnedit.php?latex=\mathbf{S}&space;=&space;\frac{\partial&space;\psi(\mathbf{C})}{\partial&space;\frac{1}{2}\mathbf{C}}" target="_blank"><img src="https://latex.codecogs.com/gif.latex?\mathbf{S}&space;=&space;\frac{\partial&space;\psi(\mathbf{C})}{\partial&space;\frac{1}{2}\mathbf{C}}" title="\mathbf{S} = \frac{\partial \psi(\mathbf{C})}{\partial \frac{1}{2}\mathbf{C}}" /></a>
$$
\begin{equation}
\mathbf{S} = \frac{\partial \psi(\mathbf{C})}{\partial \frac{1}{2}\mathbf{C}}
\label{eq:pk2}
\end{equation}
$$

<a href="https://www.codecogs.com/eqnedit.php?latex=\mathbf{S}&space;=&space;2\text{C}_{10}&space;\&space;\text{dev}(\hat{\mathbf{C}})&space;\mathbf{C}^{-1}&space;&plus;&space;\kappa&space;(J-1)&space;J&space;\mathbf{C}^{-1}" target="_blank"><img src="https://latex.codecogs.com/gif.latex?\mathbf{S}&space;=&space;2\text{C}_{10}&space;\&space;\text{dev}(\hat{\mathbf{C}})&space;\mathbf{C}^{-1}&space;&plus;&space;\kappa&space;(J-1)&space;J&space;\mathbf{C}^{-1}" title="\mathbf{S} = 2\text{C}_{10} \ \text{dev}(\hat{\mathbf{C}}) \mathbf{C}^{-1} + \kappa (J-1) J \mathbf{C}^{-1}" /></a>
$$
\begin{equation}
\mathbf{S} = 2\text{C}_{10} \ \text{dev}(\hat{\mathbf{C}}) \mathbf{C}^{-1} + \kappa (J-1) J \mathbf{C}^{-1}
\label{eq:pk2-nh}
\end{equation}
$$

By evaluating the derivative of the stress with respect to one half of the right Cauchy-Green deformation tensor we get the material elasticity tensor:
By evaluating the derivative of the stress with respect to one half of the right Cauchy-Green deformation tensor we get the material elasticity tensor, see Eq. $$\eqref{eq:c4-nh}$$,

<a href="https://www.codecogs.com/eqnedit.php?latex=\mathbb{C}&space;=&space;\frac{\partial&space;\mathbf{S}}{\partial\frac{1}{2}\mathbf{C}}" target="_blank"><img src="https://latex.codecogs.com/gif.latex?\mathbb{C}&space;=&space;\frac{\partial&space;\mathbf{S}}{\partial\frac{1}{2}\mathbf{C}}" title="\mathbb{C} = \frac{\partial \mathbf{S}}{\partial\frac{1}{2}\mathbf{C}}" /></a>
$$
\begin{equation}
\mathbb{C} = \frac{\partial \mathbf{S}}{\partial\frac{1}{2}\mathbf{C}}
\label{eq:c4}
\end{equation}
$$

<a href="https://www.codecogs.com/eqnedit.php?latex=\mathbb{C}&space;=&space;2\text{C}_{10}&space;J^{-2/3}&space;\frac{2}{3}&space;\&space;(\text{tr}(\mathbf{C})&space;\&space;\mathbb{I}&space;-&space;\mathbf{1}&space;\otimes&space;\mathbf{C}^{-1}&space;-&space;\mathbf{C}^{-1}&space;\otimes&space;\mathbf{1}&space;&plus;&space;\frac{1}{3}&space;\text{tr}(\mathbf{C})&space;\&space;\mathbf{C}^{-1}&space;\otimes&space;\mathbf{C}^{-1})&space;&plus;&space;\left(\kappa&space;(J-1)&space;J&space;&plus;&space;\kappa&space;J^2\right)&space;\&space;\mathbf{C}^{-1}&space;\otimes&space;\mathbf{C}^{-1}&space;-&space;2&space;\kappa&space;(J-1)&space;J&space;\&space;\mathbb{I}" target="_blank"><img src="https://latex.codecogs.com/gif.latex?\mathbb{C}&space;=&space;2\text{C}_{10}&space;J^{-2/3}&space;\frac{2}{3}&space;\&space;(\text{tr}(\mathbf{C})&space;\&space;\mathbb{I}&space;-&space;\mathbf{1}&space;\otimes&space;\mathbf{C}^{-1}&space;-&space;\mathbf{C}^{-1}&space;\otimes&space;\mathbf{1}&space;&plus;&space;\frac{1}{3}&space;\text{tr}(\mathbf{C})&space;\&space;\mathbf{C}^{-1}&space;\otimes&space;\mathbf{C}^{-1})&space;&plus;&space;\left(\kappa&space;(J-1)&space;J&space;&plus;&space;\kappa&space;J^2\right)&space;\&space;\mathbf{C}^{-1}&space;\otimes&space;\mathbf{C}^{-1}&space;-&space;2&space;\kappa&space;(J-1)&space;J&space;\&space;\mathbb{I}" title="\mathbb{C} = 2\text{C}_{10} J^{-2/3} \frac{2}{3} \ (\text{tr}(\mathbf{C}) \ \mathbb{I} - \mathbf{1} \otimes \mathbf{C}^{-1} - \mathbf{C}^{-1} \otimes \mathbf{1} + \frac{1}{3} \text{tr}(\mathbf{C}) \ \mathbf{C}^{-1} \otimes \mathbf{C}^{-1}) + \left(\kappa (J-1) J + \kappa J^2\right) \ \mathbf{C}^{-1} \otimes \mathbf{C}^{-1} - 2 \kappa (J-1) J \ \mathbb{I}" /></a>
$$
\begin{equation}
\mathbb{C} = 2\text{C}_{10} J^{-2/3} \frac{2}{3} \ (\text{tr}(\mathbf{C}) \ \mathbb{I} - \mathbf{1} \otimes \mathbf{C}^{-1} - \mathbf{C}^{-1} \otimes \mathbf{1} + \frac{1}{3} \text{tr}(\mathbf{C}) \ \mathbf{C}^{-1} \otimes \mathbf{C}^{-1}) + \left(\kappa (J-1) J + \kappa J^2\right) \ \mathbf{C}^{-1} \otimes \mathbf{C}^{-1} - 2 \kappa (J-1) J \ \mathbb{I}
\label{eq:c4-nh}
\end{equation}
$$

with the fourth order identity tensor
with the fourth order identity tensor in Eq. $$\eqref{eq:i4}$$.

<a href="http://www.codecogs.com/eqnedit.php?latex=\mathbb{I}=&space;\mathbf{C}^{-1}&space;\odot&space;\mathbf{C}^{-1}" target="_blank"><img src="http://latex.codecogs.com/gif.latex?\mathbb{I}=&space;\mathbf{C}^{-1}&space;\odot&space;\mathbf{C}^{-1}" title="\mathbb{I}= \mathbf{C}^{-1} \odot \mathbf{C}^{-1}" /></a>
$$
\begin{equation}
\mathbb{I}= \mathbf{C}^{-1} \odot \mathbf{C}^{-1}
\label{eq:i4}
\end{equation}
$$

<a href="http://www.codecogs.com/eqnedit.php?latex=\mathbf{C}^{-1}&space;=&space;\mathbb{I}&space;:&space;\mathbf{C}" target="_blank"><img src="http://latex.codecogs.com/gif.latex?\mathbf{C}^{-1}&space;=&space;\mathbb{I}&space;:&space;\mathbf{C}" title="\mathbf{C}^{-1} = \mathbb{I} : \mathbf{C}" /></a>
$$
\begin{equation}
\mathbf{C}^{-1} = \mathbb{I} : \mathbf{C}
\label{eq:i4-projection}
\end{equation}
$$

The two equations are now implemented in a Total Lagrange user subroutine with the help of this Tensor module as follows:

Expand Down Expand Up @@ -114,4 +142,4 @@ The two equations are now implemented in a Total Lagrange user subroutine with
end
```

There are also examples for a [basic understandig of the tensor toolbox](examples/script_umat.f), the implementation of the [St.Venant Kirchhoff material](example_stvenantkirchhoff.md) and a [full featured MSC.Marc Neo-Hookean material HYPELA2 user subroutine](examples/hypela2_nh_ttb.f).
There are also examples for a [basic understandig of the tensor toolbox](examples/script_umat.f), the implementation of the [St.Venant Kirchhoff material](example_stvenantkirchhoff.md) and a [full featured Marc Neo-Hookean material HYPELA2 user subroutine](examples/hypela2_nh_ttb.f).

0 comments on commit 78e5e17

Please sign in to comment.