Skip to content

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.