Showing posts with label Force Main Transition in SWMM 5. Show all posts
Showing posts with label Force Main Transition in SWMM 5. Show all posts

Monday, November 24, 2008

Force Main Transition in SWMM 5

Force Main Transition between Partial and Full Flow

1. If the force main is full then the program will use either Hazen-Willams or Darcy-Weisbach to calculate the friction loss (term dq1),

2. If the force main is NOT full then the program will use Manning's Equation.


// --- compute terms of momentum eqn.:
// --- 1. friction slope term
if ( xsect->type == FORCE_MAIN && isFull )
dq1 = dt * forcemain_getFricSlope(j, fabs(v), rMid);
else dq1 = dt * Conduit[k].roughFactor / pow(rWtd, 1.33333) * fabs(v);

double forcemain_getFricSlope(int j, double v, double hrad)
//
// Input: j = link index
// v = flow velocity (ft/sec)
// hrad = hydraulic radius (ft)
// Output: returns a force main pipe's friction slope
// Purpose: computes the headloss per unit length used in dynamic wave
// flow routing for a pressurized force main using either the
// Hazen-Williams or Darcy-Weisbach flow equations.
// Note: the pipe's roughness factor was saved in xsect.sBot in
// conduit_validate() in LINK.C.
//
{
double re, f;
TXsect xsect = Link[j].xsect;
switch ( ForceMainEqn )
{
case H_W:
return xsect.sBot * pow(v, 0.852) / pow(hrad, 1.1667); //(5.0.012 - LR)
case D_W:
re = forcemain_getReynolds(v, hrad);
f = forcemain_getFricFactor(xsect.rBot, hrad, re);
return f * xsect.sBot * v / hrad;
}
return 0.0;
}

AI Rivers of Wisdom about ICM SWMM

Here's the text "Rivers of Wisdom" formatted with one sentence per line: [Verse 1] 🌊 Beneath the ancient oak, where shadows p...