## Friday, November 10, 2023

### 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.

#### 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` and `headers.h`), and includes the `findroot.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. ๐๐ฐ๐ง️๐ข๐จ‍๐ป๐๐๐ง๐๐ ️๐๐ฅ️๐