Skip to content

numgeo-ACT


numgeo-ACT is a software for the automatic calibration of advanced geotechnical constitutive models. It takes your laboratory test data, runs the element-test simulations through numgeo, and uses optimization algorithms to find the model parameters that best reproduce your experiments — monotonic and cyclic.

Automatic calibration of Karlsruhe fine sand with the Hypo-ISA model. Black lines are the numgeo simulations, coloured dashed lines the experiments; the objective function (top-left) decreases as the optimizer converges across oedometer, drained/undrained triaxial and several undrained cyclic triaxial tests.


What numgeo-ACT does

Calibrating an advanced constitutive model by hand is tedious: the models have many interacting parameters, and a parameter set that fits one test often degrades the fit of another. numgeo-ACT automates this process. You describe which model to calibrate, which parameters are free (and within which bounds), and which laboratory tests to honour. The optimizer then searches the parameter space, repeatedly simulating every test and scoring how closely the simulations match your data, until it converges on a single parameter set that represents the best compromise across all tests.

Many models

Eleven constitutive models are supported out of the box — from classical hypoplasticity, Hypo-IGS and the ISA family to the SANISAND family, the HCA model and Ta-Ger — each with sensible default parameters and search bounds.

Monotonic & cyclic

Oedometer, isotropic compression, drained and undrained triaxial, undrained cyclic triaxial, high-cycle accumulation (HCA) and undrained cyclic simple shear tests can all be used as calibration targets.

Data from Excel

Your experimental database is a single Excel workbook with one sheet per test. A documented reader maps each cell to the simulation — and a ready-to-use template keeps you aligned with it. CSL data can also be fitted separately with the Bauer / Li-Wang CSL utility.

DEEM optimizer

At its core sits DEEMDifferential Evolution with Elitism and Multi-populations — a robust global optimizer designed for the rugged, multi-modal objective functions typical of soil-model calibration.

Powered by numgeo

Every candidate parameter set is evaluated with full element-test simulations run through the finite-element code numgeo, so the calibration reflects the same constitutive implementation you use in your boundary-value problems.

Reproducible reports

Each run produces a PDF report, text logs and comparison plots documenting the initial and optimized parameters, the objective-function history and the fit of every individual test.


How it works

flowchart LR
    A[Excel database<br/>lab tests] --> B[excel.collect]
    B --> C[setup<br/>model + free parameters + tests]
    C --> D{{DEEM optimizer}}
    D -->|candidate parameters| E[numgeo<br/>element-test simulations]
    E -->|simulated curves| F[similarity measure<br/>vs. experiments]
    F -->|objective value| D
    D -->|converged| G[Optimized parameters<br/>+ PDF report + plots]

In code, a calibration is only a handful of steps — read the data, declare the model and its free parameters, set the bounds, and call the optimizer:

from ACT.utilities.excel import excel
from ACT import globals, DEEM
from ACT.models import hypoplasticity_isa

# 1) read the experimental database (mutates the reader instance)
database = excel()
database.collect("database-kfs-monotonic-cyclic.xlsx")

# 2) choose the model (default parameters and search bounds are pre-set)
model = hypoplasticity_isa()

# 3) describe the calibration problem
globals.setup(
    Model           = model,
    Free_parameter  = ["hs", "n", "ed", "ec", "alpha", "beta"],
    oedometer       = database.oedometer,
    triaxCD         = database.triax_CD,
    triaxCU         = database.triax_CU,
    path            = "./calibration/",
    Experimental_database = database,
)

# 4) run the optimization
DEEM.optimize(maxiter=200, n_cpu=8)

A complete, runnable walk-through is given in the Quickstart.


numgeo

The finite-element framework for geotechnical engineering that numgeo-ACT uses to simulate every laboratory test.
numgeo website · numgeo docs

DEEM

The global optimization algorithm at the heart of numgeo-ACT.
Machaček, Siegel & Zachert (2025), Swarm and Evolutionary Computation.
DEEM docs · GitHub · in numgeo-ACT


Citing numgeo-ACT

If numgeo-ACT contributes to your research, please cite the foundational publication:

I'd love to hear from you

If you use numgeo-ACT, I would be glad to hear about your experience — what you calibrated, what worked well, and where it could be better. If the tool was useful, I would be happy if you cited the following works:

  • Machaček, J., Staubach, P., Grandas Tavera, C. E., Wichtmann, T. & Zachert, H. (2022). On the automatic parameter calibration of a hypoplastic soil model. Acta Geotechnica, 17(11), 5253–5273. doi:10.1007/s11440-022-01669-4
  • Machaček, J., Siegel, S., Staubach, P. & Zachert, H. (2023). Automatic Parameter Calibration of Two Advanced Constitutive Models. Lecture Notes in Civil Engineering, 288, Springer.
  • Machaček, J., Zeng, S. & Taiebat, M. (2025). Enhancing accuracy and efficiency in cyclic liquefaction modeling: An automatic calibration framework for advanced constitutive models. Computers and Geotechnics, 183, 107208.
  • Zeng, S., Machaček, J., Moshfeghi, S. & Taiebat, M. (2026). Data strategies for automatic calibration of soil constitutive models. Computers and Geotechnics.

And — if your project allows it — it would be great if you could share your calibration outcomes: the resulting parameters and the comparison plots. This helps build a shared picture of how the models perform across soils and laboratories. Please get in touch at jan.machacek@tu-darmstadt.de.

A full list of works in which numgeo-ACT has been applied by our group is given on the References page.

Availability

numgeo-ACT is developed by Jan Machaček with contributions from several co-workers (see About). The tool is not yet freely available; the group offers a free calibration service. For access or collaboration, please visit the automatic calibration page or contact jan.machacek@tu-darmstadt.de.