Module: vernastruct.codes.ec5.check_rect_timber_beam_ec5
Cross-check source (task 2.2): Design of timber structures — Volume 3:
Examples, 3rd English edition 2022, Swedish Forest Industries Federation
(Swedish Wood) — the official companion to the Eurocode 5 textbook used in
European university courses; this edition uses original Eurocode values,
no national annex. Free download:
https://www.swedishwood.com/publications/list_of_swedish_woods_publications/design-of-timber-structures/
Examples used: 3.1 (straight timber joist, ULS bending + shear) and
7.1 (same joist, SLS instantaneous + final deflection).
Status: ✅ PASS — and this case caught defect #5: our EC5 checks
omitted the EN 1995-1-1 §6.1.7 crack factor k_cr (see §4).
| Input | Value |
|---|---|
| Section | 45 × 220 mm, strength class C24 (f_m,k = 24, f_v,k = 4.0 MPa — EN 338:2016, E_0,mean = 11 GPa) |
| Span / spacing | 4.5 m / 0.6 m |
| Ex 3.1 load | q_dim = 3.3 kN/m² already factored → q_d = 0.6 × 3.3 = 2.0 kN/m |
| Ex 7.1 loads | characteristic g_k = 0.5, q_k = 2.0 kN/m² (ψ₂ = 0.3) |
| Service class | 1, medium-term → k_mod = 0.80, k_def = 0.60; γ_M = 1.3; k_h = 1.0 |
| Shear | k_cr = 0.67 (§6.1.7): V_Rd = (2/3)·k_cr·A·f_v,d |
| Quantity | Published | VernaStruct | Note |
|---|---|---|---|
| f_m,d | 14.8 MPa | 14.769 | pub rounds |
| M_Ed | 5.1 kN·m | 5.0625 | pub uses rounded q_d |
| W required | 345·10⁻⁶ m³ | section W = 363·10⁻⁶ passes (σ 13.95 < 14.77) | h_req 214 → 220 chosen |
| V_Ed | 4.5 kN | 4.500 | exact |
| f_v,d | 2.46 MPa | 2.4615 | exact |
| V_Rd (with k_cr) | 10.9 kN | util_shear = V_Ed/V_Rd matches to 5 s.f. (0.41342 vs 4.5/10.885 = 0.41341) | the k_cr check |
| Quantity | Published | VernaStruct | Note |
|---|---|---|---|
| I | 39.93·10⁻⁶ m⁴ | 39.930·10⁻⁶ | exact |
| w_inst,G | 3.6 mm | 3.6469 | pub rounds |
| w_inst,Q | 14.6 mm | 14.5874 | pub rounds |
| w_inst total | ≈ ℓ/250 (18.2 mm) | 18.234 | ✓ |
| w_fin = w_G(1+k_def) + w_Q(1+ψ₂k_def) | ≈ 22.8 mm (ℓ/200) | 23.048 | pub sums rounded intermediates (5.8 + 17) |
The quasi-permanent creep combination implemented for VC-13 reproduces the Swedish Wood final-deflection method exactly (they present the identical formula, including the E_mean,fin = E/(1+k_def) equivalence).
The published shear capacity V_Rd = (2/3)·k_cr·A·f_v,d uses the crack factor k_cr = 0.67 for solid timber — shear stress must be computed on an effective width b_ef = k_cr·b to account for drying cracks. Both our EC5 checks (round and rectangular) omitted it, understating shear utilisation by 1/0.67 ≈ 1.49×. This never flipped a verdict in our cases (roof-joist shear utilisations are ~0.1–0.4), but it is exactly the kind of unconservative gap the verification library exists to catch — the fifth real defect found this way.
Fix: k_cr parameter on both checks, default 0.67 (EN recommended
value, NA-overridable; pass 1.0 to disable). VC-10 and VC-12 pinned shear
values updated accordingly (τ_d now on A_ef = k_cr·A); VC-13 passes
k_cr = 1.0 because its older UK source predates the amendment — the
difference between those two published sources is itself documented here.
Pinned as tests/test_codes.py::test_vc15_uls_matches_swedish_wood_example_3_1
and ::test_vc15_sls_matches_swedish_wood_example_7_1.
Every case in this manual is pinned as an automated regression test that runs on every build — no future change can silently break a verified result. © 2026 Hesham Salama.