Ogden

Ogden is a stateless finite-strain hyperelastic material model (src/models/Ogden.jl). It implements Ogden's isotropic hyperelastic model [1, 2, 3] with a quadratic volumetric penalty. The model accepts an arbitrary number of terms through the parameter vectors μ and α, while scalar arguments are treated as a one-term shorthand.

Mathematical formulation

The model uses the deformation gradient $\boldsymbol{F}$, the right Cauchy-Green tensor $\boldsymbol{C}=\boldsymbol{F}^{\mathrm{T}}\boldsymbol{F}$, and the volume ratio $J=\det\boldsymbol{F}=\sqrt{\det\boldsymbol{C}}$. Further, let $\lambda_i$ denote the principal stretches, with $\lambda_i^2$ being the eigenvalues of $\boldsymbol{C}$. The implemented free energy density is defined as

\[\Psi(\boldsymbol{C}) := \sum_{a=1}^{N_\mathrm{terms}} \frac{\mu_a}{\alpha_a} \left[ J^{-\alpha_a/3} \sum_{i=1}^{3}\lambda_i^{\alpha_a} -3 \right] + \frac{\kappa}{2}\left[J-1\right]^2 \text{.}\]

The first part is isochoric since $J^{-\alpha_a/3}\lambda_i^{\alpha_a}=\bar{\lambda}_i^{\alpha_a}$ with $\bar{\lambda}_i=J^{-1/3}\lambda_i$. The second part is a quadratic volumetric penalty governed by the bulk modulus $\kappa$. The implementation follows the $\mu_a/\alpha_a$ Ogden convention, so the infinitesimal shear modulus is

\[\mu_0 = \frac{1}{2} \sum_{a=1}^{N_\mathrm{terms}}\mu_a\alpha_a \text{.}\]

The one-term case with $\alpha_1=2$ reduces to MooneyRivlin with $C_{10}=\mu_1/2$, $C_{01}=0$, and the same $\kappa$.

Stress evaluation

For implementation, we define $p_a=\alpha_a/2$, so that $\lambda_i^{\alpha_a}=\left(\lambda_i^2\right)^{p_a}$ turns each stretch power into a power of an eigenvalue of $\boldsymbol{C}$; the stretch sum becomes $\sum_i\lambda_i^{\alpha_a}=\operatorname{tr}\left(\boldsymbol{C}^{p_a}\right)$, evaluated without an explicit eigendecomposition into principal directions. Using spectral powers of $\boldsymbol{C}$, the isochoric contribution of term $a$ to the second Piola-Kirchhoff stress (PK2) reads

\[\boldsymbol{S}^{\mathrm{iso}}_a = \mu_a J^{-\alpha_a/3} \left[ \boldsymbol{C}^{p_a-1} - \frac{\operatorname{tr}\left(\boldsymbol{C}^{p_a}\right)}{3} \boldsymbol{C}^{-1} \right] \text{,}\]

while the volumetric contribution is

\[\boldsymbol{S}_\mathrm{vol} = \kappa J\left[J-1\right]\boldsymbol{C}^{-1} \text{,}\]

The second Piola-Kirchhoff stress is

\[\boldsymbol{S} = \boldsymbol{S}_\mathrm{vol} + \sum_{a=1}^{N_\mathrm{terms}}\boldsymbol{S}^{\mathrm{iso}}_a \text{,}\]

while the first Piola-Kirchhoff stress (PK1) used by the assembler is

\[\boldsymbol{P}=\boldsymbol{F}\boldsymbol{S}\]

and the Cauchy stress is

\[\boldsymbol{\sigma} = \frac{1}{J}\boldsymbol{P}\boldsymbol{F}^{\mathrm{T}} \text{.}\]

Implementation details

State variables

Ogden is rate-independent and stateless (create_state returns NoState()). The dt keyword is ignored.

Tangent formulation

Ogden provides an exact analytical tangent. The tangent differentiates the spectral powers $\boldsymbol{C}^{p_a}$ through divided differences and uses the repeated-eigenvalue limit when two eigenvalues coincide. At the undeformed state $\boldsymbol{C}=\boldsymbol{I}$, and more generally when two principal stretches coincide, direct AD through the spectral powers can return non-finite derivatives. The analytical tangent avoids this by using divided differences with repeated-eigenvalue limits. No AD tangent option is therefore provided.

Wrapper paths

PlaneStrain(Ogden(...)) and PlaneStress(Ogden(...)) use the generic wrappers. Unlike other bundled hyperelastic models, Ogden is not routed through compute_PK1_3D as differentiating that hook goes through spectral powers, which are non-finite at repeated principal stretches. In turn, the analytical tangent stays finite.

Constructor

Ogden(μ, α, κ)

μ and α can be real scalars, tuples, or vectors. They must contain the same nonzero number of finite terms. Every α entry must be nonzero, κ must be finite and positive, and the combined small-strain shear modulus 0.5 * sum(μ .* α) must be positive. Individual negative fitted terms are accepted when the combined small-strain shear modulus is positive. This constructor check does not guarantee ellipticity or stability over all finite-strains.

2D usage

material = PlaneStress(Ogden(μ, α, κ))   # plane stress
material = PlaneStrain(Ogden(μ, α, κ))   # plane strain

For wrapper mechanics, see Wrappers.

Model parameters

Constructor argumentSymbolDescription
μ$\mu_a$Term coefficient in the classic $\mu_a/\alpha_a$ Ogden convention
α$\alpha_a$Nonzero principal stretch exponent for each term
κ$\kappa$Bulk modulus

Provenance and acknowledgements

The constitutive equations follow Ogden's isotropic hyperelastic model [1]. Ogden also treated compressible rubberlike solids [2]; the decoupled form implemented here follows Flory [4] and Ogden [5]. The Julia implementation was written for FerriteSolidMechanics.jl; no external code was translated or adapted.

The implementation is maintained by Lukas Laubert. Sebastian Pfaller is gratefully acknowledged for proofreading this page.

References

[1] Ogden, R. W. (1972). Large deformation isotropic elasticity – on the correlation of theory and experiment for incompressible rubberlike solids. Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences, 326(1567), 565-584. doi:10.1098/rspa.1972.0026

[2] Ogden, R. W. (1972). Large deformation isotropic elasticity: on the correlation of theory and experiment for compressible rubberlike solids. Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences, 328(1575), 567-583. doi:10.1098/rspa.1972.0096

[3] Ogden, R. W. (1984). Non-Linear Elastic Deformations. Ellis Horwood. (Dover reprint, 1997).

[4] Flory, P. J. (1961). Thermodynamic relations for high elastic materials. Transactions of the Faraday Society, 57, 829-838. doi:10.1039/TF9615700829

[5] Ogden, R. W. (1978). Nearly isochoric elastic deformations: application to rubberlike solids. Journal of the Mechanics and Physics of Solids, 26(1), 37-57. doi:10.1016/0022-5096(78)90012-1