Skip to content

Hypo-ISA

Hypoplasticity combined with Intergranular Strain Anisotropy (ISA). ISA replaces the original intergranular-strain extension with an elastoplastic formulation of the intergranular strain, giving a clean small-strain stiffness, hysteresis and accumulation behaviour. This is the model used in the calibration shown on the home page and is a strong default for cyclic loading. A time integrator parameter selects forward Euler (1) or modified Euler (2).

At a glance

  • Class: ACT.models.hypoplasticity_isa
  • numgeo name: Hypo-ISA
  • Parameters with search bounds: 16
  • Imported as: from ACT.models import hypoplasticity_isa

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 (degrees in ACT)
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 (GPa in ACT)
n 0.1 0.5 compression exponent
alpha 0.0 0.5 pyknotropy / fabric exponent
beta 0.1 6. barotropy exponent
R 1e-4 2.5e-4 size of the elastic / intergranular-strain locus
mR 2. 12. intergranular-strain stiffness factor (reversal)
beta_h0 0.05 1.0 ISA hardening parameter (initial)
beta_hmax 1.0 5.0 ISA hardening parameter (maximum)
chi0 1. 10. ISA hardening exponent (initial)
chi_max 5 50 ISA hardening exponent (maximum)
eps_acc 1e-2 0.05 ISA accumulation parameter
cz 100 5000 fabric-evolution parameter
fei 1.05 1.25 maximum-to-critical void-ratio factor \(e_{i0}/e_{c0}\)

Setting parameters

Assign initial / fixed parameter values with set(...):

from ACT.models import hypoplasticity_isa

model = hypoplasticity_isa()
model.set(phic=..., fei=..., ec=..., ed=..., hs=..., n=...)

Full set signature

set(phic=None,fei=None,ec=None,ed=None,hs=None,n=None,alpha=None,beta=None, R=None,mR=None,beta_h0=None,beta_hmax=None,chi0=None,chi_max=None,eps_acc=None,cz=None, phantom_E=None, phantom_nu=None, pmin=None, integrator=None)

Available set parameters: phic, fei, ec, ed, hs, n, alpha, beta, R, mR, beta_h0, beta_hmax, chi0, chi_max, eps_acc, cz, 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=[25.0, 45.0], ec=[0.5, 1.5], ed=[0.36, 1.0], hs=[1e-3, 45])
globals.setup(Model=model, Free_parameter=["phic", "ec", "ed", "hs", "n", "alpha"], ...)

Parameters that accept a set_bounds override: phic, fei, ec, ed, hs, n, alpha, beta, R, mR, beta_h0, beta_hmax, chi0, chi_max, eps_acc, cz.

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.