HolzapfelGasserOgdenElastic
The Holzapfel-Gasser-Ogden (HGO) anisotropic hyperelastic law for fibre-reinforced soft tissue, in particular arterial wall. The runtime type is:
HolzapfelGasserOgdenElastic
The constitutive model is due to G. A. Holzapfel, T. C. Gasser and R. W. Ogden (2000).
User Guide
What it computes
This is a finite-strain law: it implements the finite-strain update only, so it is used with a nonlinear geometry solid model. A linear geometry solid model asks for the small-strain update, and the run stops with an error.
The response is a neo-Hookean ground substance plus two exponential fibre families, wound symmetrically about the circumferential direction Ec:
W = 0.5*mu*(I1bar - 3)
+ (k1/(2*k2))*sum_i (exp(k2*sqr(I_i - 1)) - 1)
+ U(J)
N4 = cos(fibreAngle)*Ec + sin(fibreAngle)*Ea
N6 = -cos(fibreAngle)*Ec + sin(fibreAngle)*Ea
All invariants are taken on the isochoric deformation Fbar = J^(-1/3)*F:
bbar = symm(Fbar & Fbar^T)
Cbar = symm(Fbar^T & Fbar)
I4 = Cbar && symm(N4*N4), n4 = Fbar & N4
I6 = Cbar && symm(N6*N6), n6 = Fbar & N6
T = mu*bbar
+ 2*k1*(I4 - 1)*exp(k2*sqr(I4 - 1))*symm(n4*n4)
+ 2*k1*(I6 - 1)*exp(k2*sqr(I6 - 1))*symm(n6*n6)
sigma = dev(T)/J + dU/dJ*I
U(J) = 0.25*K*(J^2 - 1 - 2*ln(J))
dU/dJ = 0.5*K*(J^2 - 1)/J
where K is bulkModulus, a penalty enforcing near incompressibility.
The fibre terms are active in compression as well as tension. The standardHGO model switches them off when I4 < 1; this implementation does not, andhas no fibre dispersion parameter.
A deformation gradient with J <= sqrt(SMALL) stops the run.
Model options
| Entry | Required | Default | Description |
|---|---|---|---|
rho | yes | - | Density, [1 -3 0 0 0 0 0] |
mu | yes | - | Ground-substance shear modulus, pressure units, > 0 |
k1 | yes | - | Fibre stress scale, pressure units |
k2 | yes | - | Fibre exponent; dimensioned, dimensionless |
fibreAngle | yes | - | Angle from Ec, in degrees; dimensioned |
bulkModulus | yes | - | Volumetric penalty K, pressure units, > 0 |
uniformLocalBasis | no | no | Default Ec, Ea from this dictionary |
Ec | if uniform | - | Circumferential direction vector |
Ea | if uniform | - | Axial direction vector |
k2 and fibreAngle are read as dimensioned scalars, e.g. k2 k2 [0 0 0 0 0 0 0] 1.465;, and only their values are used. mu and bulkModulus must be positive; otherwise construction stops with an error.
Local basis
Ec and Ea are prescribed state variables. When the manager sets up the law's state it looks, for each, for a volVectorField of that name:
- a file in the current (start) time directory;
- a file in
0; - a field already registered by another model.
If one is found it is used, mapped from the cells to the law's integration points. Otherwise the dictionary vector is used when uniformLocalBasis is yes, and a zero vector when it is not. A zero-length Ec or Ea stops the run at the first evaluation. Both are normalised before use, so they need not be unit vectors. A field in the time directory takes precedence over the dictionary vector even when uniformLocalBasis is yes.
In the ratCarotid tutorial the fields are written by the case-local calcLocCoordinates utility, which Allrun compiles and runs before the solver.
State variables
| Name | Type | Role | Description |
|---|---|---|---|
Ec | vector | prescribed | Reference circumferential direction |
Ea | vector | prescribed | Reference axial direction |
Prescribed variables are read once and never written back, so they are not written with the results or to the restart files. The law has no persistent history.
Tangents
scalar:(4/3)*mu + K. The fibre stiffness is not included; it is a constant stiffness estimate for the segregated solver, not a tangent of the energy.scalarDeviatoric:(4/3)*mu, for mixed displacement-pressure formulations.fourthOrderFiniteDifference: supported, through the base class.fourthOrder(analytical): not implemented; requesting it is a fatal error.
Mixed displacement-pressure formulation
The law provides the volumetric split, so it can be used with a mixed formulation such as coupledPressureDisplacementSolid or nonLinearGeometryTotalLagrangianTotalDisplacement with solvePressure true. The solid model asks for the isochoric stress and dU/dJ separately and replaces dU/dJ with its solved pressure. A large bulkModulus approaches the incompressible limit; ratCarotid uses one thousand times mu. The law can also be run in the displacement-only formulation, where the penalty alone controls the volume change.
Differences from the legacy law
- The shear modulus is given as
muonly.Eandnuare no longer read, and thenu = 0.5requirement is gone. The givenmuis used as it is: the legacy law overwrote it at start-up with a perturbation estimate. bulkModulusis new and required. The legacy law was incompressible only and took the spherical stress from the solid model'spandpffields; this law never readsp, and the pressure enters through the volumetric split instead, so it is no longer tied tocoupledPressureDisplacementSolid.- The invariants are taken on
Fbar; the legacy law assumedJ = 1. - Only
EcandEaare needed, as cell fields.Er,Ecf,EafandErfare no longer read. A uniform basis can be given in the dictionary withuniformLocalBasis. impKcoeffis no longer read, and the per-step effective shear modulus used for the implicit stiffness is replaced by the constant scalar tangents above. Unused legacy entries are ignored rather than reported.
Example
From the ratCarotid tutorial:
planeStress no;
mechanical
(
pipe
{
type HolzapfelGasserOgdenElastic;
rho rho [1 -3 0 0 0 0 0] 1200;
mu mu [1 -1 -2 0 0 0 0] 44.23e3;
fibreAngle fibreAngle [0 0 0 0 0 0 0] 39.76;
k1 k1 [1 -1 -2 0 0 0 0] 0.206e3;
k2 k2 [0 0 0 0 0 0 0] 1.465;
bulkModulus bulkModulus [1 -1 -2 0 0 0 0] 44.23e6;
}
);
Ec and Ea are read from the fields written by calcLocCoordinates. For a uniform basis instead:
uniformLocalBasis yes;
Ec (1 0 0);
Ea (0 1 0);
Tutorials
solids/hyperelasticity/ratCarotid: by default withnonLinearGeometryTotalLagrangianTotalDisplacementandsolvePressure true;./Allrun pressureDisplacementselectscoupledPressureDisplacementSolid(foam-extend only).
References
- G. A. Holzapfel, T. C. Gasser and R. W. Ogden, A new constitutive framework for arterial wall mechanics and a comparative study of material models, Journal of Elasticity, 61 (2000) 1-48.