force-main-transition-in-swmm-5 (1)

Force Main Transition in SWMM 5

Force Main Transition between Partial and Full Flow1. 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 termif ( 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;}
Read more…