Note: There is a function called ForceMain in SWMM5/InfoSWMM whose purpose is to compute the Darcy-Weisbach friction factor for a force main using the
Swamee and Jain approximation to the Colebrook-White equation.
f = forcemain_getFricFactor(xsect.rBot, d/4.0, 1.0e12);
return sqrt(f/185.0) * pow(d, (1./6.));
double forcemain_getFricFactor(double e, double hrad, double re)
//// Input: e = roughness height (ft)
// hrad = hydraulic radius (ft)
// re = Reynolds number
// Output: returns a Darcy-Weisbach friction factor
// Purpose: computes the Darcy-Weisbach friction factor for a force main
// using the Swamee and Jain approximation to the Colebrook-White equation.
{ double f;
if ( re < 10.0 ) re = 10.0;
if ( re <= 2000.0 ) f = 64.0 / re;
else if ( re < 4000.0 )
{ f = forcemain_getFricFactor(e, hrad, 4000.0);
f = 0.032 + (f - 0.032) * ( re - 2000.0) / 2000.0; }
else { f = e/3.7/(4.0*hrad);
if ( re < 1.0e10 ) f += 5.74/pow(re, 0.9);
f = log10(f);
f = 0.25 / f / f; }
return f;}
From
http://en.wikipedia.org/wiki/Darcy_friction_factor_formulae
http://www.swmm2000.com/profiles/blogs/swamee-and-jain-approximation