Constitutive models¶
numgeo-ACT can calibrate eleven constitutive models, spanning the hypoplastic,
IGS, ISA, SANISAND, high-cycle-accumulation and Ta-Ger families. Every model is a
Python class in ACT.models and exposes the same interface, so switching
models in a calibration is a one-line change.
Supported models¶
| Model | Class | name string |
Free parameters | Family / use |
|---|---|---|---|---|
| Hypoplasticity | hypoplasticity |
Hypoplasticity |
14 | Classical sand hypoplasticity (von Wolffersdorff) with intergranular strain |
| Hypo-ISA | hypoplasticity_isa |
Hypo-ISA |
16 | Hypoplasticity with Intergranular Strain Anisotropy — small-strain & cyclic |
| Hypo-IGS | hypoplasticity_igs |
Hypo-IGS |
13 | Hypoplasticity with intergranular strain — small-strain & cyclic |
| ISA-SAND | ISA |
ISA-SAND |
21 | ISA-based sand model |
| HCA-Sand | HCA_sand |
HCA_sand |
15 | High-cycle accumulation (explicit) model |
| Sanisand | sanisand |
Sanisand |
17 | SANISAND critical-state bounding-surface model |
| Sanisand-2 | sanisand2 |
Sanisand-2 |
16 | SANISAND variant |
| Sanisand-F | sanisand_f |
Sanisand-F |
18 | SANISAND with fabric / memory-surface extension |
| Sanisand-MSf | sanisand_msf |
Sanisand-MSf |
29 | SANISAND with semifluidized-state extension |
| Ta-Ger | ta_ger |
Ta-Ger |
11 | Ta-Ger sand model |
| Mod-Ta-Ger | mod_ta_ger |
Mod-Ta-Ger |
14 | Ta-Ger with fabric extension (inherits Ta-Ger) |
The free parameters column gives how many parameters can be optimized (i.e.
have a search bound). You choose which subset to actually optimize via the
Free_parameter list in globals.setup;
the rest stay fixed at the values you set.
Models map to numgeo
Each model's name string corresponds to the constitutive model
implementation in numgeo. When numgeo-ACT writes the numgeo material for a
simulation, it uses this name — so the calibration reflects the same model
you will use in your boundary-value problems. See the
numgeo material reference for the
model formulations.
The common model interface¶
Every model class provides the same methods:
| Method | Purpose |
|---|---|
set(...) |
assign parameter values (initial / fixed) |
set_bounds(...) |
override the lower/upper search interval of individual parameters |
update(parameter, value) |
set a single parameter by name |
get_parameter(parameter) |
read a single parameter by name |
list_parameter_all() |
list every parameter of the model |
list_parameter_optimize(free) |
list the parameters being optimized |
list_parameter_fixed(free) |
list the parameters held fixed |
parameter_bounds(free_parameter) |
the bounds of the free parameters |
write_numgeo_material(...) |
write the numgeo material definition |
write_numgeo_initial_state_variables(...) |
write the initial state variables |
The constructor of every model accepts three output directories (with sensible defaults):
model = hypoplasticity_isa(
out_dir="./results/", # final results
out_dir2="./run_tmp/", # temporary run files
out_dir3="./run_final/", # final run files
)
Typical use in a calibration¶
from ACT.models import sanisand2
model = sanisand2() # defaults + default bounds are pre-set
model.set(G0=120, Mc=1.30, lambdac=0.03) # initial / fixed values
model.set_bounds(G0=[80, 160], Mc=[1.1, 1.5]) # narrow some search intervals
# read / write single parameters
model.update("nb", 1.2)
print(model.get_parameter("nb"))
Then list the free parameters in setup:
Choosing a model¶
Each model page documents the model's purpose, its default search bounds,
the exact arguments of set / set_bounds, and the parameters available for
optimization:
Hypoplastic family¶
Hypoplasticity · Hypo-IGS · Hypo-ISA · ISA-SAND — incrementally nonlinear models with intergranular-strain / ISA extensions for small-strain and cyclic behaviour.
Critical-state-line helper¶
Critical-state-line calibration — Bauer and Li-Wang CSL fitting from direct \(p\)-\(e\) data, oedometric compression data or Bolton-generated points.
SANISAND family¶
Sanisand · Sanisand-2 · Sanisand-F · Sanisand-MSf — critical-state bounding-surface plasticity for sands, including fabric and semifluidized extensions for liquefaction.
High-cycle accumulation¶
HCA-Sand — explicit accumulation model for very large numbers of load cycles, calibrated against HCA tests.
Ta-Ger family¶
Ta-Ger · Mod-Ta-Ger — the Ta-Ger sand model and its fabric-extended variant.