Chapter 5 Coastal Engineering: Wave Kinematics#
1. Introduction#

Fig. 26 **Figure 5.2 **: Breaking Wave.#
Breaking Waves and Coastal Design#
Overview#
Breaking waves play a critical role in coastal processes and the design of shore protection structures. The type of breaking wave—spilling, plunging, or surging—affects wave energy dissipation, sediment transport, and structural loading. Engineers use the Iribarren number (also called the surf similarity parameter) to classify wave breaking behavior and guide design decisions.
Key Equation: Iribarren Number#
The Iribarren number \(( \xi \)) is defined as:
Where:
\(( \tan(\beta) \)) = beach slope (dimensionless)
\(( H_b \)) = breaker wave height (m)
\(( L_b \)) = breaker wavelength (m), calculated using linear wave theory
Wavelength Calculation (Airy Theory)#
To compute \(( L_b \)), we solve the dispersion relation:
\(( \omega = \frac{2\pi}{T} \)) = wave angular frequency
\(( h \)) = water depth
\(( T \)) = wave period
\(( g \)) = gravitational acceleration
This is solved iteratively to find the wave number \(( k \)).
Breaking Wave Classification#
Iribarren Number \(( \xi \)) |
Breaking Type |
Description |
---|---|---|
\(( \xi < 0.4 \)) |
Spilling |
Gentle breaking; energy dissipates gradually over a wide surf zone |
\(( 0.4 \leq \xi \leq 2.0 \)) |
Plunging |
Moderate slope; wave curls and crashes; high impact force |
\(( \xi > 2.0 \)) |
Surging |
Steep slope; wave rushes up without breaking; minimal energy dissipation |
Implications for Coastal Design#
🔹 Spilling Waves#
Low impact forces
Wide surf zone
Ideal for beach nourishment and dune protection
Structures may experience gradual loading
🔹 Plunging Waves#
High impact forces
Can cause structural damage and scour
Common near revetments, seawalls, and breakwaters
Require robust armor units and energy dissipation features
🔹 Surging Waves#
Minimal breaking
Can lead to wave run-up and overtopping
Important for steep slopes and vertical walls
Design must consider run-up height and wave reflection
Typical Iribarren Number Ranges#
Beach Type |
Slope (tan β) |
Typical \(( \xi \)) |
Likely Breaking Type |
---|---|---|---|
Flat sandy beach |
0.01–0.02 |
< 0.4 |
Spilling |
Moderate slope |
0.03–0.05 |
0.4–2.0 |
Plunging |
Steep rocky coast |
> 0.05 |
> 2.0 |
Surging |
Design Considerations#
Use Iribarren number to anticipate wave behavior and select appropriate structural forms.
Combine with wave run-up, overtopping, and scour models for comprehensive design.
Validate with field data or physical modeling when possible.
References#
[] Introduces the Iribarren number (surf similarity parameter) to classify breaker types—spilling, plunging, collapsing, and surging—based on beach slope and wave steepness. Emphasizes model-prototype similarity and provides a unified framework for predicting wave breaking behavior on plane slopes. [U.S. Army Corps of Engineers, 1984] Focuses on empirical breaker indices and design wave forces. [U.S. Army Corps of Engineers, 2002] Expands on wave transformation and breaking using numerical models (e.g., STWAVE, SWAN). Discusses wave shoaling, refraction, and breaking criteria in design contexts. Integrates wave height-to-depth ratios, breaker types, and energy dissipation for engineering applications.
# 📌 Run this cell first in a Jupyter Notebook
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import ipywidgets as widgets
from IPython.display import display, clear_output
# 🌐 Physical constant
g = 9.81 # gravity (m/s²)
# 📐 Wavelength calculator
def calculate_wavelength(T, h, tol=1e-6, max_iter=100):
omega = 2 * np.pi / T
k = omega**2 / g
for _ in range(max_iter):
k_new = omega**2 / (g * np.tanh(k * h))
if abs(k_new - k) < tol:
break
k = k_new
return 2 * np.pi / k
# 📊 Interactive function
def update_breaking_wave(Hb, T, slope, db):
clear_output(wait=True)
Lb = calculate_wavelength(T, db)
xi = slope / np.sqrt(Hb / Lb)
if xi < 0.4:
wave_type = "Spilling"
elif 0.4 <= xi <= 2.0:
wave_type = "Plunging"
else:
wave_type = "Surging"
print(f"🌊 Iribarren Number (ξ): {xi:.2f}")
print(f"🔍 Breaking Wave Type: {wave_type}")
# 📈 Sensitivity plot: vary wave height
Hb_vals = np.linspace(0.5, 6.0, 50)
xi_vals = [slope / np.sqrt(H / calculate_wavelength(T, db)) for H in Hb_vals]
plt.figure(figsize=(8, 5))
plt.plot(Hb_vals, xi_vals, label='Iribarren Number vs Wave Height', color='teal')
plt.axhline(0.4, color='gray', linestyle='--', label='Spilling Threshold')
plt.axhline(2.0, color='gray', linestyle='--', label='Surging Threshold')
plt.axvline(Hb, color='red', linestyle=':', label=f'Current H = {Hb:.2f} m')
plt.xlabel('Breaker Wave Height (m)')
plt.ylabel('Iribarren Number (ξ)')
plt.title('Sensitivity of Breaking Wave Type to Wave Height')
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
# 🎛️ Sliders
Hb_slider = widgets.FloatSlider(value=2.5, min=0.5, max=6.0, step=0.1, description='Wave Height (m)')
T_slider = widgets.FloatSlider(value=8.0, min=4.0, max=12.0, step=0.5, description='Wave Period (s)')
slope_slider = widgets.FloatSlider(value=0.02, min=0.005, max=0.1, step=0.005, description='Beach Slope')
db_slider = widgets.FloatSlider(value=5.0, min=1.0, max=15.0, step=0.5, description='Water Depth (m)')
# 🔄 Display interactive controls
interactive_plot = widgets.interactive(
update_breaking_wave,
Hb=Hb_slider,
T=T_slider,
slope=slope_slider,
db=db_slider
)
display(interactive_plot)
3. Self-Assesment#
Questions on Breaking Waves and Coastal Design#
Reflective Questions#
How does the type of breaking wave influence the design of coastal protection structures?
Consider how energy dissipation and impact forces vary between spilling, plunging, and surging waves.Why is it important to classify breaking wave types before selecting a structural solution?
Think about long-term performance, maintenance, and safety.What might be the consequences of misclassifying a plunging wave as spilling in a design scenario?
Reflect on potential structural failures or under-designed components.
Conceptual Questions#
What physical parameters influence the Iribarren number?
List and explain how each affects wave breaking behavior.Why does a steeper beach slope tend to produce surging waves?
Relate this to the geometry and energy dissipation characteristics.How does wave period affect the wavelength and, consequently, the Iribarren number?
Explain the relationship between wave dynamics and breaking classification.Why is the Iribarren number considered a surf similarity parameter?
Discuss its role in comparing wave behavior across different coastal profiles.
Quiz Questions#
Multiple Choice#
1. What is the typical Iribarren number range for plunging waves?
A. \(( \xi < 0.4 \))
B. \(( 0.4 \leq \xi \leq 2.0 \))
C. \(( \xi > 2.0 \))
D. \(( \xi = 0 \))
Answer: B
2. Which wave type is most likely to cause structural damage due to high impact forces?
A. Spilling
B. Plunging
C. Surging
D. Standing
Answer: B
3. What does the Iribarren number primarily depend on?
A. Wind speed and direction
B. Beach slope and wave steepness
C. Sediment grain size
D. Tidal range
Answer: B
4. Which wave type is associated with minimal breaking and high run-up potential?
A. Spilling
B. Plunging
C. Surging
D. Collapsing
Answer: C
5. What is the effect of increasing wave period on the Iribarren number (assuming constant slope and wave height)?
A. It increases ξ
B. It decreases ξ
C. No effect
D. It makes ξ infinite
Answer: B
Challenge Question#
How would you modify a coastal structure if field data shows frequent surging waves instead of the expected plunging waves?
Consider changes in slope, crest elevation, and energy dissipation features.