Hydropower Civil & Transient Hydraulics, Dieter Thoma (1910) Surge-Tank Stability Criterion
Thoma Hydropower Surge-Tank Area & Upsurge Formula
Calculate Thoma Critical Surge-Tank Area Ath (m²), Governor Stability Factor (As / Ath), Rigid-Column Mass-Oscillation Period T (s), and Frictionless Full-Rejection Upsurge Zmax (m).
Lining a headrace tunnel smoother reduces friction head hf0—paradoxically DOUBLING Dieter Thoma’s minimum surge-tank area and triggering runaway governor water-level hunting!
Between a long low-pressure **Headrace Tunnel** (`Length L` m, `Cross-Section A_t` m², `Friction Head Loss h_{f0}` m at `Rated Flow Q_0` m³/s) and a steep high-pressure turbine penstock (`Gross Static Head H_0` m), hydro plants excavate a free-surface **Surge Shaft (`Area A_s` m²)** to reflect water-hammer waves and supply accelerating water! Yet **Dieter Thoma (`1910`)** proved a startling instability: a constant-power turbine governor (`P ~ Q * H_n = const`) opens wicket gates whenever surge-tank water level drops (`dQ / dZ < 0` negative damping!), pumping growing `3–4`-minute oscillations UNLESS shaft area exceeds **Thoma Critical Area `A_{th} = (L * A_t) / (2 * g * h_{f0} * (H_0 - h_{f0}))`** (`m²`, typically designed for **Stability Factor `A_s / A_{th} >= 1.50`**)! Meanwhile, instantaneous full-load breaker rejection excites **Rigid-Column Mass Oscillation Period `T = 2 * pi * sqrt((L * A_s) / (g * A_t))`** (`s`) with **Conservative Frictionless Peak Upsurge `Z_{max} = Q_0 * sqrt(L / (g * A_t * A_s))`** (`m`)!
Verify on a `24` MW Mountain Headrace Plant—Headrace_Length `L` = 3,200 m (B2), Tunnel_Area `A_t` = 18.0 m² (B3), Gross_Static_Head `H_0` = 42.0 m (B4), Rated_Tunnel_Friction `h_{f0}` = 1.80 m (B5), Rated_Flow `Q_0` = 65.0 m³/s (B6), and Surge_Shaft_Area `A_s` = 75.0 m² (B7): Thoma Minimum Area `A_{th}` equals `40.59` m² (E2), Governor Stability Ratio `A_s / A_{th}` equals `1.85` (`>= 1.50` damped! E3), Mass-Oscillation Period equals `231.7` s (`3.86` min, E4), and Frictionless Instant-Rejection Upsurge equals `31.96` m (E5)!
| Thoma Surge-Tank Transient KPI (L=3,200 m, At=18 m², H0=42 m, Q0=65 m³/s) | Formula | Verified Output |
|---|---|---|
| Thoma Critical Area Ath (m²) | (L_m * At_m2) / (2 * 9.80665 * hf0 * (H0 - hf0)) | 40.59 m² (83.96 m² @ smooth hf0=0.85 m!) |
| Thoma Stability Factor (As / Ath) | Surge_Tank_As_m2 / Thoma_Ath_m2 | 1.85 STABLE (0.45 < 1.0 RUNAWAY HUNTING!) |
| Mass Oscillation Period T (s) | 2 * PI() * SQRT((L_m * As_m2) / (9.80665 * At_m2)) | 231.7 s (164.9 s @ narrow 38 m² shaft) |
| Frictionless Peak Upsurge Zmax (m) | Q0_m3s * SQRT(L_m / (9.80665 * At_m2 * As_m2)) | 31.96 m (44.90 m overtopping surge!) |
Dieter Thoma (1910) Surge-Shaft Governor Damping & Rigid-Column Upsurge Formula
Validate `Headrace_Length L` in `[100, 50,000]` m, `Tunnel_Area A_t` in `[1, 250]` m², `Gross_Head H_0` in `[10, 800]` m, `Friction_Loss h_{f0}` in `[0.1, 0.35 * H_0]` m, `Rated_Flow Q_0 > 0`, and `Surge_Tank_Area A_s >= 2` m²!
=LET(lt_m, B2, at_a, B3, hz_m, B4, hf_m, B5, qz_s, B6, as_a, B7, IF(OR(lt_m < 100, lt_m > 50000, at_a < 1, at_a > 250, hz_m < 10, hz_m > 800, hf_m < 0.1, hf_m > 0.35 * hz_m, qz_s <= 0, as_a < 2), "Invalid Surge Input", ROUND(qz_s * SQRT(lt_m / (9.80665 * at_a * as_a)), 2)))Smooth-Lined Tunnel (`h_f0 = 0.85` m) + Undersized Shaft (`A_s = 38` m²) Hunting Check
Slip-form smooth concrete (`B5 = 0.85` m friction loss) while cutting surge-shaft excavation to `B7 = 38.0` m² (`7.0` m diameter): Lower tunnel damping **more than doubles `A_{th}` E2 to `83.96` m²**, crashing Thoma Stability Ratio E3 to **`0.45` (`< 1.0` UNSTABLE!)** while Load-Rejection Upsurge E5 surges to **`44.90` m**—spilling right out the upper vent gallery!
=IF(ISTEXT(E5), E5, LET(ath_a, (B2 * B3) / (2 * 9.80665 * B5 * (B4 - B5)), ROUND(B7 / ath_a, 2)))Try the example
Use the original values or change them to test your understanding.