KATAI 2D v0.7.0
KATAI 2D v0.7.0
Capability release. Ten inputs a geotechnical model needs — and this program
could not express — are now in the file format. Four of them closed a silently
wrong answer rather than a missing convenience: the analysis ran, converged and
reported a plausible number for a model the engineer had not drawn.
Every closure arrives with a verification case and a citation to the manual
clause it implements. The verification record grows from 27 to 45 declared
cases over 17 checked-in .k2d benchmark inputs, re-asserted by 150
automated tests on every build.
What you can model now that you could not
- Dewatering from inside the model — wells (a prescribed discharge, stopping
ath_min) and drains (a held head, normal or vacuum), switched per phase. - A cut-off wall that actually blocks water — cross permeability on walls and
interfaces: impermeable, semi-permeable (hydraulic resistanced/k), or fully
permeable. Until now the flow net ran straight through a diaphragm wall. - Rainfall and recharge boundaries — a prescribed flux (Neumann) flow
boundary condition. - An anchored, dewatered excavation as it is actually built — anchor lock-off
force, and water conditions per phase, so the pit is dewatered before it is
dug. Every anchored excavation built before this was the model of a slacker,
weaker structure. - Undrained (C) — a total-stress analysis with undrained parameters, for the
Linear Elastic and Mohr-Coulomb models. - Per-material undrained stiffness — the equivalent undrained Poisson ratio
or Skempton's B, per material, instead of one fixed 0.495 for everybody. - A dilatancy cut-off, a staged-construction target (Σ Mstage < 1),
"ignore undrained behaviour", and per-phase numerical controls so a
published run carries the numerics it was computed with.
Silently wrong answers this release removes
- The Hardening Soil family sized its pore fluid from the
E/nuboxes that
model never reads — a factor of 7.6 on an otherwise ordinary data set. - A dense sand dilated without limit, over-predicting bearing capacity.
- Sixteen input paths were discarded without a word — a load drawn above the
surface, a wall the mesh never sees, a prescribed displacement that catches no
node. They are now refused or reported through stable diagnostic codes
(docs/diagnostics.md). - A verification case that measured nothing: the strength-reduction search
hard-coded its own trial tolerance, so a published tolerance sweep had been
setting a number nothing read. Re-measured with the control connected: the
factor of safety is bit-identical at and below 1e-3, but +2.0% at 1e-2 and
+45.6% at 1e-1 — always on the unsafe side.
Numbers now carry a numerical uncertainty
Published results can state how far they are from the exact answer of the same
equations: the Grid Convergence Index after Roache (1994) and Celik et al.
(2008), in the ASME V&V 20 sense, fed by nested (uniform) mesh refinement. No
geotechnical vendor manual defines a discretisation-error estimator; this one is
taken from the verification literature and is itself verified against
manufactured triplets whose answer is known.
Measured with it on the Giroud rigid-footing benchmark: the converged force is
15.244 kN/m ± 0.21%, which is 0.03% from the published PLAXIS 2D value —
while the input file's own mesh reads 0.5% higher. The difference was the mesh,
not the physics.
A factor of safety computed with a non-associated flow rule is mesh-dependent
and falls as the mesh is refined (−7.9% over a fourfold refinement on Griffiths
& Lane). The run says so, on every such phase (K2D-A005).
File format
The project file moves from version 8 to version 12. This build reads every
older .k2d unchanged. An older build refuses these files, which is the point:
each bump marks an input that an older build would have dropped in silence and
solved a different problem for. The .res results format is unchanged (v5).
Assets
| File | What it is |
|---|---|
katai2d-0.7.0-win64.zip |
Self-contained command line for Windows. One 1.6 MB executable, no runtime dependency, Eigen solver backend. Verified on a scrubbed PATH. |
katai2d-0.7.0-cp312-abi3-win_amd64.whl |
Python package (pip install), Python ≥ 3.12, with the katai console script. Verified in a fresh virtual environment with a scrubbed environment. |
*.sha256 |
Checksums, verified by install.ps1. |
katai2d-0.7.0-win64.zip
b0894263bbc0e5840c6cdd0079542371ed2cf8e6fc00576ace093e8c076e6b58
katai2d-0.7.0-cp312-abi3-win_amd64.whl
100f504537210bbf36ff5919fba4f379ee09a48342f8dfc22c9932016ed85f14
Compatibility
No breaking change to the Python surface or the command-line contract; both
gained the new inputs. Files written by 0.7.0 are refused by 0.6.x by design.