Verification of calcnote's ACI 318-19 column engine
calcnote's interaction-diagram construction and operating-point capacity calculations are verified against three independent authorities. This page summarizes the results; the full verification report (PDF) carries the complete per-case derivations. The same reference cases run as regression tests on every code change, so these claims are re-checked continuously — last revalidated 2026-08-25.
Verdict
calcnote matches each published authority within the precision tolerance appropriate to that source:
| Reference | Comparison | Agreement |
|---|---|---|
| StructurePoint published interaction-diagram example (ACI 318-19, spColumn v10.00-validated) | 4 tabulated control points, canonical 16×16 / 8-#9 column | ≤ 0.03% |
| Wight, Reinforced Concrete: Mechanics and Design, 7th ed., Example 11-4 | Eccentricity at reference Pn, load cases | 0.47–1.17% |
| Independent first-principles ACI 318-19 strain compatibility (re-implemented without calcnote source) | All interaction-curve anchors | ≤ 0.02% |
The 14 test cases
Every case below is locked by regression tests that run on each code change. Deviation figures are the headline agreement in each reference's own comparison view — for chart-read Wight cases, eccentricity at the published capacity; for numerical references, the maximum across compared anchors. Documented design-choice divergences (the report's §5.1 polygon clamp at TC-1/TC-6) and the propagation of printed-chart reading error through steep curve regions are detailed line by line in the full report.
| Case | What it verifies | Column | Reference | Max deviation |
|---|---|---|---|---|
| TC-1 | Interaction-diagram construction, 7 anchors | 16×16, 8-#9, Gr60, f′c 5 ksi | Wight Ex 11-1 + StructurePoint Table 1 + ACI baseline | ≤ 0.03 % (comparable anchors) |
| TC-2 | Design check, compression-controlled | 16×22, 8-#8, Gr60, f′c 5 ksi | Wight Ex 11-4 LC1 | ≤ 1.2 % (chart precision) |
| TC-3 | Design check, φ-transition zone | 16×22, 8-#8 (same column) | Wight Ex 11-4 LC3 | ≤ 0.5 % (chart precision) |
| TC-4 | M2,min advisory + Grade 80 φ-formula | 14×14, 4-#9, Gr80, f′c 6 ksi | First-principles baseline, 2-agent cross-validated | ≤ 0.006 % |
| TC-5 | ρ-minimum boundary, top-bar yield | 20×20, 8-#7, Gr60, f′c 4 ksi | Independent hand derivation, 2-agent cross-validated | ≤ 0.04 % |
| TC-6 | ρ-maximum boundary, 4-layer geometry | 16×16, 12-#11, Gr60, f′c 8 ksi | Independent hand derivation, 2-agent cross-validated | ≤ 0.07 % |
| TC-7 | Canonical small column, f′c 10 ksi | 12×12, 4-#11, Gr60, f′c 10 ksi | Independent hand derivation + golden regression suite | ±0.5 kip / ±2 kip·in tolerance |
| TC-8 | Medium multi-bar, rectangular section | 14×20, 8-#9, Gr60, f′c 5 ksi | Independent hand derivation + golden regression suite | ±0.5 kip / ±2 kip·in tolerance |
| TC-9 | Sub-M2,min regime, near-concentric | 16×16, 8-#9, Gr60, f′c 5 ksi | Independent hand derivation, 2-agent cross-validated | ≤ 0.02 % |
| TC-10 | Sub-M2,min regime, Gr80 3-layer | 24×12, 8-#8, Gr80, f′c 4 ksi | Independent hand derivation, 2-agent cross-validated | ≤ 0.035 % |
| TC-11 | Slender non-sway moment magnification (§6.6.4) | 14×14, 4-#7, Gr60, f′c 4 ksi, klu/r = 54 | Wight Ex 12-2 Col DE + first-principles baseline (both (EI)eff options) | ≤ 0.5 % vs printed chain (option (a) view; option-(b) delta disclosed) |
| TC-12 | Circular spiral column, interaction-diagram control points | 20 in D, 8-#10, Gr60, f′c 5 ksi, spiral | StructurePoint circular spiral example (spColumn-validated) | Printed-digit on 5 of 6 compared points; pure bending ≤ 0.008 % (stopping tolerance) |
| TC-13 | Circular tied column, control points (no published witness exists) | 18 in D, 8-#8, Gr60, f′c 4 ksi, tied | Independent first-principles derivation, 2-agent cross-validated | ≤ 0.01 % (pure-bending bisection tolerance) |
| TC-14 | Rotated two-face column, bending about Y | 16×24, 8-#9, Gr60, f′c 5 ksi, about Y | Independent first-principles derivation, 2-agent cross-validated | ≤ 0.01 % (pure-bending iteration tolerance) |
Product scope
calcnote's scope is rectangular tied and circular (tied or spiral), uniaxially-loaded reinforced concrete columns per ACI 318-19 — short columns by direct analysis, slender non-sway columns by §6.6.4 moment magnification — within the input envelope below. The verification exercises 14 reference test cases inside this envelope (rectangular sections 12–24 in, circular 18–20 in D, f′c 4,000–10,000 psi, bars #7–#11) — the full report details each case.
| Parameter | Supported range |
|---|---|
| Section | rectangular tied, 8–60 in each side; circular tied or spiral, D 10–60 in |
| Concrete strength f′c | 3,000–10,000 psi (normal-weight) |
| Steel grade | Grade 60, Grade 80 |
| Longitudinal bars | rect: 4–20 bars (multiples of 4), perimeter layouts; circ: 6–20 bars (even), equally spaced ring; #6–#11 |
| Bending | uniaxial (about X or about Y) |
| Slenderness | non-sway: short columns + §6.6.4 moment magnification for slender (stops at δns > 1.4 and Pu ≥ 0.75·Pc) |
Out of scope (not covered by this verification): biaxial bending, sway-frame magnification, non-circular unsymmetric sections, composite sections, torsion, and seismic special-frame detailing, among others. See the methodology for the full scope statement and design-choice rationale.
Test cases
Five cases have full browsable comparison pages (the complete set lives in the PDF report): Wight Example 11-1 — the canonical 16×16 / 8-#9 interaction diagram, cross-checked four ways · Wight Example 11-4 — operating-point checks at two load cases, boundary verdict flip explained · Wight Example 12-2 — the §6.6.4 slender-column magnification chain · Circular spiral column — StructurePoint's 20 in spColumn-validated example, three-way comparison · Bending about Y — 16×24 two-face column rotated to the weak axis, two independent derivations.
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.