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
Units and angles
Enter phi in radians and patm in kPa. epsampl_ref is a strain
fraction. Abulk is the dimensionless elastic coefficient \(A\), not a stress
or modulus; the other bounded HCA parameters are dimensionless. Pore-fluid
bulk modulus supplied by an HCA test is in kPa.
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 | dimensionless elastic coefficient \(A\) |
abulk |
1. | 3. | dimensionless elastic exponent \(a\) |
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.