Module: vernastruct.analysis.wind.wind_wall_pressures
Code basis: ASCE 7-16 Eq. 26.10-1 (SI), Table 26.10-1 exposure constants,
G = 0.85, Kd = 0.85 (buildings), Cp = +0.8 windward / −0.5 leeward.
Status: ✅ PASS — software matches hand calculation exactly.
Wind pressure on the walls of a single-storey heritage building.
| Input | Symbol | Value |
|---|---|---|
| Basic wind speed (3-s gust) | V | 42 m/s |
| Exposure category | — | C (open terrain) |
| Mean roof height | z | 4.0 m (→ evaluated at 4.6 m minimum) |
| Topographic factor | Kzt | 1.0 |
| Directionality | Kd | 0.85 |
| Gust factor | G | 0.85 |
Velocity pressure coefficient (Exposure C: α = 9.5, zg = 274.32 m):
Kz = 2.01 (z/zg)^(2/α) = 2.01 (4.6/274.32)^0.21053 = 0.84998
Sanity anchor: ASCE 7-16 tabulates Kz = 0.85 at 15 ft, Exposure C ✓.
Velocity pressure:
qz = 0.613 Kz Kzt Kd V² = 0.613 × 0.84998 × 1.0 × 0.85 × 42²
= 781.24 N/m² = 0.78124 kPa
Wall pressures:
p_windward = qz G Cp = 0.78124 × 0.85 × 0.8 = 0.53124 kPa
p_leeward = 0.78124 × 0.85 × 0.5 = 0.33203 kPa (suction)
p_net = 0.53124 + 0.33203 = 0.86327 kPa (MWFRS base shear)
| Quantity | Hand calc | Software | Match |
|---|---|---|---|
| Kz | 0.84998 | 0.84998 | ✅ exact |
| qz | 0.78124 kPa | 0.78124 kPa | ✅ exact |
| p_windward | 0.53124 kPa | 0.53124 kPa | ✅ exact |
| p_leeward | 0.33203 kPa | 0.33203 kPa | ✅ exact |
| p_net | 0.86327 kPa | 0.86327 kPa | ✅ exact |
Documented limitations: MWFRS wall pressures only (Cp for L/B ≈ 1); no components & cladding, no roof uplift, no dynamic amplification. The SBC 902-2024 §705.2 heritage 75% reduction is applied downstream by the walls service (adobe only), not here — no double counting.
from vernastruct.analysis.wind import wind_wall_pressures
w = wind_wall_pressures(V_ms=42.0, z_m=4.0, exposure="C")
assert abs(w.p_windward_kPa - 0.53124) < 1e-4
Pinned as
tests/test_verification_cases.py::test_vc07_wind_pressure
(plus module tests in tests/test_lateral_analysis.py).
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.