Engineering & Science
Colebrook-White Pipe Friction via Serghides’ Steffensen Acceleration (< 0.003% Error)
Solve the implicit Colebrook-White turbulent Darcy friction equation without Goal Seek or circular references using T. K. Serghides’ (1984) 3-step Steffensen Aitken Δ² acceleration.
Solving implicit 1/SQRT(f) = -2*LOG10((ε/D)/3.7 + 2.51/(Re*SQRT(f))) to 6-digit accuracy in pure cells!
The Colebrook-White equation (1939) defines the Moody chart across smooth, transition, and rough turbulent pipes—yet f appears on BOTH sides of the equation! While approximate correlations like Swamee-Jain or Haaland drift by ~1–1.5% in transition zones, T. K. Serghides (1984, Chemical Engineering) applied Steffensen / Aitken Δ^2 fixed-point acceleration to three nested evaluations A = -2*LOG10((ε/D)/3.7 + 12/Re), B = -2*LOG10((ε/D)/3.7 + 2.51*A/Re), and C = -2*LOG10((ε/D)/3.7 + 2.51*B/Re)!
Combining those three evaluations into f = [A - (B - A)^2 / (C - 2*B + A)]^(-2) matches iterative Newton-Raphson Colebrook-White to within 0.0023% across ALL Re >= 4,000 and 0 <= ε/D <= 0.05! For commercial steel pipe (ε/D = 0.0004) at Re = 150,000, Serghides gives exact Darcy f = 0.018884 (rising to f = 0.024584 for rougher cast iron ε/D = 0.0020)!
| Pipe Relative Roughness ε/D (Re = 150,000) | Initial Estimate A = 1/√f_0 | Serghides Darcy Friction f | Accuracy vs Exact Colebrook |
|---|---|---|---|
| ε/D = 0.0004 (Commercial Steel) | 7.4512 | 0.018884 | Exact to 6 decimal places |
| ε/D = 0.0020 (Aged Cast Iron) | 6.4045 | 0.024584 | Wholly rough transition captured |
| Laminar/Transitional Re < 4,000 or ε/D < 0 | Out of Turbulent Domain | "Requires Re >= 4000 and eps/D >= 0" | Moody Regime Guard |
Serghides Steffensen-Accelerated Colebrook-White Darcy Friction Factor f
Evaluates [A - (B - A)^2 / (C - 2*B + A)]^(-2) from Steffensen iterates B4 (A), B5 (B), and B6 (C) for Re >= 4,000.
=IF(OR(B2 < 0, B2 > 0.05, B3 < 4000), "Requires Re >= 4000 and eps/D >= 0", ROUND((B4 - ((B5 - B4) ^ 2) / (B6 - 2 * B5 + B4)) ^ (-2), 6))First Fixed-Point Reciprocal Root Iterate A = -2 * LOG10((ε/D)/3.7 + 12/Re)
Outputs initial reciprocal square-root friction estimate 1 / SQRT(f_0) in B4.
=IF(OR(B2 < 0, B2 > 0.05, B3 < 4000), "Requires Re >= 4000 and eps/D >= 0", ROUND(B4, 4))Try the example
Use the original values or change them to test your understanding.