Skip to content

Sanisand

The SANISAND critical-state, bounding-surface plasticity model for sands (Dafalias & Manzari). A single parameter set covers a range of densities and pressures, making it a popular choice for monotonic and cyclic analyses, including liquefaction.

At a glance

  • Class: ACT.models.sanisand
  • numgeo name: Sanisand
  • Parameters with search bounds: 0
  • Imported as: from ACT.models import sanisand

Default search bounds

Note

The default search bounds for this model are not defined in the model constructor; supply them explicitly with set_bounds before optimizing (each as parameter=[lower, upper]).

Setting parameters

Assign initial / fixed parameter values with set(...):

from ACT.models import sanisand

model = sanisand()
model.set(p_atm=..., e0=..., lambda_c=..., xi=..., G0=..., nue=...)

Full set signature

set(p_atm=None, e0 = None, lambda_c = None, xi = None, G0 = None, nue = None, m = None, M_c = None, M_e=None, n_b = None, h0 = None, c_h = None, n_d = None, A0 = None, z_max = None, c_z = None, phic = None)

Available set parameters: p_atm, e0, lambda_c, xi, G0, nue, m, M_c, M_e, n_b, h0, c_h, n_d, A0, z_max, c_z, phic.

Choosing free parameters

Narrow the search interval of selected parameters, then list the ones to optimize in globals.setup:

globals.setup(Model=model, Free_parameter=[], ...)

Reading & updating single parameters

model.update("p_atm", value)   # set one parameter
x = model.get_parameter("p_atm")  # read one parameter

See the models overview for the common interface shared by all models, and Optimization for how the free parameters are searched.