Verification and references

Overview

ConnForge calculations are verified by direct comparison against published worked examples from established structural timber engineering textbooks. Each connection type has unit tests asserting key intermediate values (embedment strength, yield modes, design capacity) against published reference values. When discrepancies are found between ConnForge and a reference source, they are investigated and either resolved or documented.

Reference standards

StandardTitleRole
EN 1995-1-1:2004 + A2:2014Design of timber structures: General - Common rules and rules for buildingsPrimary calculation standard
UK NA, IS NA, DIN NA, NF NA, NEN NA, SS NANational Annexes to EN 1995-1-1Source of partial factors (γM). The UK NA (Table NA.3) is cited; the IE/DE/FR/NL/SE values are not yet independently verified and currently mirror the UK/EC5 figures
EN 1993-1-8:2005Design of steel structures: Design of jointsSteel plate bearing capacity equations
EN 14080:2013Glued laminated timber and glued solid timber - RequirementsGlulam grade properties (densities, characteristic strengths)
EN 338:2016Structural timber: Strength classesSolid timber grade properties
EN 14399 / ISO 4014Bolt geometry and grade specificationsFastener properties

Verification approach

Calculations are unit-tested at the level of pure formula primitives - embedment strength fh,0,k, the k90 factor, the Hankinson formula for angled embedment, and the characteristic yield moment My,Rk. These primitives have closed-form solutions in EC5 and any drift in implementation is caught immediately by a failing test.

Higher-level outputs - yield modes, polar moment bolt force distribution, full design capacity Fv,Rd - are tested against published worked examples. When a published example uses a different convention (e.g. an older washer-diameter rule, or excludes auto-eccentricity), the test is set up to isolate the matching components and document the divergence.

Reference textbooks

Porteous & Kermani - Structural Timber Design to Eurocode 5 (2nd edition)

