Repository navigation
Structure Response Equations
This page lists the response functions by code path and the symbols they share. For which responses apply to which structure type, grouped by physical process, start at PSE Hydraulic Responses.
CHESS computes coastal structure responses (run-up, overtopping, wall pressures, armor stone stability, damage progression, etc.) from two distinct code paths:
-
compute_structure_response.m— the per-timestep/per-storm response dispatcher used by the PROS (workflow 1), DET (workflow 2), LCS (workflow 3, hydrodynamic response step) and PROS-FB (workflow 4) workflows. It is gated byconfig.struc_type(1=Levee,2=Floodwall,3=Rubblemound,4=Low-Crested Breakwater) and by a set of per-equationconfig.compute_*boolean switches. -
chess_csr_dpa.m(CHESS Coastal Structure Reliability — Damage Progression Analysis) — the LCS life-cycle armor damage accumulation path for Type 3 (Rubblemound) structures, activated byconfig.csr_call_dpa. This is a distinct workflow from (1): it tracks cumulative armor damage numberSstorm-by-storm across simulated life cycles rather than computing a single-storm/single-timestep response.
Each equation below has its own page with a conceptual diagram, the governing formula(s) as implemented in the source, and a parameter table tracing each symbol back to config/structure/forcing data.
| Page | Response | Applies to (struc_type) |
Enable flag |
|---|---|---|---|
| EurOtop Wave Runup R2p | 2% wave run-up height (R2%) | 1 (Levee), 3 (Rubblemound), 4 (LCBW) | config.compute_r2p |
| EurOtop Overtopping Discharge q | Mean overtopping discharge rate per unit crest length | 1, 2 (Floodwall), 3, 4 |
config.compute_q (also forced on by compute_nappe) |
| EurOtop Overtopping Discharge Volume Q vol | Cumulative overtopping volume per unit crest length over a storm/timeseries | 1, 2, 3, 4 (Timeseries only; off in PROS-FB) | config.compute_q_vol |
| Goda Vertical Wall Pressures P1 P2 P3 Pu | Wave-induced hydrodynamic/hydrostatic pressure distribution on a vertical wall (P1, P2, P3) and uplift (Pu) | 2 (Floodwall) |
config.compute_p1, config.compute_p2_p3
|
| Floodwall Nappe Flow Response | Geometry, velocity, and impact force of the overtopping jet ("nappe") landing behind a floodwall | 2 (Floodwall) | config.compute_nappe |
| Melby Seaside Armor Stone Stability Dn50 | Required seaside armor stone nominal diameter (Dn50) for a target damage level S | 3 | config.compute_dn50_seaside |
| Van Gent Leeside Armor Stone Stability Dn50 | Required leeside (rear-side) armor stone nominal diameter (Dn50) | 3 | config.compute_dn50_leeside |
| Submerged Armor Stone Stability Dn50 | Armor stone sizing correction when the structure crest is submerged (Rc < 0) | 3 (with the seaside/leeside Dn50) | config.compute_dn50_submerged |
| Melby Low Crested Breakwater Stability | Low-crested breakwater (LCBW) armor stone size or stability factor (FS) | 4 | config.compute_dn50_lcbw |
| EurOtop Wave Transmission Kt | Wave transmission coefficient (Kt) and transmitted wave height behind the structure | 1, 2, 3, 4 (floodwall: seaward slope tan α = 1, the hidden-berm value) | config.compute_wave_transmission |
| Damaging Depth | Damaging depth: water column from the offshore bed (offshore elevation) to the controlling wave crest | All | config.compute_damaging_depth |
| Page | Response | Applies to | Enable flag |
|---|---|---|---|
| Seaside Armor Damage Progression LCS CSR | Incremental/cumulative seaside armor damage number S(t) across a simulated life cycle | 3 (Rubblemound) | config.csr_call_dpa |
| Leeside Armor Damage Progression LCS CSR | Incremental/cumulative leeside (rear-side) armor damage number S(t) across a simulated life cycle | 3 (Rubblemound) | config.csr_call_dpa |
These two damage-progression equations reuse the same underlying Melby momentum-flux (seaside) and Van Gent & Pozueta rear-side (leeside) stability formulations as the PROS Dn50 pages above, but solve them "in reverse" — given a fixed existing stone size (structure.seaside_mass / structure.leeside_mass), they solve for the damage number S produced by each storm and accumulate it, timestep by timestep, life cycle by life cycle, optionally applying structure repairs (config.csr_apply_structure_repair) when a limit state is exceeded.
These two functions have no config.compute_* enable flag of their own — they run as helper building blocks wherever their caller runs — but each has its own page because both the Van Gent Dn50 equation and the CSR-DPA leeside damage equation depend on them. All current callers pass the seaside slope into these helpers (an earlier version of the CSR-DPA leeside damage function passed the leeside slope here instead; that inconsistency was fixed in commit c639475, "Fixed missing seaward slope input for z1% & u1%"):
| Page | Response | Applies to | Called from |
|---|---|---|---|
| Wave Runup Exceedance z1p | 1%-exceedance run-up elevation (z1%) | 3 (Rubblemound) |
Van Gent Leeside Armor Stone Stability Dn50, Leeside Armor Damage Progression LCS CSR, chess_csr_dpa.m's own diagnostic-only pre-loop computation — all three pass the seaside slope |
| Crest Velocity Exceedance u1p | 1%-exceedance crest overtopping velocity (u1%) | 3 (Rubblemound) | Same three call sites as z1p, immediately after each one's z1p_calc call |
The individual equation pages each carry their own parameter table, but a handful of symbols recur across most of them. This glossary collects only the parameters that actually show up in two or more of the equation source files/wiki pages — it is not a re-statement of every symbol on every page, and it does not replace the per-equation tables (always defer to a given page's own table for that equation's exact usage; where two pages genuinely disagree on what a symbol means, that is called out below rather than papered over).
| Symbol | Meaning | Typical units | CHESS source (config/forcing field) | Used in |
|---|---|---|---|---|
Hm0 (Hsig, H) |
Zero-moment significant wave height, generally at the structure toe | m | Project forcing (project_forcing.Hm0, or LCS/CSR sampled forcing column 6) |
EurOtop Wave Runup R2p, EurOtop Overtopping Discharge q, EurOtop Wave Transmission Kt, Goda Vertical Wall Pressures P1 P2 P3 Pu, Floodwall Nappe Flow Response, Melby Seaside Armor Stone Stability Dn50, Van Gent Leeside Armor Stone Stability Dn50, Submerged Armor Stone Stability Dn50, Melby Low Crested Breakwater Stability, Damaging Depth, Seaside Armor Damage Progression LCS CSR, Leeside Armor Damage Progression LCS CSR, Wave Runup Exceedance z1p, Crest Velocity Exceedance u1p |
SWL (WL) |
Storm/still water level for the current timestep, assumed inclusive of surge, tide, and wave setup | m, datum | Project forcing (project_forcing.SWL, or LCS/CSR sampled forcing column 5) |
Nearly every page above — most directly named in EurOtop Wave Runup R2p, EurOtop Overtopping Discharge q, Floodwall Nappe Flow Response, Damaging Depth; it is also the reference elevation baked into every Rc and h below |
Rc |
Freeboard: structure.crest_elevation − SWL, the same for every structure type (for floodwalls the wall bottom enters only through the toe depth). Negative for a submerged crest (adds the EurOtop weir overflow term) |
m |
structure.crest_elevation, forcing SWL |
EurOtop Wave Runup R2p, EurOtop Overtopping Discharge q, EurOtop Wave Transmission Kt, Goda Vertical Wall Pressures P1 P2 P3 Pu, Melby Seaside Armor Stone Stability Dn50, Van Gent Leeside Armor Stone Stability Dn50, Submerged Armor Stone Stability Dn50, Melby Low Crested Breakwater Stability, Wave Runup Exceedance z1p, Crest Velocity Exceedance u1p, Seaside Armor Damage Progression LCS CSR, Leeside Armor Damage Progression LCS CSR |
h (depth, hs) |
Water depth at the structure toe, SWL − toe_elevation. Elevations are signed (no abs()), so h < 0 means a dry toe: the forcing sets Hm0 = 0, wave responses are NaN (Kt is 0) and surge responses are still computed. For floodwalls without a toe berm the toe is wall_bottom_elevation. Goda also uses d = SWL − berm_crest_elevation, which equals h while toe berms are hidden |
m |
structure.toe_elevation (structure.wall_bottom_elevation for floodwalls), forcing SWL |
Melby Seaside Armor Stone Stability Dn50, Goda Vertical Wall Pressures P1 P2 P3 Pu, Submerged Armor Stone Stability Dn50, Seaside Armor Damage Progression LCS CSR, Damaging Depth |
Tp |
Peak wave period as received directly from forcing, before any period-averaging conversion | s | Project forcing (project_forcing.Tp) |
EurOtop Wave Transmission Kt, Damaging Depth, Submerged Armor Stone Stability Dn50; also the source value that Tm-1,0 and Tm below are both derived from |
Tm-1,0 (Tmm1) |
Spectral mean wave period, computed as Tp / 1.1 (done once in the calling dispatcher — compute_structure_response.m or chess_csr_dpa.m — not inside the individual equation files) |
s | Derived from project_forcing.Tp
|
EurOtop Wave Runup R2p, EurOtop Overtopping Discharge q, Wave Runup Exceedance z1p, Crest Velocity Exceedance u1p, Van Gent Leeside Armor Stone Stability Dn50, Leeside Armor Damage Progression LCS CSR |
Tm |
Mean wave period, computed as Tp / 1.2 — a different derived period from Tm-1,0 above, used specifically for wave-count (Nz) and momentum-flux calculations rather than run-up/overtopping |
s | Derived from project_forcing.Tp
|
Melby Seaside Armor Stone Stability Dn50, Van Gent Leeside Armor Stone Stability Dn50 (for Nz only), Seaside Armor Damage Progression LCS CSR
|
cot(α) — seaside slope (Sslp) |
Cotangent of the seaward structure face slope. All current call sites that need "the" structure slope for run-up/overtopping/momentum-flux physics — including the z1p/u1p helpers used by the leeside equations — use this seaside slope, not the leeside one (see the note on commit c639475 in the "Leeside helper equations" section below) |
— | structure.seaside_slope |
EurOtop Wave Runup R2p, EurOtop Overtopping Discharge q, EurOtop Wave Transmission Kt (as tan α), Melby Seaside Armor Stone Stability Dn50, Van Gent Leeside Armor Stone Stability Dn50, Wave Runup Exceedance z1p, Crest Velocity Exceedance u1p, Seaside Armor Damage Progression LCS CSR, Leeside Armor Damage Progression LCS CSR
|
cot(β_lee) — leeside slope (Lslp) |
Cotangent of the landward (rear-side) structure face slope — a genuinely distinct config field from the seaside slope above. Used only in the final rear-side stability/damage term (a_ls), never in the run-up/velocity (z1p/u1p) calculation itself, even for the leeside equations |
— | structure.leeside_slope |
Van Gent Leeside Armor Stone Stability Dn50, Leeside Armor Damage Progression LCS CSR |
γf, γβ, γb, γv, γ*
|
EurOtop influence factors (roughness, wave obliquity, berm, wall-on-slope/wall-on-levee) from call_eurotop_ifactors.m, seeded largely by config.roughness_ifactor and structure geometry. Not the same computation as the piecewise-in-surf-similarity γf that Wave Runup Exceedance z1p and Crest Velocity Exceedance u1p compute internally for the leeside family — the two γfs should not be assumed numerically equal for the same physical slope |
— |
call_eurotop_ifactors.m, config.roughness_ifactor
|
EurOtop Wave Runup R2p, EurOtop Overtopping Discharge q, EurOtop Wave Transmission Kt (γf/γβ only used indirectly via commented-out branches), Van Gent Leeside Armor Stone Stability Dn50 (γf passed in but currently inert — see that page's Notes) |
g (grav, gravity_constant) |
Gravitational acceleration | m/s² |
config.gravity_constant (9.80665 m/s², set in call_input_parser.m) |
Every equation page in this section |
Δ (delta) |
Armor stone immersed relative density, Δ = (ρs − ρw)/ρw | — |
structure.armor_delta (from config.armor_delta, default 1.65) |
Melby Seaside Armor Stone Stability Dn50, Van Gent Leeside Armor Stone Stability Dn50, Submerged Armor Stone Stability Dn50, Melby Low Crested Breakwater Stability, Seaside Armor Damage Progression LCS CSR (as SG = 1 + Δ), Leeside Armor Damage Progression LCS CSR
|
Dn50 |
Nominal armor stone diameter — either the required size solved for a target damage level (Melby/Van Gent/Submerged/LCBW pages), or the existing/fixed size back-computed from stone mass (SDn, LDn on the CSR-DPA damage-progression pages: (mass / ((1+Δ)·ρw))^(1/3)) — these are two different roles for the same symbol and should not be conflated |
m | Computed (design mode) or structure.seaside_mass/structure.leeside_mass + config.water_density (existing-size mode) |
Melby Seaside Armor Stone Stability Dn50, Van Gent Leeside Armor Stone Stability Dn50, Submerged Armor Stone Stability Dn50, Melby Low Crested Breakwater Stability, Seaside Armor Damage Progression LCS CSR, Leeside Armor Damage Progression LCS CSR |
S |
Armor damage number — either a fixed design/target value the Dn50 equations solve against (structure.seaside_design_S / leeside_design_S), or the storm-by-storm accumulated state the CSR-DPA equations track and carry forward (S_last → S) — again, two distinct roles sharing one symbol |
— |
config.seaside_design_S / config.leeside_design_S (design mode); accumulated internally (CSR-DPA mode) |
Melby Seaside Armor Stone Stability Dn50, Van Gent Leeside Armor Stone Stability Dn50, Submerged Armor Stone Stability Dn50, Seaside Armor Damage Progression LCS CSR, Leeside Armor Damage Progression LCS CSR |
P |
Notional permeability coefficient (CEM Fig. VI-5-11) | — |
structure.cem_P (from config.cem_P, default 0.4) |
EurOtop Overtopping Discharge q (caps γf_orBB), Melby Seaside Armor Stone Stability Dn50, Seaside Armor Damage Progression LCS CSR
|
k, L
|
Local wave number / wavelength. Two distinct computations share these letters: (1) the deep-water approximation L = g·T²/(2π) used directly inline wherever a surf-similarity parameter is needed (EurOtop run-up/overtopping/transmission, z1p/u1p); and (2) the actual finite-depth linear dispersion relation, solved numerically by wavnum1_VG.m for a local wave number k at a given depth — used by the Goda pressure and Melby/Submerged stability equations, which need the toe-depth-dependent wave number rather than a deep-water estimate |
m⁻¹ (k), m (L) |
wavnum1_VG.m (dispersion form); inline g·T²/(2π) (deep-water form) |
Goda Vertical Wall Pressures P1 P2 P3 Pu, Melby Seaside Armor Stone Stability Dn50, Submerged Armor Stone Stability Dn50, Seaside Armor Damage Progression LCS CSR (dispersion form); EurOtop Wave Runup R2p, EurOtop Overtopping Discharge q, EurOtop Wave Transmission Kt, Wave Runup Exceedance z1p, Crest Velocity Exceedance u1p (deep-water form) |
crest_width (B, wdth) |
Structure crest width | m | structure.crest_width |
EurOtop Wave Transmission Kt, Van Gent Leeside Armor Stone Stability Dn50, Crest Velocity Exceedance u1p, Leeside Armor Damage Progression LCS CSR |
duration |
Storm duration, used to derive the number of waves Nz = duration / T for wave-count-dependent formulas |
hrs (config.storm_duration), converted to s at the call site |
config.storm_duration |
Melby Seaside Armor Stone Stability Dn50, Van Gent Leeside Armor Stone Stability Dn50 |
ρw |
Water density | kg/m³ |
config.water_density (default 1000 kg/m³) |
Goda Vertical Wall Pressures P1 P2 P3 Pu, Floodwall Nappe Flow Response, Melby Low Crested Breakwater Stability (back-computing SDn), Seaside Armor Damage Progression LCS CSR, Leeside Armor Damage Progression LCS CSR
|
z1% / u1%
|
1%-exceedance run-up elevation and crest overtopping velocity — themselves shared building blocks with their own pages (see Wave Runup Exceedance z1p, Crest Velocity Exceedance u1p), reused as direct inputs by both the PROS/RB leeside Dn50 equation and the LCS-CSR leeside damage-progression equation | m (z1%), m/s (u1%) |
Computed (see linked pages) | Van Gent Leeside Armor Stone Stability Dn50, Leeside Armor Damage Progression LCS CSR |
A few other helper routines are reused across nearly all of the pages above and are noted on each page rather than documented separately:
-
wavnum1_VG.m— solves the linear (Airy) wave theory dispersion relation for wave numberk, with an explicit estimate per Guo (2002), "Simple and explicit solution of wave dispersion equation," Coastal Engineering, Vol 45, No. 2, pp 71–74. Used wherever a local wavelength/wave number is needed (Melby stability equations, Goda pressures). -
call_eurotop_ifactors.m— computes the EurOtop influence factors (gamma_froughness,gamma_betaobliquity,gamma_bberm,gamma_v/gamma_starwall-on-slope) consumed by the run-up/overtopping equations.
Run-up & Overtopping
- Wave Run-up (R2%)
- Overtopping Discharge (q)
- Overtopping Volume (Q_vol)
- Overtopping Damage Classification
- Run-up Exceedance (z1%)
- Crest Velocity Exceedance (u1%)
Transmission
Wall Loads
Armor Stability
Damage Progression (LCS)
Hazard Metrics