Repository navigation
Seaside Armor Damage Progression LCS CSR
Source: CHESS_Library/Structure_Reponses/Equations/seaside_armor_stone_damage.m, called from CHESS_Library/Structure_Reponses/LCS_CSR/chess_csr_dpa.m inside the per-timestep, per-life-cycle loop.
Applies to: struc_type = 3 (Rubblemound) only. This is the LCS Coastal Structure Reliability — Damage Progression Analysis (CSR-DPA) workflow, a distinct code path from the PROS/RB dispatch documented on Melby Seaside Armor Stone Stability Dn50.
Enable flag: config.csr_call_dpa (activates the CSR-DPA module); config.csr_compute_S_submerged additionally gates the submerged-crest damage handling within this function.
Rather than sizing armor stone for a target damage level (as Melby Seaside Armor Stone Stability Dn50 does), this equation tracks the cumulative seaside armor damage number S for a structure with an already-specified stone size, storm by storm, timestep by timestep, across a stochastically-sampled life cycle of storms. Damage accumulates using a square-root-of-time (Miles/Van der Meer-style) rule and can be reset by structure repairs when a limit state is exceeded (see chess_csr_dpa.m's repair logic).
-
Fixed stone, growing damage. The armor stone is what was built (
SDnfromseaside_mass). Each hourly time step of each storm adds damage; the damage numberS(eroded area over the stone size squared) only grows, until a repair. -
Damage grows with the square root of the number of waves. A time step's waves are added to an equivalent number of waves that would have produced the current damage (
Nze), so the same storm does less additional damage to an already-damaged slope. -
Initiation versus progression. The first damaging storm of a life cycle uses the initiation coefficient
k_siand a jumpdS = 0.5; once damage exists, later steps use the progression coefficientk_sp. -
A threshold. A time step whose damage potential
Szero(on an undamaged slope) is 0.2 or less adds nothing, so small storms do not slowly erode the slope. -
Load as on the design page. Momentum flux at the toe, plunging or surging, permeability
Pand storm duration, as in Melby Seaside Armor Stone Stability Dn50. -
Where it does not apply damage is carried over unchanged: waves under 0.1 m, a dry toe, a crest too low for the stone (
Rc/SDn < 1), or a submerged crest. Withcsr_apply_cutoff_correction = 1the validity check uses a crest raised bycsr_cutoff_offset. -
Two tracks. Damage is followed with and without repairs. With repairs (
csr_apply_structure_repair), onceSexceeds the limit (1:seaside_design_S, the service limit; 2:seaside_S_uls, the ultimate limit; 3: either), the rest of that storm is skipped and the slope is restored toS = 0at the storm's end. -
Outputs. Damage histories per life cycle, the mean and percentile damage per year, the final damage, the number of repairs and the reliability: the share of life cycles with no repair (with repairs on) or that never reach
seaside_S_uls(repairs off).

