calcnote ACI 318-19
Methodology Feedback Run a calc

Methodology

How calcnote computes ACI 318-19 tied-column capacity via strain compatibility.

calcnote is a strain-compatibility implementation of ACI 318-19 for short, rectangular, tied, uniaxially-loaded reinforced concrete columns. This page documents the code provisions it implements, the design choices it makes, and the independent verification we have run against it.

Independent verification

Verification Report — cross-validated against Wight and StructurePoint spColumn

Eight test cases spanning the V0 input envelope, cross-validated against three independent authority types: Wight's Reinforced Concrete: Mechanics and Design (7th ed.), StructurePoint's published interaction-diagram example for the canonical 16×16 column, and an independent first-principles ACI 318-19 strain-compatibility re-implementation.

StructurePoint Table 1 ≤ 0.03 %

Directly-tabulated control points for the canonical 16×16 column.

Wight 7th ed. Ex 11-4 0.47–1.17 %

Eccentricity at reference Pn; within published design-chart reading precision.

First-principles ACI baseline ≤ 0.02 %

Independent Python strain-compatibility re-implementation, no calcnote source dependency.

calcnote-verification-report-v1.0.pdf

20 pages · 555 KB · full per-case derivations, three-authority cross-checks, ACI clause map.

Download report v1.0 · 2026-06-29

Range of applicability

Scope: rectangular tied columns per ACI 318-19

Inputs outside this envelope are rejected before any calculation runs.

Parameter V0 range
Section shapeRectangular tied (b × h)
Section dimensions8 in ≤ b, h ≤ 60 in
Concrete strength3,000 psi ≤ f'c ≤ 10,000 psi (normal-weight)
Steel gradeGr60, Gr80
Number of longitudinal barsn ∈ {4, 8, 12, 16, 20}
Bar size#6, #7, #8, #9, #10, #11
Tie size#3, #4
Bar layoutPerimeter two-face, perimeter all-face
Bending axisUniaxial (strong or weak)
Column lengthShort (klu/r ≤ 34 per §6.6.4.1)

Not in V0: biaxial bending · slender columns (klu/r > 34) · circular spiral or unsymmetric sections · composite (steel + concrete) sections · torsion or shear-friction · fire-rating · seismic special-frame detailing · post-tensioned reinforcement. Each will be re-verified in its own future report revision.

Code compliance

ACI 318-19 clauses implemented

Each provision is exercised by at least one of the eight verification test cases.

ACI clause Provision
§22.2.2.1Extreme-fiber concrete crushing strain εcu = 0.003
§22.2.2.4.3β1 formula (Whitney stress-block factor)
§22.4.2.1 / §22.4.2.2Pure-compression nominal capacity Po; tied-column design cap φPn,max = 0.80·φ·Po
§21.2.2φ formula: 0.65 to 0.90 with linear transition; Grade-dependent εty
§6.6.4.5.4M2,min = Pu·(0.6 + 0.03·h) — retained as an additional short-column check (see design choice 03 below)
§10.6.1.1Longitudinal-steel ratio limit 0.01 ≤ ρ ≤ 0.08
§6.6.4.1Slenderness limit klu/r ≤ 34 (for short-column treatment)
§20.5.1.3Minimum clear cover for columns (1.5 in standard)
§25.2.3Minimum clear bar spacing
§25.7.2.2Minimum tie size for given longitudinal bar size

Design decisions

Design choices documented

calcnote makes three intentional design choices that an engineer reviewing its output should be aware of. All three are aligned with the default behaviors of every commercial RC column-design tool in the same market segment (StructurePoint spColumn, RISA, ENERCALC, SkyCiv).

01

Positive-(P, M) quadrant polygon truncation

The interaction-diagram polygon is constructed in the positive-(P, M) quadrant only. At high reinforcement ratios where a fixed-εt anchor would otherwise show a small negative-P excursion (axial tension with bending), the affected neutral-axis depth is clamped to cpb (the pure-bending value) and the anchor collapses onto the pure-bending point. This matches the default rendered behavior of all major commercial RC column-design tools. The cap, balanced point, pure-bending capacity, and operating-point ray-scaling result are all unchanged.

