Sanisand-F¶
SANISAND with a fabric / memory-surface extension. The additional fabric mechanism improves the representation of cyclic behaviour and liquefaction by tracking the evolving soil fabric, at the cost of a few extra parameters.
At a glance
- Class:
ACT.models.sanisand_f - numgeo name:
Sanisand-F - Parameters with search bounds: 18
- Imported as:
from ACT.models import sanisand_f
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 |
h1 |
1 | 20 | |
h2 |
0.3 | 3 | |
c0 |
2.0 | 20.0 | |
ch |
0.3 | 1.1 | |
nd |
0.5 | 4.0 | dilatancy-surface parameter |
A0 |
0.2 | 1.4 | dilatancy parameter |
eA |
0 | 0.5 | |
r |
1 | 5 |
Setting parameters¶
Assign initial / fixed parameter values with set(...):
from ACT.models import sanisand_f
model = sanisand_f()
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, h1 = None, h2 = None, c0 = None, ch = None, nd = None, A0 = None, eA = None, r = None, phic = None)
Available set parameters: patm, e0, lambdac, xi, G0, nue, m, Mc, Me, nb, h1, h2, c0, ch, nd, A0, eA, r, 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, h1, h2, c0, ch, nd, A0, eA, r.
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.