Primary reference for connection design worked examples. ConnForge has tests covering:

  • Example 12.8.1 - Steel-to-timber moment connection, M12 grade 4.6 bolts in C24, combined moment, shear and axial loading. Correction (v0.1.32): the book's group is a ring of 8 - a 3×3 grid with the centre bolt omitted - not the 3×3 of 9 this example was previously read as. The book's own printed values force it: Fh,d = 62.5 N is Hd/(nsp·nbolt) = 1000/16, and the printed critical bolt Fd = 2.71 kN at α = 54.81° reproduces at 8 bolts and not at 9 (which gives 2.65 kN at 54.06°). The centre bolt sits at r = 0, so it carries no moment force and leaves Σr² = 91 950 mm² unchanged - which is why every moment quantity agreed under the 9-bolt reading and only the direct-load shares did not. A third confirmation comes from the printed capacity itself: Fv,Rd = 5.58 kN per shear plane (at the short-term kmod = 0.9) is what α = 54.81° gives, where the 9-bolt α = 54.06° gives 5.61 kN. At the time of that correction ConnForge had no ring pattern, so its Ex 12.8.1 fixture was the full 3×3 grid, labelled an adaptation: its Fd, α and its 53.3% utilisation are self-computed on 9 bolts at kmod = 0.80. The book prints no utilisation percentage at all - the 53.3% previously recorded here as "the published utilisation" was never published; on the book's own printed values the ring runs at 2.71/5.58 = 48.6%. The ring pattern shipped in v0.1.34 and the true anchor is the next entry; the 9-bolt adaptation is retained as the regression fence on the full-grid path.
    • Its step 9 group-effect check IS reproduced through the solver, and survives the ring correction untouched: nef = 2.34 on the grain-parallel line (the outer lines still hold 3 bolts at a1 = 90 mm; only lines through the centre lose one, and the governing line is not one of them) and F1h = 5.9 kN, the latter at the short-term kmod = 0.9 the book works that step at.
    • Its step 10 timber-shear workings are reproduced through the shipped helper (and, since v0.1.34, the force chain runs through the solver on the ring): τc,s = 0.24 N/mm² on the net depth and τb,s = 0.36 N/mm² on the gross. The extreme-line force F1v,vd computes to 5.77 kN against a printed 5.7 kN - a 1.3% gap consistent with the book carrying Fm,d,max to 3 s.f., and one that does not reach either stress. The member depth h = 290 mm used there is provisional, inferred from the two printed stresses (which force it into 287-295 mm), pending the problem statement.
    • Documented divergence - the direct-load divisor. The moment term of FH,a agrees exactly (1502.2 N per shear plane), but Ex 12.8.1's step 9 divides the direct axial Hd by the bolts in ONE ROW, Hd/(nb·nsp) = 166.7 N, while dividing the moment term across the whole group; that is how it reaches its printed FH,a = 1.67 kN. Its own step 8 uses the whole-group divisor Hd/(nsp·8) = 62.5 N, so the book is inconsistent with itself between the two steps. Ex 12.8.3 shares the direct load over the whole group, consistently with the moment term. ConnForge follows 12.8.3 - because the bolt forces come from a single distribution, and the 12.8.1 divisor would make the direct share depend on how the same group is partitioned into rows. Measured on the book's own ring the difference is 104 N per bolt per shear plane (1564.7 N against the printed 1668.8 N); on ConnForge's 9-bolt adaptation it reads as 111 N. Either way it is unconservative in the book's direction, not ours.
  • Example 12.8.1 - TRUE ANCHOR since v0.1.34. With the ring pattern shipped, the book's own group runs through the solver and reproduces its printed step-8 and step-9 values: Fd = 2.71 kN per shear plane at α = 54.81°, Fv,Rd = 5.58 kN per shear plane at the short-term kmod = 0.9, nef = 2.34 and F1h = 5.9 kN. Two printed quantities still do not reconcile, and both are recorded rather than tolerated. F1v,vd computes to 5.77 kN against a printed 5.7 kN - 1.3% high, and rounding the wrong way to be a print of 5.774; carrying Fm,d,max at 3 s.f. spans the printed value, which is the likeliest explanation. τc,s and τb,s cannot reconcile through this config at all: the solver returns exactly 2× the printed 0.24 and 0.36, because ConnForge uses the physical width b = t2 = 72 mm where the book prints 2·t2 for a connection with one central member (the divergence recorded above). The factor of exactly 2 is asserted in the test so it cannot drift. The member depth h = 290 mm used for those stresses remains provisional, inferred from the two printed values, which force it into 287-295 mm.
  • Example 12.8.3 - TRUE ANCHOR since v0.1.34, and the moment family's first at a non-trivial force angle: the critical fastener sits at 37.72° to grain, so Hankinson, k90 and the angled embedment all bear on the result. Reproduced through the solver: α = 37.71°, fh,α,k = 21.08 N/mm², Fv,Rk = 8.0 kN (mode g) and Fv,Rd = 4.92 kN per shear plane, FHg = 3.87 kN, nef = 2.41, F1h = 4.41 kN, τc,s = 0.61 N/mm² and τd = 1.08 N/mm². Its shear width needs no divergence - 2·ts here IS the physical section, two timber cheeks either side of the plate - so τc,s reconciles where 12.8.1's cannot. FHg reproducing exactly is the evidence for the divisor convention ConnForge adopted: this example shares the direct load over the whole group, and it is the example that is self-consistent about doing so. Three printed values carry small documented gaps: Fd = 4.89 kN against a solver 4.896 (+0.12%, hand-calc rounding); F1v,vd = 7.11 kN against 7.10 (the book carries D rounded to 1.14 × 10⁵); and Fax,Rk = 6.64 kN does not reconcile at all - that is dw = 3d = 36 mm in the §8.5.2(3) washer term, where ConnForge uses dw = min(12t, 4d) = 48 mm and gets 12.58 kN. It does not propagate: the rope contribution is capped at 25% of the raw mode value on both figures, so Fv,Rk = 8.0 kN reconciles regardless.
  • Example 12.8.3 (original entry) - Timber-steel-timber moment connection, 75 × 300 C24 beams with an 8 mm plate in a notch (side timbers 33.5 mm each), a ring of 8 M12 bolts at a1 = 100 / a2 = 95 mm, M = 4.77 kNm with RA = 14.5 kN and Hd = 30.2 kN. Its step 10 is reproduced through the shipped helper: D = 114 150 mm², F1v,vd = 7.10 kN (the printed 7.11 follows from the book carrying D rounded to 1.14 × 10⁵), τc,s = 0.61 N/mm² on the net depth 300 − 3 × 13 = 261 mm over the two 33.5 mm cheeks, and τd = 1.08 N/mm² on the gross section. Its step 9 group force FHg = 3.87 kN also reproduces. This example needs no width divergence - its 2·ts is the physical section.
    • Documented divergence - the shear width in Ex 12.8.1. Ex 12.8.1 prints its shear denominator as 2·t2 for a connection with ONE central 72 mm timber member - the same t2 its Johansen bearing term 0.5·fh·t2·d is built on. ConnForge uses the physical section instead (b = t2 for STM and STSM, b = 2 × the cheek for TSTM, where two cheeks genuinely resist), which is exactly 2× more onerous on that example. The helper reproduces the printed form as printed, so the divergence is visible in the test rather than buried.
  • Example 10.13.3 - 5-member overlap bolted joint, M12 grade 4.6 bolts in C18 timber. The 5-member topology has no direct TTT equivalent, so the TTT regression suite asserts only the EC5 primitives independent of joint topology: k90, fh,0,k, Hankinson at 0°/30°/60°/90°, My,Rk, β ratios, and Johansen modes g/h/j/k for sub-joint 1-2-1 (EC5 Eq. 8.7). ConnForge reproduces all four published Johansen mode values. The book's reported Fv,Rk,4 = 13.11 kN adds the full Fax,Rk uncapped to mode (k), which conflicts with the 25% rope cap of EC5 §8.2.2(2) - ConnForge follows EC5 (likely a book error). The fastener-specific rope-effect contract (zero for dowels, capped per EC5 for bolts) is also asserted.

Cross-checks against commercial software

ConnForge results have been compared against established commercial timber connection design tools. In most cases results agree closely. Where ConnForge differs, the discrepancy is investigated. Documented cases where ConnForge is the more conservative or more correct value:

  • Bolt group load distribution under combined shear, axial, and moment: some tools use a simplified scalar summation that does not vectorially resolve shear and axial components against the moment-induced bolt force. ConnForge uses a full vector sum at each bolt position.
  • k90 calculation: ConnForge implements EC5 Eq 8.33 strictly; some tools use approximations that differ slightly at smaller bolt diameters.
  • Single-shear yield mode (c) of EC5 Table 8.2: a probable unit-handling discrepancy was identified in one cross-check tool where the characteristic yield moment was treated inconsistently between equation steps. ConnForge handles units consistently.

These notes are included for transparency, not to disparage other tools - every implementation makes interpretation choices, and an engineer using two tools should expect occasional disagreement. The goal is that when ConnForge differs, the reasoning is visible.

Reporting issues

If you find a calculation result that disagrees with a published worked example, hand calculation, or another verified tool, please report it via the in-app feedback button. Include the connection geometry, applied loads, expected value, and source of the expected value. Discrepancies are taken seriously and investigated - the verification record is kept honest by user reports.