VernaStruct
VernaStruct
Verification Manual
Manual index vernastruct.com

VC-08 — Seismic Equivalent Lateral Force + Adobe Wall In-Plane Checks

Module: vernastruct.analysis.seismic, vernastruct.analysis.lateral, in-plane checks in modules.walls.service. Code basis: ASCE 7-16 §11.4 (site class D coefficients), §12.8 (ELF), §12.11.1 (out-of-plane wall force); R = 1.5 (ordinary plain masonry, Table 12.2-1); SBC 902-2024 §705.2 (75% heritage reduction, applied by the walls service); rigid-body overturning FS ≥ 1.5. Status: ✅ PASS — software matches hand calculation exactly.


1. Problem statement

Single-storey adobe building: seismic base shear, its distribution to one bearing wall, that wall's in-plane shear and overturning checks, and the out-of-plane seismic wall force.

Input Symbol Value
Mapped short-period acceleration SS 0.40 g
Mapped 1-s acceleration S1 0.15 g
Site class D
Response modification R 1.5 (unreinforced masonry)
Importance factor Ie 1.0
Building seismic weight W 60 t
Building height hn 4.0 m (wall force applied at h = 3.0 m)
Wall under check mud brick, L = 4.0 m, h = 3.0 m, t = 0.55 m
Σ length of parallel walls ΣL 8.0 m
Restoring weight (wall + roof share) W_r 20 t

2. Hand calculation

a) Design spectral parameters (site D, linear interpolation):

Fa  = 1.6 + (0.40−0.25)/(0.50−0.25) × (1.4−1.6) = 1.48
Fv  = 2.4 + (0.15−0.10)/(0.20−0.10) × (2.2−2.4) = 2.30
SDS = ⅔ × 1.48 × 0.40 = 0.394667
SD1 = ⅔ × 2.30 × 0.15 = 0.230000

b) ELF base shear:

Ta  = 0.0488 × 4.0^0.75 = 0.13803 s
Cs  = SDS/(R/Ie) = 0.394667/1.5 = 0.263111
cap : SD1/(Ta·R/Ie) = 0.230/0.207041 = 1.1109  (not governing)
floor: max(0.044·SDS, 0.01) = 0.01737          (not governing)
V   = Cs·W = 0.263111 × 60 = 15.7867 t

c) Wall in-plane checks (walls service):

V_wall   = V × L/ΣL = 15.7867 × 4/8    = 7.89333 t
§705.2   : × 0.75 (adobe heritage)      = 5.92000 t design
V_cap    = f_v,eff × L×t = 0.07 MPa × 2.2 m² = 154.0 kN = 15.6983 t
util     = 5.92 / 15.6983               = 0.37711 → PASS
M_ot = 5.92 × 3.0 = 17.76 t·m ; M_r = 20 × 4.0/2 = 40.0 t·m
FS   = 40.0/17.76 = 2.25225 ≥ 1.5       → PASS

Without the roof tied to the wall (restoring = self-weight 6.6 t only): FS = 13.2/17.76 = 0.743 → FAIL — the classic failure mode of un-tied adobe boxes, and why the recommendations engine points to ring beams.

d) Out-of-plane wall force (§12.11.1):

w_wall = ρ g t = 1000 × 9.81 × 0.55 = 5.3955 kPa
Fp = max(0.4·SDS·Ie, 0.1) × w_wall = 0.157867 × 5.3955 = 0.85177 kPa

3. Results comparison

Quantity Hand calc Software Match
SDS / SD1 0.394667 / 0.230000 same ✅ exact
Ta / Cs 0.13803 s / 0.263111 same ✅ exact
Base shear V 15.7867 t 15.7867 t ✅ exact
V_wall design (×0.75) 5.92000 t 5.92000 t ✅ exact
In-plane shear D/C 0.37711 0.37711 ✅ exact
Overturning FS 2.25225 2.25225 ✅ exact
Fp out-of-plane 0.85177 kPa 0.85177 kPa ✅ exact

Documented limitations: single-storey ELF only (no vertical distribution, no response spectrum); base shear distributed to walls by length (no diaphragm-stiffness torsion); site class D coefficients only; rigid-body overturning without uplift/rocking mechanics.

4. Reproducing this check

from vernastruct.analysis.seismic import base_shear_elf
from vernastruct.analysis.lateral import distribute_base_shear_to_wall
from vernastruct.modules.walls.models import WallInput
from vernastruct.modules.walls.service import WallDesignService

bs = base_shear_elf(W=60.0, hn_m=4.0, SS=0.40, S1=0.15)
V_wall = distribute_base_shear_to_wall(bs.V, 4.0, 8.0)
r = WallDesignService().design(WallInput(
    length_m=4.0, height_m=3.0, thickness_m=0.55, material_id="mud_brick",
    axial_load_ton_per_m=0.5, moisture_protection_provided=True,
    inplane_shear_ton=V_wall, restoring_weight_ton=20.0,
))
assert r.ok

Pinned as tests/test_verification_cases.py::test_vc08_seismic_elf (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.