02

Ray-scaling for operating-point capacity

For a user demand (Pu, M2), calcnote reports capacity at the intersection of the interaction polygon with the ray from the origin through the demand point. This is the ACI 318-19 standard interpretation of “capacity at a demand point,” used by every commercial RC column-design tool. Both demand-side D/C ratios collapse to a single scalar 1/t by construction.

03

Minimum eccentricity (M2,min) per ACI 318-19 §6.6.4.5.4

ACI 318-19 §6.6.4.5.4 defines M2,min = Pu·(0.6 + 0.03·h) within the moment-magnification procedure for slender columns (§6.6.4 is titled "Slenderness Effects"). calcnote's V0 scope is short columns, where this bound is not code-mandated. calcnote retains it as an additional check accounting for construction-tolerance eccentricity and unmodeled lateral effects that a first-order short-column analysis may not capture. When user-entered M2 falls below M2,min, calcnote emits an advisory and proceeds using the user-entered M2; the engineer of record retains the substitution decision.

Market context

Compared to StructurePoint spColumn

calcnote's V0 scope is a strict subset of spColumn's — rectangular tied uniaxial only, no biaxial, no slender columns, no circular sections. Within that shared scope, calcnote's cap-point control values match spColumn's tabulated example to ≤ 0.03 %.

spColumn is a paid, mature desktop application with vastly broader scope; calcnote is a free web tool covering one narrow slice of the same market. Use spColumn when scope demands it. Use calcnote when the narrow slice matches your job and you want an auditable, .docx-formatted calc-note.

FAQ

Frequently asked questions

Which ACI 318-19 clauses are implemented in calcnote V0? Which are not?

V0 implements: §22.4.2.1 Po pure-compression capacity; §22.4.2.2 Pn,max = 0.80·Po with φ per §21.2.2; §21.2.2 φ formula with Grade-dependent transition; §10.6.1.1 steel ratio (0.01 ≤ ρ ≤ 0.08); §6.2.5 non-sway slenderness limit; Table 20.5.1.3.1 cover; §25.2.3 clear bar spacing; §25.7.2 tie requirements (size + spacing).

Not implemented in V0: §6.6.4 slenderness-effects moment magnification, biaxial bending (Bresler contour), circular sections, sway-frame provisions, §18 seismic/confinement detailing, §22.5 shear, §22.7 torsion, §10.7.3.1 minimum longitudinal bar count, §25.4 anchorage/development, fire cover.

See the full ACI clauses table above for the itemized list.

Does calcnote support biaxial bending, sway frames, or circular sections?

Not in V0. calcnote V0 covers only: rectangular sections, tied reinforcement, uniaxial bending, short columns (klu/r ≤ 34), non-sway conditions. Biaxial bending (Bresler contour method), circular sections, sway frames, and slender-column moment magnification are deliberately excluded. V0 prioritizes verified correctness of a narrow scope over breadth.

See the scope section for the exhaustive list.

When is a rectangular tied column “slender” per ACI 318-19?

ACI 318-19 §6.2.5 defines the non-sway short-column threshold as klu/r ≤ min(34 − 12·M1/M2, 40). For rectangular sections calcnote uses r = 0.30·h per §6.2.5.1. calcnote V0 conservatively uses the M1/M2 = 0 case (klu/r ≤ 34). Columns above the threshold are slender and require moment magnification per §6.6.4 — deliberately out of scope for calcnote V0, which raises SlenderLimitExceeded to prevent unsafe use for scenarios it wasn’t validated against.

Is ACI 318-19 §6.6.4.5.4 M2,min required for short columns?

