Skip to content

Seaside Armor Damage Progression LCS CSR

FGM edited this page Oct 19, 2026 · 4 revisions

Seaside Armor Damage Progression (LCS Coastal Structure Reliability)

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.

What it models

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).

Conceptual model

  • Fixed stone, growing damage. The armor stone is what was built (SDn from seaside_mass). Each hourly time step of each storm adds damage; the damage number S (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_si and a jump dS = 0.5; once damage exists, later steps use the progression coefficient k_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 P and 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. With csr_apply_cutoff_correction = 1 the validity check uses a crest raised by csr_cutoff_offset.
  • Two tracks. Damage is followed with and without repairs. With repairs (csr_apply_structure_repair), once S exceeds 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 to S = 0 at 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).

Conceptual diagram

Two-panel figure: left panel is a cross-section of the seaside armor slope with SWL, Rc, toe/crest elevations, and the existing (fixed) armor stone size SDn; right panel is a schematic S(t) damage-accumulation curve over a life cycle showing damage rising then dropping at a repair event

The equation

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.

Parameters

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

Notes / limitations

  • Submerged-crest damage is not actually computed. The Rc < 0 && compute_S_submerged == 1 branch contains only a commented-out call to a submerged_armor_stone_damage.m function (present in the repository but not wired into any active dispatch) and a lengthy explanatory comment describing the intended approach (a "potential damage" S_pot scaled by the square-root-of-time rule from a reference of Nref = 3000 waves). 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 the csr_compute_S_submerged setting.
  • 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.

References

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.

Clone this wiki locally