Module: vernastruct.codes.ec6.check_masonry_wall_ec6
Code basis: EN 1996-1-1 §6.1.2 (N_Rd = Φ·t·f_d), §5.5.1.1 (e_init =
h_ef/450), §6.1.2.2 (e ≥ 0.05·t; Φ_i = 1 − 2e/t), Annex G (Φ_m with the
actual stiffness ratio f_k/E), γ_M = 2.20; EN 1998-3 CF on f_k.
Status: ✅ PASS — software matches hand calculation exactly.
An unreinforced masonry bearing wall assessed to the Eurocode profile.
| Input | Symbol | Value |
|---|---|---|
| Thickness | t | 0.30 m |
| Height (ρ_n = 1.0) | h_ef | 2.70 m |
| Permanent vertical load | G_k | 50 kN/m |
| Variable vertical load | Q_k | 15 kN/m |
| Load eccentricity at top | e_load | 5 mm |
| Characteristic strength | f_k | 2.0 MPa (soft stone / lime-brick class) |
| Stiffness | E | 1000·f_k (EN 1996 default) |
| Partial factor | γ_M | 2.20 |
Design action: N_Ed = 1.35×50 + 1.5×15 = 90.0 kN/m
Slenderness: h_ef/t_ef = 2.70/0.30 = 9.0 ≤ 27 ✓
Eccentricities: e_init = 2700/450 = 6.0 mm → e = 5 + 6 = 11 mm < 0.05t = 15 mm (floor governs) at both locations.
Top/bottom: Φ_i = 1 − 2×15/300 = 0.90
Mid-height (Annex G):
λ_t = 9.0 × √(f_k/E) = 9.0 × 0.0316228 = 0.284605
u = (0.284605 − 0.063)/(0.73 − 1.17×0.05) = 0.221605/0.6715 = 0.330015
Φ_m = (1 − 2×0.05) · e^(−u²/2) = 0.90 × 0.947001 = 0.85230 ← governs
Resistance: f_d = 2.0/2.2 = 0.909091 MPa
N_Rd = Φ·t·f_d = 0.85230 × 0.30 × 909.091 = 232.446 kN/m
util = 90.0/232.446 = 0.38719 → PASS
For an adobe wall (t = 0.55, h = 3.0, f_k = 0.5 MPa, minimum eccentricity):
| Stiffness assumption | λ_t | Φ_m |
|---|---|---|
| EN default E = 1000·f_k | 0.1725 | 0.88812 |
| Measured adobe E = 100 MPa (E/f_k = 200) | 0.3857 | 0.80186 |
The common European default overstates adobe capacity by ~10% — the module therefore takes the measured E and warns whenever the default is used. This is precisely the correction a heritage assessment needs.
| Quantity | Hand calc | Software | Match |
|---|---|---|---|
| N_Ed | 90.0 kN/m | 90.0 | ✅ exact |
| e_i = e_mk (floor) | 15.0 mm | 15.0 | ✅ exact |
| Φ_i / Φ_m | 0.90 / 0.85230 | same | ✅ exact |
| N_Rd | 232.446 kN/m | 232.446 | ✅ exact |
| Utilisation | 0.38719 | 0.38719 | ✅ exact |
| Adobe Φ_m (real E / default E) | 0.80186 / 0.88812 | same | ✅ exact |
| KL2 variant | N_Rd/1.20, Φ unchanged | same | ✅ exact |
Documented conventions: vertical resistance only (in-plane shear and out-of-plane bending stay on the existing generic/SBC path until the profile switch lands); creep eccentricity e_k = 0 with a warning above λ = 15; CF divides f_k for strength while Annex G keeps the unreduced f_k/E (stiffness is an estimate, not a strength).
from vernastruct.codes import check_masonry_wall_ec6
r = check_masonry_wall_ec6(
t_m=0.30, h_m=2.7, N_dead_kN_m=50.0, N_live_kN_m=15.0,
f_k_MPa=2.0, e_load_mm=5.0,
)
assert r.ok and abs(r.util_vertical - 0.38719) < 1e-4
Pinned in tests/test_codes.py (test_vc11_*,
three tests + slenderness/moment behaviour).
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.