Hypoplasticity¶
The classical hypoplastic model for sand (von Wolffersdorff) extended with the intergranular-strain concept. Hypoplasticity describes the incrementally nonlinear, density- and pressure-dependent behaviour of granular soils with a single tensorial equation; the intergranular strain adds realistic small-strain stiffness and a much improved cyclic response. It is a robust, widely used choice for monotonic and moderate-cyclic calibrations.
At a glance
- Class:
ACT.models.hypoplasticity - numgeo name:
Hypoplasticity - Parameters with search bounds: 14
- Imported as:
from ACT.models import hypoplasticity
Default search bounds¶
These are the built-in lower/upper bounds used when a parameter is optimized. Override any of them with set_bounds.
| Parameter | Lower | Upper | Description |
|---|---|---|---|
phic |
0.3491 | 0.62832 | critical-state friction angle (radians) |
nu |
0.0 | 0.4 | Poisson's ratio |
fei |
1.02 | 1.25 | maximum void-ratio factor e_i0 |
ec |
0.5 | 1.5 | critical void-ratio factor e_c0 |
ed |
0.36 | 1.0 | minimum void-ratio factor e_d0 |
hs |
1e-3 | 45 | granulate hardness |
n |
0.1 | 0.8 | compression exponent |
alpha |
0.0 | 0.5 | pyknotropy / fabric exponent |
beta |
0.1 | 6. | barotropy exponent |
R |
4.9e-5 | 2e-4 | size of the elastic / intergranular-strain locus |
mR |
2. | 10. | intergranular-strain stiffness factor (reversal) |
mT |
1.1 | 10. | intergranular-strain stiffness factor (transverse) |
betaR |
0.05 | 1.4 | intergranular-strain evolution exponent |
chi |
0.4 | 7. | intergranular-strain evolution exponent |
Setting parameters¶
Assign initial / fixed parameter values with set(...):
from ACT.models import hypoplasticity
model = hypoplasticity()
model.set(phic=..., nu=..., fei=..., ec=..., ed=..., hs=...)
Full set signature
set(phic=None,nu=None,fei=None,ec=None,ed=None,hs=None,n=None,alpha=None,beta=None,R=None,mR=None,mT=None,betaR=None,chi=None)
Available set parameters: phic, nu, fei, ec, ed, hs, n, alpha, beta, R, mR, mT, betaR, chi.
Choosing free parameters¶
Narrow the search interval of selected parameters, then list the ones to optimize in globals.setup:
model.set_bounds(phic=[0.3491, 0.62832], nu=[0.0, 0.4], fei=[1.02, 1.25], ec=[0.5, 1.5])
globals.setup(Model=model, Free_parameter=["phic", "nu", "fei", "ec", "ed", "hs"], ...)
Parameters that accept a set_bounds override: phic, nu, fei, ec, ed, hs, n, alpha, beta, R, mR, mT, betaR, chi.
Reading & updating single parameters¶
model.update("phic", value) # set one parameter
x = model.get_parameter("phic") # read one parameter
See the models overview for the common interface shared by all models, and Optimization for how the free parameters are searched.