VernaStruct
VernaStruct
Verification Manual
Manual index vernastruct.com

VC-07 — Equivalent Static Wind Pressure (ASCE 7-16 / SBC 301)

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.


1. Problem statement

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

2. Hand calculation

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)

3. Results comparison

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.

4. Reproducing this check

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.