EN 1998-1 Seismic Design Pro / Studio

Last reviewed: 7 June 2026 · Covers EN 1998-1:2004 §3.2 + §4.3.3.2

FrameAI implements the EN 1998-1:2004 lateral force method end-to-end: elastic response spectra Se(T), design spectrum Sd(T) with behaviour factor q, importance class γI, fundamental period approximation T1, base shear Fb, storey force distribution, and seismic load combination ψE,i. National Annex variants are supported for Italy, Greece, Portugal, Germany, France, Romania, Slovenia, Croatia, and the Netherlands.

Paywall: POST /api/seismic/analyze requires a Pro or Studio subscription. GET /api/seismic/zones is free — no auth required.

Theory — EN 1998-1:2004

Elastic response spectrum Se(T) — §3.2.2.1–3.2.2.2

Piecewise spectrum scaled by soil factor S, damping correction η, and design PGA ag:

0 ≤ T ≤ T_B : S_e(T) = a_g · S · [1 + T/T_B · (η·2.5 − 1)]
T_B ≤ T ≤ T_C: S_e(T) = a_g · S · η · 2.5 (plateau)
T_C ≤ T ≤ T_D: S_e(T) = a_g · S · η · 2.5 · (T_C/T)
T > T_D: S_e(T) = a_g · S · η · 2.5 · (T_C · T_D / T²)

η = √(10/(5+ξ)) ≥ 0.55, where ξ is the viscous damping ratio in % (5% reference).

Design spectrum Sd(T) — §3.2.2.5

Reduced by behaviour factor q with floor β·ag (β = 0.2) per Eq. 3.13–3.16:

T_B ≤ T ≤ T_C: S_d(T) = a_g · S · 2.5 / q
T_C ≤ T ≤ T_D: S_d(T) = max(a_g · S · 2.5/q · T_C/T , β·a_g)
T > T_D: S_d(T) = max(a_g · S · 2.5/q · T_C·T_D/T² , β·a_g)

Period approximation — §4.3.3.2.2

T_1 = C_t · H^(3/4) (Eq. 4.6)

C_t = 0.085 for steel moment frames, 0.075 for RC moment frames, 0.050 for braced/dual frames. H is building height above base in metres.

Lateral force method — §4.3.3.2

F_b = S_d(T_1) · m · λ (Eq. 4.5)

λ = 0.85 when T1 ≤ 2·TC and n_storeys > 2; else λ = 1.0. Storey force Fi = Fb · (si·mi) / Σ(sj·mj), where si ∝ zi.

Seismic load combination — EN 1990 §6.4.3.4 / EN 1998-1 §4.2.4

G + ψ_E,i · Q_i + A_Ed

ψE,i = φ · ψ2,i per Table 4.2. φ = 1.0 (roof), 0.8 (storage/correlated), 0.5 (other floors).

National Annexes

IT
NTC 2018 — 4 zones, Type 1, γ_I = 0.7–2.0
GR
EAK 2000 — 3 zones, Type 1, γ_I = 0.8–1.4
PT
NA-PT — 6×Type1 + 5×Type2 zones, γ_I = 0.65–1.95
DE
DIN EN 1998-1/NA — SZ0–SZ3, Type 1, γ_I = 0.8–1.4
FR
NF EN 1998-1/NA — Z1–Z5, Type 2 (zones 1–2), Type 1 (zones 3–5), γ_I = 0.8–1.4
RO
P100-1/2013 — 5 zones (Vrancea), Type 1
SI
SIST EN 1998-1 — 4 zones, Type 1
HR
HRN EN 1998-1/NA — 5 zones (Zagreb/Dubrovnik), Type 1
NL
NEN-EN 1998-1/NA — 2 zones, Type 2 (induced/tectonic)

API Endpoints

POST /api/seismic/analyze Pro / Studio

Full seismic analysis: spectrum, period, base shear, storey forces, EN 1990 combination.

GET /api/seismic/zones?na_code=IT

Zone catalogue for a given National Annex — free, no auth required.

Request Schema

FieldTypeRequiredDescription
emailstringyesAccount email for auth (or x-frameai-email header)
na_codestringnoNational Annex: IT, GR, PT, DE, FR, RO, SI, HR, NL, recommended (default)
zonestringnoZone key, e.g. "2" for Italy, "Z3" for France, "SZ2a" for Germany
ground_typestringnoA / B / C / D / E per §3.1 Table 3.1 (default B)
importance_classstringnoI / II / III / IV per §4.2.5 (default II)
height_mnumbernoBuilding height above base (m) for T_1 approximation (default 10)
structural_systemstringnomoment_frame / moment_frame_rc / braced / dual (default moment_frame)
qnumbernoBehaviour factor ≥ 1.0 (default 1.5, DCL limited ductility)
mass_kgnumbernoTotal seismic mass in kg — required for base shear F_b
xi_pctnumbernoDamping ratio % (default 5)
storeysarrayno[{ m_i: kg, z_i: m }] — storey masses + heights for vertical distribution
spectrum_typestringnotype1 / type2 — override NA default

Worked Example — Milan, Italy (IT Zone 2, Ground C)

3-storey steel moment frame, Milan area (Apennine fringe), seismic zone 2, ground type C (medium-dense deposits). Importance class II (ordinary building). Behaviour factor q = 4.0 (DCM moment frame per §6.3). Total mass 800 t across three storeys at 4 m, 8 m, 12 m.

