Hypo-IGS¶
Hypoplasticity combined with the intergranular-strain (IGS) extension. The model uses the classical hypoplastic sand backbone and augments it with an internal intergranular-strain tensor to improve the small-strain stiffness, stiffness degradation after strain reversals and cyclic response. In numgeo-ACT it is exposed as a separate model class so that the IGS parameters can be calibrated directly against monotonic and cyclic laboratory tests.
At a glance
- Class:
ACT.models.hypoplasticity_igs - numgeo name:
Hypo-IGS - Parameters with search bounds: 13
- Imported as:
from ACT.models import hypoplasticity_igs
Units and angles
Use degrees for phic, matching the ACT defaults and bounds. The current
numgeo material also accepts radians for values at or below one, but mixing the two
conventions in one search interval is unsafe. Enter hs in GPa; ACT
converts it to kPa for numgeo. The other material parameters are
dimensionless. Optional phantom_E and pmin values use kPa.
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 |
25 | 45 | critical-state friction angle in degrees |
hs |
1e-3 | 45 | granulate hardness in GPa |
n |
0.1 | 0.5 | compression exponent |
ed |
0.36 | 1.0 | minimum void-ratio factor \(e_{d0}\) |
ec |
0.5 | 1.5 | critical void-ratio factor \(e_{c0}\) |
fei |
1.05 | 1.25 | maximum-to-critical void-ratio factor \(e_{i0}/e_{c0}\) |
alpha |
0.0 | 0.5 | pyknotropy / density exponent |
beta |
0.1 | 6.0 | barotropy exponent |
mR |
2.0 | 10.0 | IGS stiffness factor after strain reversal |
mT |
1.1 | 10.0 | IGS stiffness factor for continued loading |
R |
4.9e-5 | 2.0e-4 | size of the intergranular-strain locus |
betaR |
0.05 | 1.4 | IGS degradation parameter |
chi |
0.4 | 7.0 | IGS degradation exponent |
Setting parameters¶
Assign initial / fixed parameter values with set(...):
from ACT.models import hypoplasticity_igs
model = hypoplasticity_igs()
model.set(phic=32.0, fei=1.15, ec=0.9, ed=0.55, hs=4.0, n=0.27)
Full set signature
set(phic=None,fei=None,ec=None,ed=None,hs=None,n=None,alpha=None,beta=None,
mR=None,mT=None,R=None,betaR=None,chi=None,
phantom_E=None, phantom_nu=None, pmin=None, integrator=None)
Available set parameters: phic, fei, ec, ed, hs, n, alpha, beta, mR, mT, R, betaR, chi, phantom_E, phantom_nu, pmin, integrator.
Choosing free parameters¶
Narrow the search interval of selected parameters, then list the ones to optimize in globals.setup:
model.set_bounds(phic=[30.0, 38.0], ec=[0.75, 1.05], ed=[0.45, 0.70], hs=[0.5, 15.0])
globals.setup(Model=model, Free_parameter=["phic", "ec", "ed", "hs", "n", "alpha", "beta"], ...)
Parameters that accept a set_bounds override: phic, fei, ec, ed, hs, n, alpha, beta, mR, mT, R, betaR, chi.
Dependent mT option¶
Hypo-IGS has one special calibration mode for the intergranular-strain stiffness parameters. If mR is included in Free_parameter but mT is not included, ACT does not use the initial value of mT as an independent fixed value. Instead, the effective value is calculated during every numgeo back-calculation as
This mode is useful when only the reversal stiffness factor should be optimized and the continued-loading stiffness factor should follow a fixed ratio. The dependency is now also reflected in the text log and PDF report: mT is shown with status dependent, and the reported initial and final mT values are computed from the corresponding mR values.
from ACT.models import hypoplasticity_igs
from ACT import globals
model = hypoplasticity_igs()
model.set(mR=3.0, mT=99.0) # mT is ignored in the dependent mode below
globals.setup(
Model=model,
Free_parameter=["mR", "R", "betaR", "chi"],
# ... experimental tests, weights and path ...
)
# During ACT calibration and reporting, the effective value is mT = 0.7*mR.
If both mR and mT are included in Free_parameter, both parameters are optimized independently. If only mT is included, mR remains fixed and the usual constraint mT <= mR is checked.
Initial state variables¶
Hypo-IGS writes the usual void-ratio state variable and initial intergranular-strain components. The default igsmode='classic' initializes the IGS tensor in the same spirit as the classical intergranular-strain extension. For isotropic compression and cyclic triaxial tests, the initial IGS magnitude is distributed isotropically; for oedometric and simple-shear tests the vertical component is initialized directly. A custom initial state supplied by the experimental test definition overrides this default.
Reading & updating single parameters¶
See the models overview for the common interface shared by all models, and Optimization for how the free parameters are searched.