How ILX was verified

Every ILX connection type and calculator is verified against complete published design examples, limit state by limit state, for LRFD and ASD. The full record for the single plate and single angle is the Verification Manual (docs/VERIFICATION_MANUAL.md, issue 0.4-B); the other types are summarised in its §6C and shown in full on the Verification page. This page summarises it.

Opening the Verification page

  1. Select the gear in the header to open Settings.
  2. Select the Verification tab.

Settings, Verification page

The page is generated from the verification tests at each release. It shows the version and date it was generated, and contains:

  • Summary tiles: the pass ring (pass, deviations, not checked), the number of published examples and LRFD/ASD runs, the limit-state comparisons, how many overall OK/NG results match the published ones, and the component benchmarks that pass.
  • Filters: Connection type, Example, Method (Both, LRFD or ASD) and Status.
  • Charts: ILX against published values, and the difference from the published value against the tolerance band. Click a point to open its row.
  • Examples: one card per example, with the source and pages. Expand a card for the limit-state table: published value, ILX value, Δ %, Δ against the tolerance and the status.
  • Documented deviations, in plain language: what differs, why, and its effect, with a link to the affected examples.
  • Component benchmarks: instantaneous-center coefficients, bearing and tearout, and slip resistance.
  • Download verification report (PDF): the same content as a typeset PDF to attach to a submittal.

Method

  1. Benchmark comparison. Each published example is entered into ILX field by field, using the drawn geometry. Every published quantity is compared with the value ILX computes: the check capacity, its demand, or a named calculation step. The numbers in the tables are generated by the test code, not typed.
  2. Component benchmarks.
    • Instantaneous-center coefficients against Manual Tables 7-6, 7-7, 8-4, 8-8 and 8-10.
    • Bearing and tearout against Tables 7-4 and 7-5.
    • lc along the resultant against Design Example II.A-1B.
    • Slip resistance against Design Example J.4A and J3.9.
    • The rows of Manual Table 10-9.
  3. SI and US consistency. Every example is run again in SI units, and every check must match its US result.
  4. Robustness. Property-based fuzzing sends thousands of random and plausible inputs. None may produce a server error, and the strength ratios must be sensible.

Acceptance. Forces must agree within ±1 % or ±0.5 kip, whichever is larger. Moments and coefficients must agree within ±1 %, and interaction ratios within ±2 %. Published values are printed to three significant figures, so they carry up to 0.5 % rounding.

Single plate and single angle

ExampleWhat it isILX resultPublished
AISC II.A-17AConventional single plate to a column flangeOKOK
AISC II.A-17BConventional single plate, axial + shear, to a column flangeOKOK
AISC II.A-18Single plate to a girder web, top-coped beamOKOK
SDS2 II.A-18SDS2's published verification of II.A-18 (all 17 values)OKOK
AISC II.A-19AExtended single plate to a column webOKOK
AISC II.A-19BExtended single plate, axial + shear, to a column webNG (column-web yield line)NG (same reason)
AISC II.A-28AAll-bolted single angle to a girder webOKOK
AISC II.A-29Bolted/welded single angle (element checks only)–OK
Muir & Thornton (2011)Conventional single plateOKOK
Muir & Hewitt (2009)Extended single plateNGOK (2009 code edition, see below)
Dowswell (2018)Single-coped beam–OK
AISC K.6Single plate to a rectangular HSS columnOKOK
AISC K.7Through plate to a rectangular HSS columnOKOK
AISC K.8Longitudinal plate on a round HSS, load perpendicular to the HSS axisOKOK

Across the 14 examples, 404 limit-state values were compared in LRFD and ASD:

  • 376 pass within tolerance. All 82 values from the HSS examples K.6, K.7 and K.8 pass.
  • 24 are documented deviations.
  • 4 are limit states ILX does not compute (coverage gaps).

All 24 component benchmarks pass, most within 0.5 %. In every AISC example it models, ILX reaches the published overall result for the published reason.

Every connection type

The Verification page shows all of them; filter by Connection type to see one.

TypeExamplesLimit statesPassDeviationNot checked
Single plate12352336160
Single angle2524084
Double angle1113713520
Shear end plate312612420
Seated9989422
Shear tee4606000
Skewed bent plate1343220
FR moment410810800
Beam shear splice2645860
Compression splice3444400
Truss connection312412400
Hanger1606000
Beam bearing plate3424200
HSS strut end plate1282800
Base plate14706730
Bracket plate2908640
Bolt group3262600
Weld group3282800
Bolted joint5666600
Welded joint4545400
Total901,6631,6044514

All 85 component and Manual-table benchmarks pass. Each deviation and coverage gap has its plain-language explanation on the Verification page.

Known deviations (single plate and single angle)

These differences are method choices that AISC permits, or errors and edition differences in the sources. None changes an overall result.

TopicDifferenceWhy
Tearout (II.A-17B, II.A-19B)ILX's per-bolt tearout is higherILX measures lc along the line of action of the resultant (the II.A-1B method). The examples take the smaller edge distance as a conservative worst case and note that "if a computer program is available, the true lc can be calculated". Tearout does not govern.
Bolt group at 38.7° (II.A-19B)ILX's C is 7 % higherILX solves the instantaneous center at the true load angle; the example interpolates Table 7-7 at 30°. At 30°, ILX matches the table.
Single-angle eccentricity (II.A-28A)Support leg +10 %, beam leg −20 %ILX applies e = g + tw/2 on the support leg and e = a on the beam leg; the example neglects the beam-leg eccentricity (Manual Fig. 10-15). The governing strength agrees within 0.3 %. This is an open decision.
Beam-web edge bolt (II.A-28A)Higher per-bolt valueThe example conservatively uses le = 1¼ in. instead of the drawn 1½ in.
Muir & Hewitt (2009)Bolt shear, tearout and net area differThe paper used AISC 360-05, Fnv = 60 ksi, no tearout between holes and dh = 1⅛ in. ILX uses AISC 360-22 (Group 150 bolts, J3.11a, B4.3b). Under the current Manual the connection is NG, as ILX reports.
Table 10-10c (II.A-18)+4 % web block shear at the stated lehThe tabulated value back-calculates to leh = 2.0 in.; at 2.0 in., ILX matches.

What is not yet verified

  • Double-coped beams (Dowswell and Whyte, 2014): no complete published example reproduced yet.
  • Prying of angle support legs in tension: no published example found.
  • Slip-critical design at connection level: only the per-plane value is verified.
  • HSS supports beyond K.6 to K.8: no published example with axial load on a rectangular HSS wall.
  • Structural integrity (B3.9) and rotation capacity: no published numeric example.

Items for engineering review

The Verification Manual also lists items for the engineer of record's attention:

  • the Mmax expression used for the extended-procedure tmax;
  • the double-cope method;
  • the B3.9 wording as implemented;
  • prying of angle support legs;
  • the approximate yield-line mechanism used for girder webs under axial load.

Read them before you rely on ILX for those cases.

Running the verification yourself

The verification is part of the automated test suite. From the backend folder:

.venv/Scripts/python -m pytest -q tests/test_verification_*.py
.venv/Scripts/python -m tests.test_verification_examples   > examples.md
.venv/Scripts/python -m tests.test_verification_components > components.md

The first command runs the comparisons of every type's golden examples. tools/export_verification.py (from the repository root) writes the data of the Verification page. The other two regenerate the comparison tables of the Verification Manual. When a deviation is fixed, its expected-failure test starts passing and the suite turns red, so the documentation cannot drift from the code.