A constitutive model relates deformation to stress. This post introduces that idea through a few interactive examples, starting from strain measures and ending with simple hyperelastic and learned models.

Contents:


Deformation and strain

Consider a small material element in a reference configuration. A deformation map \(\boldsymbol{\varphi}\) sends each reference point \(\mathbf{X}\) to a new position \(\mathbf{x} = \boldsymbol{\varphi}(\mathbf{X})\). The local linear approximation of that map is the deformation gradient

\[\mathbf{F} = \frac{\partial \mathbf{x}}{\partial \mathbf{X}}.\]

Since rigid body rotations should not create strain energy, many finite-strain models use the right Cauchy-Green tensor

\[\mathbf{C} = \mathbf{F}^\mathsf{T}\mathbf{F},\]

which removes any superposed rotation.

Use the widget below to deform a material element. In this example, the sliders define

\[\mathbf{F} = \mathbf{R}_z(\theta) \begin{bmatrix} \lambda_x & \gamma & 0 \\ 0 & \lambda_y & 0 \\ 0 & 0 & \lambda_z \end{bmatrix},\]

where \(\lambda_x,\lambda_y,\lambda_z\) are directional stretches, \(\gamma\) is simple shear strain, and

\[\mathbf{R}_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix}\]

is a rotation matrix applied after the stretch/shear. Notice that \(\mathbf{F}\) changes under this rotation, but \(\mathbf{C}\) and the invariants do not.

Tensor invariants

For isotropic materials, the strain energy cannot depend on the orientation of the material axes. It can only depend on quantities that are unchanged by rotations. For \(\mathbf{C}\), the standard invariants are

\[I_1 = \mathrm{tr}\,\mathbf{C},\] \[I_2 = \frac{1}{2}\left[(\mathrm{tr}\,\mathbf{C})^2 - \mathrm{tr}(\mathbf{C}^2)\right],\] \[I_3 = \det \mathbf{C} = J^2,\]

where \(J = \det \mathbf{F}\) measures the local volume change. Equivalently, if \(\lambda_1,\lambda_2,\lambda_3\) are the principal stretches, then

\[I_1 = \lambda_1^2 + \lambda_2^2 + \lambda_3^2,\] \[I_2 = \lambda_1^2\lambda_2^2 + \lambda_2^2\lambda_3^2 + \lambda_1^2\lambda_3^2,\] \[I_3 = \lambda_1^2\lambda_2^2\lambda_3^2.\]

This is why many isotropic hyperelastic models are written as \(W(I_1, I_2, J)\), where \(W\) is the strain-energy density, rather than as arbitrary functions of all components of \(\mathbf{F}\).


Stress and constitutive models

The stress tensor describes the force per unit area acting on a material element. Depending on the choice of reference configuration, different stress tensors can be defined, e.g. the the Cauchy stress \(\boldsymbol{\sigma}\), first Piola-Kirchhoff stress \(\mathbf{P}\), and the second Piola-Kirchhoff stress \(\mathbf{S}\). The Cauchy stress acts on the current deformed area, while Piola stresses are convenient when the equations are written on the reference configuration. In terms of the Cauchy stress tensor \(\boldsymbol{\sigma}\), the first and second Piola-Kirchhoff stress tensors are given by \(\mathbf{P} = J\boldsymbol{\sigma} \mathbf{F}^{\mathsf{T}}\) and \(\mathbf{S} = J \mathbf{F}^{-1} \boldsymbol{\sigma} (\mathbf{F}^{-1})^{\mathsf{T}}\), respectively.

The simplest elastic model is small-strain linear elasticity:

\[\boldsymbol{\sigma} = \lambda\,\mathrm{tr}(\boldsymbol{\varepsilon})\mathbf{I} + 2\mu\,\boldsymbol{\varepsilon},\]

where \(\lambda\) and \(\mu\) are the Lamé parameters, \(\mathbf{u}\) is the displacement field, and \(\boldsymbol{\varepsilon} = \tfrac{1}{2}(\nabla\mathbf{u} + \nabla\mathbf{u}^{\mathsf{T}})\) is the small-strain tensor.

For soft materials like rubber and biological tissue, finite strains are often relevant. A hyperelastic model defines a strain-energy density \(W\) and obtains stress by differentiating it. Two common hyperelastic models are:

Neo-Hookean

\[W = \frac{\mu}{2}(I_1 - 3),\]

Mooney-Rivlin

\[W = C_1(I_1 - 3) + C_2(I_2 - 3).\]

Here \(\mu\) is a shear-modulus-like material parameter, while \(C_1\) and \(C_2\) are Mooney-Rivlin material constants. The neo-Hookean model is the finite-strain cousin of a linear elastic solid. Mooney-Rivlin adds dependence on the second invariant \(I_2\).

About incompressibility

The formulas above assume \(J = 1\). In practice, nearly incompressible materials are often modeled with a volumetric penalty such as

\[W_\mathrm{vol}(J) = \frac{K}{2}(J - 1)^2,\]

where \(K\) is a bulk modulus much larger than the shear modulus. The widget below uses incompressible loading paths for the hyperelastic curves, so the volume of the element is preserved.

In the widget below, the horizontal axis is an relevant strain parameter \(\epsilon\) and the vertical axis is the corresponding Cauchy stress component in arbitrary units.


Machine-learned constitutive models

Machine-learned constitutive models replace part of a hand-written constitutive law with a learned function. For example, one may learn the first Piola–Kirchhoff stress directly,

\[\mathbf{P}_\theta = f_\theta(\mathbf{F}),\]

or, in a hyperelastic setting, learn a strain-energy density and obtain the stress by differentiation,

\[W_\theta = f_\theta(I_1, I_2, J), \qquad \mathbf{P}_\theta = \frac{\partial W_\theta}{\partial \mathbf{F}},\]

where \(\theta\) denotes the learned parameters. Here \(I_1\), \(I_2\), and \(J\) are typically invariants of \(\mathbf{C}=\mathbf{F}^{\mathsf T}\mathbf{F}\) together with \(J=\det \mathbf{F}\).


Relevant references

  1. R.W. Ogden, Non-Linear Elastic Deformations (Dover, 1997).

  2. G.A. Holzapfel, Nonlinear Solid Mechanics: A Continuum Approach for Engineering (Wiley, 2000).

  3. L.R.G. Treloar, The Physics of Rubber Elasticity, 3rd ed. (Oxford University Press, 1975).

  4. K. Linka and E. Kuhl, A new family of constitutive artificial neural networks toward automated model discovery, Computer Methods in Applied Mechanics and Engineering 403, 115731 (2023).

  5. L. Linden, D.K. Klein, K.A. Kalina, J. Brummund, O. Weeger, and M. Kästner, Neural networks meet hyperelasticity: A guide to enforcing physics, Journal of the Mechanics and Physics of Solids 179, 105363 (2023).