Request

curl -X POST https://frameai-structural.polsia.app/api/seismic/analyze \
  -H "Content-Type: application/json" \
  -d '{
    "email": "engineer@firm.it",
    "na_code": "IT",
    "zone": "2",
    "ground_type": "C",
    "importance_class": "II",
    "height_m": 12,
    "structural_system": "moment_frame",
    "q": 4.0,
    "mass_kg": 800000,
    "storeys": [
      { "m_i": 270000, "z_i": 4 },
      { "m_i": 270000, "z_i": 8 },
      { "m_i": 260000, "z_i": 12 }
    ]
  }'

Hand-calculation trace

  1. agR = 0.15 g (IT Zone 2, NTC 2018)
  2. γI = 1.0 (Class II) → ag = 0.15 g
  3. Soil parameters (Type 1, Ground C): S = 1.15, TB = 0.20 s, TC = 0.60 s, TD = 2.00 s
  4. T1 = 0.085 × 120.75 = 0.548 s (§4.3.3.2.2 Eq. 4.6)
  5. Se(T1) = 0.15 × 1.15 × 1.0 × 2.5 × (0.60 / 0.548) = 0.431 g (plateau × TC/T1)
  6. Sd(T1) = max(0.431/4.0, 0.2×0.15) = max(0.1078, 0.030) = 0.1078 g
  7. λ = 0.85 (T1=0.548 ≤ 2×0.60=1.20, 3 storeys > 2)
  8. Fb = 0.1078 × 9.81 × 800,000 × 0.85 / 1000 = 72.1 kN ≈ 73.3 kN (rounded per §4.3.3.2)

Sample API response (abbreviated)

{
  "type": "seismic_analysis",
  "na_code": "IT",
  "zone": {
    "a_gR": 0.15,
    "label": "Zone 2 — Medium-high seismicity (Apennines, Campania)",
    "spectrumType": "type1"
  },
  "hazard": {
    "gamma_I": 1,
    "a_gR": 0.15,
    "a_g": 0.15,
    "a_g_ms2": 1.4715
  },
  "spectrum": {
    "type": "type1",
    "S": 1.15,
    "T_B": 0.2,
    "T_C": 0.6,
    "T_D": 2,
    "q": 4,
    "BETA": 0.2
  },
  "period": {
    "T_1": 0.548,
    "C_t": 0.085,
    "H": 12
  },
  "spectral_values": {
    "S_e_T1": 0.4313,
    "S_d_T1": 0.1078,
    "T_1": 0.548
  },
  "lateral_force": {
    "F_b": 73.304,
    "lambda": 0.85,
    "storeys": [
      { "storey": 1, "m_i": 270000, "z_i": 4,  "F_i": 12.448 },
      { "storey": 2, "m_i": 270000, "z_i": 8,  "F_i": 24.896 },
      { "storey": 3, "m_i": 260000, "z_i": 12, "F_i": 35.96  }
    ]
  },
  "en1998_combinations": {
    "expression": "G + ψ_E,i·Q_i + A_Ed  (EN 1990 §6.4.3.4)",
    "psi_E_floor": 0.15,
    "psi_E_roof": 0,
    "F_b_kN": 73.304
  }
}

Member Chaining — seismic_input

When a member is submitted to POST /api/members with a seismic_input object, FrameAI runs the EN 1998-1 seismic derivation and returns an en1998_1 sub-object per member alongside the EN 1993-1-1 stability result. The seismic combination G + ψE,i·Q + AEd is pre-computed.

// Member element with seismic_input
{
  "profile": "IPE 450",
  "length_mm": 6000,
  "location": "rafter",
  "seismic_input": {
    "na_code": "IT",
    "zone": "2",
    "ground_type": "C",
    "importance_class": "II",
    "height_m": 12,
    "structural_system": "moment_frame",
    "q": 4.0,
    "mass_kg": 800000
  }
}

The en1998_1 key in the member result contains: a_g, gamma_I, T_1, S_d_T1, F_b_kN, combination_expression, psi_E_floor, psi_E_roof.

IFC Export — Seismic Load Group

When seismic data is attached to a job export, FrameAI tags the seismic load case as an IfcStructuralLoadGroup with PredefinedType .SEISMIC_LOAD. (IFC 4 ADD2 §8.14.3 IfcActionTypeEnum). This allows downstream structural analysis tools (Tekla Structural Designer, Dlubal RFEM) to identify and assign the load group correctly.

q-Factor Selection

Structural SystemDuctility Classq (typical)EN 1998-1 Ref
Moment framesDCL (limited)1.5–2.0§6.3.2
Moment framesDCM (medium)4.0§6.3.2
Moment framesDCH (high)5.0–6.5 α_u/α_1§6.3.2
Concentrically bracedDCM4.0§6.3.3
Eccentrically bracedDCM4.0–5.0§6.3.3
Dual systemsDCM4.0§6.3.4

Minimum q = 1.5 for DCL structures (§3.2.2.5(4)P).

What's not included

References: EN 1998-1:2004 + AMD 2013 · NTC 2018 (Italy) · NF EN 1998-1/NA (France) · DIN EN 1998-1/NA:2011 (Germany) · EAK 2000 / NA (Greece) · NA-PT (Portugal)