Kinematic Wave Flow Routing Functions Summary ๐๐๐ป
The kinwave.c
module in EPA SWMM5, updated in version 5.2 (Build 5.2.0), authored by L. Rossman and M. Tryby, focuses on kinematic wave flow routing functions.
Key Features ๐
- Constants: Includes constants like WX (distance weighting), WT (time weighting), and EPSIL (convergence criterion).
- Shared Variables: Utilizes shared variables such as Beta1, C1, C2, Afull (full area), Qfull (full flow), and a pointer to the cross-section (pXsect).
- Main Function:
kinwave_execute
, responsible for finding outflow over a time step using kinematic wave routing in conduits.- Process Flow:
- Checks for non-conduit links and dummy cross-sections.
- Normalizes previous flows and inflow, and computes evaporation and infiltration loss rate.
- Solves the continuity equation for downstream normalized area (
aout
). - Updates flows and areas for the conduit, and returns the number of iterations used.
- Process Flow:
Continuity Equation Solution ๐
solveContinuity
function aims to solve the continuity equation for normalized area using the Newton-Raphson root finder.- It establishes upper and lower bounds for the area and determines the flow based on these bounds.
- The function
evalContinuity
is used to compute the value of the continuity equation and its derivative with respect to normalized area.
Updates and Improvements ๐ ️
- Various updates have been integrated, such as conduit inflow consideration for computing losses, and changes in the arguments to the
link_getLossRate
function.
Technical Specifications ๐ฅ️
- Uses standard mathematical and header files (
math.h
andheaders.h
), and includes thefindroot.h
file for root finding functionalities. - Employs constants and shared variables to simplify and standardize calculations across the module.
- Integrates detailed documentation and update history for better understanding and maintenance.
Overall, the kinwave.c
module is a crucial part of SWMM5, providing advanced routing calculations for modeling flow in urban drainage systems. ๐๐ฐ๐ง️๐ข๐จ๐ป๐๐๐ง๐๐ ️๐๐ฅ️๐