Barotropic Elasticity
The barotropic elasticity model is a linear isotropic (hypo)elastic model with a pressure-dependent Young’s modulus (barotropy) and an optional void-ratio dependent scaling (pyknotropy). The Poisson’s ratio is constant. No plasticity, hardening, or return mapping is involved; the stress update is performed in a single elastic step.
Contents
- Overview
- Stress Measures
- Barotropic and Pyknotropic Stiffness Scaling
- Elastic Jacobian
- Stress Update Algorithm
- Material Parameters
- Internal State Variables (
matvar)
Overview
The model updates the Cauchy stress vector as
where the elastic stiffness \(\mathbf{D}^e\) is isotropic and defined by the current Young’s modulus \(E\) and Poisson’s ratio \(\nu\). The modulus is computed as
with
- \(f_p(p)\): barotropy function (pressure dependence),
- \(f_e(e)\): pyknotropy function (void-ratio dependence, optional).
The implementation returns the elastic Jacobian \(\partial \boldsymbol{\sigma}/\partial \boldsymbol{\varepsilon}\) built from the current \(E\) and \(\nu\).
Barotropic and Pyknotropic Stiffness Scaling
Barotropy function
The pressure-dependent scaling is
where
- \(n\) is the barotropic exponent,
- \(p^{ref}\) is a reference pressure (compression is positive).
In the implementation, \(p^{ref}\) is lower-bounded for robustness:
Pyknotropy (void-ratio dependence)
If the void ratio is active (see activation criterion below), the model applies
The void ratio is updated internally from the volumetric strain increment using
Pyknotropy is only applied if the stored void ratio is initialised and sufficiently large:
-
if \(e > 10^{-3}\), pyknotropy is active and \(e\) is updated,
-
otherwise, pyknotropy is deactivated, and the model uses
\[ f_e = 1 ~~~;~~~ e = 0. \]
Practical implication
To use pyknotropy, initialise the void ratio at the start of the analysis. Otherwise, the model reduces to purely barotropic elasticity with \(f_e=1\).
Resulting Young’s modulus
The Young’s modulus used in the increment is
-
with active pyknotropy:
\[ E = E^{ref}\left(\frac{p}{p^{ref}}\right)^n \frac{1+e_{n+1}}{e_{n+1}}, \] -
without pyknotropy:
\[ E = E^{ref}\left(\frac{p}{p^{ref}}\right)^n. \]
Here, \(p\) is evaluated from the stress at the beginning of the increment, while \(e_{n+1}\) is computed using the current strain increment.
Elastic Jacobian
With the updated \(E\) and constant \(\nu\), the isotropic elastic constants are
Material Parameters
| Index | Symbol | Unit | Description |
|---|---|---|---|
| 1 | \(E^{ref}\) | F/A | Reference Young’s modulus. |
| 2 | \(\nu\) | - | Poisson’s ratio. |
| 3 | \(n\) | - | Barotropic exponent in \(f_p=(p/p^{ref})^n\). |
| 4 | \(p^{ref}\) | F/A | Reference pressure (internally enforced as \(p^{ref}\ge 1\)). |
Internal State Variables (matvar)
The implementation uses the following state entries:
matvar(1)— void ratio \(e\) (if \(\le 10^{-3}\), pyknotropy is deactivated)matvar(2)— barotropy factor \(f_p\)matvar(3)— pyknotropy factor \(f_e\)
-
Reference manual