Sanisand-2¶
A SANISAND variant with a parameterization tailored for efficient calibration. It retains the critical-state bounding-surface structure of SANISAND while exposing a compact set of bounded parameters.
At a glance
- Class:
ACT.models.sanisand2 - numgeo name:
Sanisand-2 - Parameters with search bounds: 16
- Imported as:
from ACT.models import sanisand2
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 |
|---|---|---|---|
patm |
100. | 100. | atmospheric reference pressure |
e0 |
0.6 | 1.8 | reference void ratio |
lambdac |
0.005 | 0.25 | slope of the critical-state line |
xi |
0.2 | 1.0 | critical-state line exponent |
G0 |
50 | 200 | shear-modulus constant |
nue |
0.001 | 0.1 | Poisson's ratio |
m |
0.005 | 0.05 | |
Mc |
1.1 | 1.55 | critical stress ratio in triaxial compression |
Me |
0.7 | 1.25 | critical stress ratio in triaxial extension |
nb |
0.6 | 2.5 | bounding-surface parameter |
h0 |
1 | 20 | plastic-modulus / hardening parameter |
ch |
0.3 | 1.1 | |
nd |
0.5 | 4.0 | dilatancy-surface parameter |
A0 |
0.2 | 1.4 | dilatancy parameter |
zmax |
1 | 60 | maximum fabric (dilatancy) |
cz |
50 | 1e4 | fabric-evolution parameter |
Setting parameters¶
Assign initial / fixed parameter values with set(...):
from ACT.models import sanisand2
model = sanisand2()
model.set(patm=..., e0=..., lambdac=..., xi=..., G0=..., nue=...)
Full set signature
set(patm=None, e0 = None, lambdac = None, xi = None, G0 = None, nue = None, m = None, Mc = None, Me=None, nb = None, h0 = None, ch = None, nd = None, A0 = None, zmax = None, cz = None, phic = None)
Available set parameters: patm, e0, lambdac, xi, G0, nue, m, Mc, Me, nb, h0, ch, nd, A0, zmax, cz, phic.
Choosing free parameters¶
Narrow the search interval of selected parameters, then list the ones to optimize in globals.setup:
model.set_bounds(patm=[100., 100.], e0=[0.6, 1.8], lambdac=[0.005, 0.25], xi=[0.2, 1.0])
globals.setup(Model=model, Free_parameter=["patm", "e0", "lambdac", "xi", "G0", "nue"], ...)
Parameters that accept a set_bounds override: patm, e0, lambdac, xi, G0, nue, m, Mc, Me, nb, h0, ch, nd, A0, zmax, cz.
Reading & updating single parameters¶
model.update("patm", value) # set one parameter
x = model.get_parameter("patm") # read one parameter
See the models overview for the common interface shared by all models, and Optimization for how the free parameters are searched.