Verification of calcnote's ACI 318-19 footing engine
calcnote's footing design checks (bearing, flexure, one-way shear, two-way punching shear, development length, and interface bearing) are verified against independent first-principles hand calculations. The same reference cases run as regression tests on every code change, so these claims are re-checked continuously.
Verdict
Each footing design check is exercised by at least one witness test case with pinned intermediate and final values:
| Check | Witness-pinned cases | Reference | Result |
|---|---|---|---|
| Bearing pressure (§13.2.1/13.2.2) | TC-1, TC-3 | Hand calculation | All PASS |
| Flexure (§13.2.7) | TC-1, TC-2, TC-3 | Hand calculation | All PASS |
| One-way shear (§13.2.7.2) | TC-1, TC-2, TC-3 | Hand calculation | All PASS |
| Punching shear (§22.6.5.2) | TC-1, TC-2, TC-4 | Hand calculation | All PASS (TC-6 eccentric: NOT CHECKED) |
| Development length (§25.4.2.4a) | TC-1, TC-2, TC-5 | Hand calculation | All PASS |
| Interface bearing (§22.8.3.2) | TC-1, TC-3 | Hand calculation | All PASS |
The 6 test cases
Every case below is locked by regression tests that run on each code change. Key values are the engine outputs pinned by the witness test suite; a drift beyond tolerance fails the build before it can deploy.
| Case | What it verifies | Footing | Key values | Overall |
|---|---|---|---|---|
| TC-1 | Square isolated, all 6 checks | 84×84×18, 18×18 col, #5, f′c 4 ksi | qmax 3.061, flex 0.628, shear 0.745, punch 0.506, dev 0.400, interface 0.147 | PASS |
| TC-2 | Rectangular, γs bar distribution | 120×72×24, 24×16 col, #6, f′c 4 ksi | γs=0.75, flex L 0.750 / B 0.294, shear L 0.911 / B 0.287, punch 0.395, dev L 0.283 / B 0.480 | PASS |
| TC-3 | Wall footing, skips punching + B-direction | 48×12 wall, 12 in wall, #4, f′c 3 ksi | qmax 1.250, flex 0.131, shear 0.250, dev 0.800, interface 0.017 | PASS |
| TC-4 | Edge column, αs=30, reduced bo | 84×84×18, 18×18 edge col, #5, f′c 4 ksi | punch 0.823 (bo=82.75 in) | PASS |
| TC-5 | Development length, excess reduction | 48×48×12, 12×12 col, #8, f′c 3 ksi | ℓd=32.86, ℓd,adj=12.0, dev 0.800 | PASS |
| TC-6 | Eccentric loading, punching NOT CHECKED | 84×84×18 + Mu,L=100 kip·in | punching: NOT CHECKED (eccentric γv/Jc not yet implemented) | INCOMPLETE |
Product scope
calcnote's footing module covers isolated (square or rectangular) and wall (strip per foot) footings per ACI 318-19 within the input envelope below. The verification exercises 6 reference test cases inside this envelope (footings 48 to 120 in, f′c 3,000 to 4,000 psi, bars #4 to #8); the full range is accepted by the engine.
| Parameter | Supported range |
|---|---|
| Footing type | Isolated (square or rectangular) and wall (strip per foot) |
| Concrete strength f′c | 3,000 to 10,000 psi (normal-weight) |
| Steel grade | Grade 60, Grade 80 (fy 40 to 100 ksi accepted) |
| Reinforcement | #4 to #11, uncoated or epoxy-coated |
| Column position | Interior, edge, corner |
| Checks | Bearing, flexure, one-way shear, two-way (punching) shear, development length, interface bearing |
Out of scope (not covered by this verification): eccentric punching shear (γv/Jc stress distribution), combined footings, mat foundations, and seismic detailing. See the footing methodology for the full design-check rationale.
Continuous revalidation
The reference cases above are encoded as automated regression tests that run against the engine on every code change. A drift beyond the stated tolerances fails the build before it can deploy; the numbers on this page cannot silently rot as the engine evolves.