HCA-Sand¶
The high-cycle accumulation (HCA) model of Niemunis, Wichtmann & Triantafyllidis. Rather than resolving every load cycle, the HCA model computes the accumulation of strain (or stress) as an explicit function of the number of cycles, the strain amplitude, the void ratio, the mean pressure and the cyclic preloading. It is calibrated against HCA tests and is the tool of choice for very large cycle numbers (e.g. offshore foundations).
At a glance
- Class:
ACT.models.HCA_sand - numgeo name:
HCA_sand - Parameters with search bounds: 15
- Imported as:
from ACT.models import HCA_sand
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 |
|---|---|---|---|
CN1 |
1e-5 | 1e-2 | cyclic strain-accumulation parameter |
CN2 |
5e-3 | 2 | cyclic strain-accumulation parameter |
CN3 |
0. | 5e-4 | cyclic strain-accumulation parameter |
Campl |
1. | 3. | amplitude-function parameter |
Ce |
0.2 | 1. | void-ratio-function parameter |
Cp |
-5e-2 | 1. | pressure-function parameter |
Cy |
1 | 5. | cyclic-preloading-function parameter |
patm |
0. | 1e5 | atmospheric reference pressure |
eref |
0.2 | 2. | reference void ratio |
epsampl_ref |
1e-5 | 1e-2 | reference strain amplitude |
Abulk |
500 | 2e3 | bulk-modulus parameter |
abulk |
1. | 3. | bulk-modulus parameter |
nbulk |
0.2 | 0.8 | bulk-modulus exponent |
nu |
0.25 | 0.48 | Poisson's ratio |
phi |
0.3491 | 0.62832 | friction angle (radians) |
Setting parameters¶
Assign initial / fixed parameter values with set(...):
from ACT.models import HCA_sand
model = HCA_sand()
model.set(CN1=..., CN2=..., CN3=..., Campl=..., Ce=..., Cp=...)
Full set signature
set(CN1=None,CN2=None,CN3=None,Campl=None,Ce=None,Cp=None,Cy=None,patm=None,eref=None,epsampl_ref=None,Abulk=None,abulk=None,nbulk=None,nu=None,phi=None)
Available set parameters: CN1, CN2, CN3, Campl, Ce, Cp, Cy, patm, eref, epsampl_ref, Abulk, abulk, nbulk, nu, phi.
Choosing free parameters¶
Narrow the search interval of selected parameters, then list the ones to optimize in globals.setup:
model.set_bounds(CN1=[1e-5, 1e-2], CN2=[5e-3, 2], CN3=[0., 5e-4], Campl=[1., 3.])
globals.setup(Model=model, Free_parameter=["CN1", "CN2", "CN3", "Campl", "Ce", "Cp"], ...)
Parameters that accept a set_bounds override: CN1, CN2, CN3, Campl, Ce, Cp, Cy, patm, eref, epsampl_ref, Abulk, abulk, nbulk, nu, phi.
Reading & updating single parameters¶
See the models overview for the common interface shared by all models, and Optimization for how the free parameters are searched.