Source: this function shares its core momentum-flux formulation with Melby Seaside Armor Stone Stability Dn50 (same Mf, A0, A1, critical steepness smc, and plunging/surging am coefficients). chess_csr_dpa.m's header explicitly lists the governing publications for this damage-progression approach:
- Melby, J. A. 1999. Damage Progression on Breakwaters. PhD dissertation, University of Delaware.
- Melby, J. A. 2009. "Time-Dependent Life-Cycle Analysis of Coastal Structures." Proc. Coastal Structures 2007, 1842–1853.
- Melby, J. A., and S. A. Hughes. 2004. "Armor Stability Based on Wave Momentum Flux." Proc. Coastal Structures 2003, 53–65.
- Melby, J. A., and N. K. Kobayashi. 2011. "Stone Armor Damage Initiation and Progression." Journal of Coastal Research 27(1): 110–119.
- Applied in: Gonzalez, V. M., et al. 2020. "Alabama Barrier Island Restoration Assessment life-cycle structure response modeling." ERDC/CHL TR-20-5.
Momentum flux and steepness regime (identical to the seaside Dn50 equation):
km = wave number at Tm (from wavnum1_VG)
Lm = 2π / km
sm = Hsig / Lm
smc = cot(α)^-3
A0 = 0.639·(Hsig/h)^2.026
A1 = 0.180·(Hsig/h)^-0.391
Mf = A0 · (h/(g·Tm²))^(-A1)
am = 1/(km1·P^0.18·√cot α) if sm ≥ smc (plunging)
am = 1/(km2·P^0.18·cot(α)^(0.5-P)·sm^(-P/3)) if sm < smc (surging)
Damage number for a single timestep's worth of wave attack (Szero), and the accumulated damage state (S):
Nm = √(Mf/(SG-1)) · h / SDn SG = 1 + Δ (specific gravity), SDn = existing Dn50
Nze = ( S_last / Ks / (am·Nm)^5 )^2 (equivalent number of prior waves for the current state)
Szero = Ks · √Nz · (am·Nm)^5 Nz = number of waves in this timestep
if Szero > Szerolim (= 0.2):
if within equation validity range (Rc/SDn ≥ 1, or an artificially raised "cutoff" freeboard if
config.csr_apply_cutoff_correction = 1):
S = dS + Ks · √(Nze + Nz) · (am·Nm)^5
elseif Rc < 0 and config.csr_compute_S_submerged = 1:
S = S_last (submerged-crest damage not currently computed; carried forward unchanged —
see Notes)
else:
S = S_last
else:
S = S_last
Ks (damage-state coefficient) and dS are selected upstream in chess_csr_dpa.m's damage_state() helper: Ks = k_si (initiation coefficient) with dS = 0.5 for the first damaging storm of a life cycle, or Ks = k_sp (progression coefficient) with dS = 0 for subsequent damaging storms.
| Symbol | Meaning | Units | Source |
|---|---|---|---|
Hsig (Hm0) |
Zero-moment significant wave height for the current timestep | m | Sampled LC forcing, column 6 |
Tm |
Mean wave period, Tp/1.2
|
s | Sampled LC forcing, column 7 |
h |
Water depth at the toe for the current timestep | m | LC forcing SWL minus structure.toe_elevation
|
depth |
Same as h; also used to gate the calculation (Hsig>0.1 && depth>0) |
m | as above |
crest_elevation |
Structure crest elevation | m | structure.crest_elevation |
cot(α) (Sslp) |
Cotangent of the seaward slope | — | structure.seaside_slope |
SDn |
Existing seaside armor stone nominal diameter, from stone mass: (seaside_mass/((1+Δ)·ρw))^(1/3)
|
m |
structure.seaside_mass, structure.armor_delta, config.water_density
|
SG |
Armor stone specific gravity, 1 + Δ
|
— | structure.armor_delta |
P |
Notional permeability coefficient | — | structure.cem_P |
Nz |
Number of waves in the current timestep, duration_of_step / Tm
|
— | Sampled LC forcing (storm increment duration, column 9) |
Rc |
Freeboard: crest_elevation − WL
|
m |
structure.crest_elevation, LC forcing SWL |
Szerolim |
Threshold below which a timestep's forcing is treated as non-damaging | — | Hard-coded 0.2 in chess_csr_dpa.m
|
cutoff |
Cutoff elevation delta for the artificial-freeboard correction | m |
config.csr_cutoff_offset (used when config.csr_apply_cutoff_correction = 1) |
WL |
Storm water level for the current timestep | m | Sampled LC forcing, column 5 |
km1, km2
|
Empirical stability coefficients (plunging/surging) | — |
emp_coeff.km1 (5.06), emp_coeff.km2 (4.87) |
Ks, dS
|
Damage-state initiation/progression coefficient and offset, selected per storm timing | — |
emp_coeff.k_si (2), emp_coeff.k_sp (0.6), via damage_state() in chess_csr_dpa.m
|
compute_S_submerged |
Whether to attempt a submerged-crest damage treatment (see Notes) | — | config.csr_compute_S_submerged |
g |
Gravitational acceleration | m/s² | config.gravity_constant |
-
Submerged-crest damage is not actually computed. The
Rc < 0 && compute_S_submerged == 1branch contains only a commented-out call to asubmerged_armor_stone_damage.mfunction (present in the repository but not wired into any active dispatch) and a lengthy explanatory comment describing the intended approach (a "potential damage"S_potscaled by the square-root-of-time rule from a reference ofNref = 3000waves). As currently implemented, this branch simply carries forward the previous damage state (S = S_last) — i.e., no new seaside damage accrues while the crest is submerged, regardless of thecsr_compute_S_submergedsetting. - This function is called twice per timestep in
chess_csr_dpa.m— once for the "with repairs" damage track and once for the "no repairs" track — each maintaining an independent damage-state history.
Full citation list transcribed from chess_csr_dpa.m's "RELEVANT PUBLICATIONS" header block:
- Melby, J. A. 1999. Damage Progression on Breakwaters. PhD dissertation. Newark, Delaware: University of Delaware.
- Melby, J. A. 2009. "Time-Dependent Life-Cycle Analysis of Coastal Structures." Proceedings of Coastal Structures 2007, 1842–1853. Singapore: World Scientific.
- Melby, J. A., and S. A. Hughes. 2004. "Armor Stability Based on Wave Momentum Flux." Proceedings of Coastal Structures 2003, 53–65. Reston, VA: ASCE.
- Melby, J. A., and N. K. Kobayashi. 2011. "Stone Armor Damage Initiation and Progression." Journal of Coastal Research 27(1): 110–119.
- Van Gent, M. R. A., and B. Pozueta. 2005. "Rear-Side Stability of Rubble Mound Structures." Coastal Engineering 2004, 3481–93. World Scientific Publishing Company. (Listed in the same source-material block; governs the leeside counterpart of this module — see Leeside Armor Damage Progression LCS CSR — not the seaside formulation on this page, but reproduced here for completeness since both share the same header block.)
- Applied in: Gonzalez, Victor M., et al. 2020. "Alabama Barrier Island Restoration Assessment Life-Cycle Structure Response Modeling." ERDC/CHL TR-20-5. Vicksburg, MS: U.S. Army Engineer Research and Development Center.
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