How we know the numbers are right.
Lives ride on these numbers. So every engine is validated against the primary source’s own published worked example — Prandtl, Terzaghi, Schanz-Vermeer-Bonnier, Reese, FHWA, NAVFAC and the IS/EN codes — before it ships. Not “trust us.” Diff our result against the published benchmark and see the same answer.
An engine isn’t “done” until it reproduces a published benchmark.
Built from the source, not from memory
Every engine is coded from the governing standard, textbook or software theory manual — cited by clause. Chart-lookup factors that have no closed form are explicit inputs with documented defaults, never a guessed curve-fit. We build the method the way its author defined it.
Golden-tested against a hand-verified case
Each engine ships with a golden test: at least one hand-checked case plus the edge cases (near-zero, huge, water at surface, FoS ≈ 1) that expose the failure modes. It has to hold at the criterion boundary, not just the happy path.
Benchmarked against the published worked example
The last gate before an engine goes live: we reproduce the published worked example from the primary source itself — the exact inputs from a standard textbook problem, a governing-code worked example, or an FHWA/NAVFAC case — and assert we match it. If a benchmark fails, we fix the engine, not the tolerance. So you can diff our number against the published benchmark and see the same answer.
The exact cases your incumbent publishes — matched.
A representative slice of the benchmark suite. Each row is backed by an automated test that asserts our engine matches the cited source’s published value.
| Method | Validated against | We reproduce |
|---|---|---|
| FE bearing capacity (φ=0) | Prandtl (1921) | q_ult = (2+π)·cᵤ = 5.14·cᵤ |
| 2-D elasto-plastic footing FE (HS/MC BVP) | Prandtl 1921 · Vesić 1973 | q_ult → 5.14·sᵤ (φ=0) + Vesić N_c/N_q; mesh-converges to the limit |
| 3-D elasto-plastic continuum footing FE (square) | Skempton 1951 · Vesić 1973 | φ=0 square q_ult → N_c·s_c ≈ 6·sᵤ (Skempton shape factor s_c≈1.2), within the coarse-mesh band |
| FE limit analysis (bounds) | Sloan LP · Prandtl | Lower & upper bound straddle 5.14·cᵤ |
| Transient unsaturated seepage (Richards) | Celia-Bouloutas-Zarba 1990 · van Genuchten | Haverkamp-sand SWCC θ(ψ) benchmark, exact |
| Wall Boussinesq surcharge (line/point/strip) | NAVFAC DM-7.2 Fig 11 | Published σ_h·H/Q influence values across (m,n) |
| Hardening-Soil (triaxial + oedometer) | Schanz-Vermeer-Bonnier 1999 | Berlin Sand III + Hostun sand; E_oed law to <2.5% |
| HS confined & layered settlement | Hardening-Soil oedometer (closed form) | Closed-form HS oedometer integral to <2.5% |
| 1-D consolidation (time-rate) | Terzaghi | t₉₀ = 0.848·H²/cᵥ (small-strain limit) |
| Finite-strain consolidation | Gibson (nonlinear PDE) · CONDES | Power-law e–σ′–k benchmark case |
| 1-D site response (site period) | Kramer · SHAKE | T₀ = 4H/Vₛ; transfer-function peaks at f₀/3f₀/5f₀ |
| Lateral pile p-y | Reese & Van Impe · Matlock | Published p-y deflection / moment cases |
| Vertical stress increase | Boussinesq | Closed-form influence factors |
| Liquefaction triggering | Youd et al. (NCEER) · Idriss-Boulanger | Published CRR / FoS worked cases |
| Flexible pavement | IRC 37 · layered-elastic | IRC-37 worked example strains |
| Rock strength | Hoek-Brown | Published GSI / σ₁ envelope cases |
Where we draw the line
- We never invent a benchmark number. Every value in a validation test carries its source — title, author/organisation, year. If we can’t cite it, it isn’t in the suite.
- A failing benchmark is a bug, not a tolerance to widen. When a published case doesn’t match, we fix the engine and re-run — or, if the source itself is wrong, we document why with evidence.
- For frontier methods with sparse public numbers (some nonlinear FE), we gather every case we can rigorously cite and make up the balance with exact analytical / limiting solutions — and we say so, out loud, rather than pad with invented figures.
- Standards are acquired legally. We implement methods and cite clauses; we don’t redistribute copyrighted code text, tables or figures.
Run your own worked example.
Pick any analysis, drop in the inputs from a case you already trust, and check the number. That’s the whole pitch — the software should agree with the textbook.