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

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)
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.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
ei 1.05 1.25 maximum void-ratio factor e_i0

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=[0.3491, 0.62832], 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.