ISA-SAND¶
An ISA-based sand model formulated around critical-state concepts. It combines an isotropic compression law and a critical-state line with the ISA intergranular-strain mechanism, and offers a rich parameter set for capturing both monotonic strength/dilatancy and cyclic behaviour.
At a glance
- Class:
ACT.models.ISA - numgeo name:
ISA-SAND - Parameters with search bounds: 21
- Imported as:
from ACT.models import 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 |
|---|---|---|---|
lambdai |
0.01 | 0.5 | slope of the isotropic compression line |
npi |
0.5 | 1.0 | |
nei |
1.0 | 3.0 | |
ei0 |
0.6 | 1.6 | maximum void ratio at p=0 |
lambdac |
0.001 | 0.5 | slope of the critical-state line |
npc |
0.0 | 1.0 | |
ec0 |
0.6 | 1.6 | critical void ratio at p=0 |
Mc |
0.6 | 1.6 | critical stress ratio in triaxial compression |
nu |
0.1 | 0.37 | Poisson's ratio |
nd |
0.1 | 4.5 | dilatancy-surface parameter |
fb0 |
1.1 | 2 | |
cd |
80 | 1000 | |
rf |
0 | 4 | |
zf |
30 | 100 | |
zmax0 |
1 | 50 | |
cz |
1 | 10000 | fabric-evolution parameter |
epsf |
0 | 0.05 | |
mR |
1. | 15. | intergranular-strain stiffness factor (reversal) |
R |
1e-5 | 5e-4 | size of the elastic / intergranular-strain locus |
beta |
0.01 | 2. | barotropy exponent |
chi |
0.1 | 30. | intergranular-strain evolution exponent |
Setting parameters¶
Assign initial / fixed parameter values with set(...):
from ACT.models import ISA
model = ISA()
model.set(lambdai=..., npi=..., nei=..., ei0=..., lambdac=..., npc=...)
Full set signature
set(lambdai=None, npi = None, nei = None, ei0 = None, lambdac = None, npc = None, ec0 = None, Mc = None, nu=None, nd = None, fb0 = None, cd = None, rf = None, zf = None, zmax0 = None, cz = None, epsf = None, phic = None, mR = None, R = None, beta = None, chi = None)
Available set parameters: lambdai, npi, nei, ei0, lambdac, npc, ec0, Mc, nu, nd, fb0, cd, rf, zf, zmax0, cz, epsf, phic, mR, R, beta, chi.
Choosing free parameters¶
Narrow the search interval of selected parameters, then list the ones to optimize in globals.setup:
model.set_bounds(lambdai=[0.01, 0.5], npi=[0.5, 1.0], nei=[1.0, 3.0], ei0=[0.6, 1.6])
globals.setup(Model=model, Free_parameter=["lambdai", "npi", "nei", "ei0", "lambdac", "npc"], ...)
Parameters that accept a set_bounds override: lambdai, npi, nei, ei0, lambdac, npc, ec0, Mc, nu, nd, fb0, cd, rf, zf, zmax0, cz, epsf, mR, R, beta, chi.
Reading & updating single parameters¶
model.update("lambdai", value) # set one parameter
x = model.get_parameter("lambdai") # read one parameter
See the models overview for the common interface shared by all models, and Optimization for how the free parameters are searched.