ACI 318-19 §6.6.4.5.4 defines M2,min = Pu·(0.6 + 0.03·h) (h in inches, result in kip-in). The Code places the provision inside §6.6.4 (Slenderness Effects); its role in the moment-magnification procedure is to prevent under-estimating M2 when computed eccentricity is small. calcnote V0 covers only short columns (klu/r ≤ 34), where §6.6.4 does not apply.

calcnote treats M2,min as advisory outside that procedure: the engine emits a non-blocking advisory and proceeds with user-entered M2; the engineer of record retains the substitution decision.

See minimum eccentricity and errata for full rationale.

How does calcnote apply the ACI 318-19 §21.2.2 φ factor?

ACI 318-19 §21.2.2.1 defines φ as 0.65 for compression-controlled sections, 0.90 for tension-controlled sections, and a linear transition in between. The tension-controlled limit is Grade-dependent (εt ≥ εty + 0.003), superseding 318-14’s fixed 0.005 threshold. calcnote applies the formula per §21.2.2.1 without approximation: Grade 60 gives εty ≈ 0.00207 and tension-controlled limit ≈ 0.00507; Grade 80 gives εty ≈ 0.00276 and tension-controlled limit ≈ 0.00576.

See φ transitions for the full derivation.

How does calcnote compute the P-M interaction diagram?

calcnote uses strain compatibility: for each trial neutral-axis depth c, the engine computes rebar strains per Bernoulli plane-sections, applies the Whitney stress block to concrete, and integrates force and moment about the plastic centroid to yield (Pn, Mn).

The curve is capped at Pn,max = 0.80·Po per §22.4.2.2 and traced through compression-controlled, balanced, and tension-controlled anchors to pure bending. φ per §21.2.2 is applied at each point; the resulting φ-reduced envelope is the capacity polygon the demand point is checked against.

Is there a free alternative to StructurePoint spColumn?

calcnote is free and covers a deliberate subset of what spColumn does: rectangular tied columns, uniaxial bending, short columns per ACI 318-19. For that subset, calcnote’s engine has been cross-validated against spColumn within 0.03% on Pn and Mn on the canonical 16×16 case. spColumn covers additional geometries (irregular sections, circular, biaxial bending) and slender-column moment magnification; calcnote does not.

Can I edit the calc-note before submittal?

Yes — calcnote outputs .docx so project labels, headers, and reviewer notes can be added in Word before the engineer of record signs and exports to PDF. The generated file is a working draft, not a locked deliverable.

For the engineer of record

Verification establishes that calcnote's calculations agree with the cited authorities within their respective precision tolerances. It does not constitute a license to use calcnote's outputs without independent engineering review.

calcnote outputs are draft calculation notes intended to assist a licensed structural Professional Engineer. Final designs require independent engineering review and signature/seal by a licensed Engineer of Record. The .docx output is not a licensed deliverable; this is stated as a footer on every generated page.

Errata

Verification Report v1.0 — corrections

§6.6.4.5.4 M2,min applicability. The Verification Report v1.0 described ACI 318-19 §6.6.4.5.4 as a code-required check for calcnote's short-column scope, and the engine enforced M2 ≥ M2,min as a hard error. As of 2026-08-05, this is corrected: §6.6.4.5.4 formally scopes the M2,min = Pu·(0.6 + 0.03·h) bound to slender columns under moment magnification (§6.6.4 title "Slenderness Effects"; commentary R6.6.4.5.4 limits it to "when moment magnification is required"). calcnote's V0 scope (short columns only, klu/r ≤ 34) is therefore not code-required to enforce it. calcnote now emits a non-blocking advisory when M2 < M2,min and proceeds using the user-entered M2. The Verification Report will be regenerated (v1.1) to reflect the correction; this page is authoritative in the interim.

Cross-validation coverage. The 8 verification test cases in v1.0 all use M2 > M2,min, so the calc-proceeds-with-advisory behavior in the M2 < M2,min regime has not been cross-validated against Wight or spColumn. Coverage for this regime is scheduled with the v1.1 report regeneration.