OpenWaterAnalytics / EPANET

The Water Distribution System Hydraulic and Water Quality Analysis Toolkit
MIT License
273 stars 203 forks source link

Add FAVA leakage model to EPANET #740

Open LRossman opened 1 year ago

LRossman commented 1 year ago

Pipe leakage is typically modeled with an emitter at a node, using a power relationship between leakage flow rate and pressure. An issue arises in assigning meaningful values to the emitter flow coefficient and the global emitter exponent to be used. Conceptually the flow coefficient should somehow reflect the number of pipes connected to the node, the assumed number of cracks and their areas in each connecting pipe, and the pressure experienced along the pipe (as opposed to just the node). Regarding the flow exponent, empirical studies have shown that it can also vary with pressure.

The FAVAD leakage model (Cassa and van Zyl, 2014) uses the following equation to estimate the leakage rate from a single crack along a pipe:

   flow = Cd * sqrt(2g) * (Ao*h^0.5 + m*h^1.5)

where Cdis an orifice discharge coefficient (typically 0.6), Aois the area of the crack under zero pressure conditions, his the pressure head seen by the crack, and mis rate at which the crack area expands as pressure increases (dA/dh with experimental values between 0 and 0.001 mm depending on pipe material and crack size).

This model can easily be incorporated into EPANET. An additional set of leakage parameters would be defined for each pipe: LC1 = the area of leaks per 100 units of pipe length and LC2 = the leak expansion rate per 100 units of pipe length (i.e., LC1 = Ao * N * L / 100, LC2 = m * N * L / 100 where Nis the average number of cracks per 100 length units of pipe and L is pipe length). The FAVAD equation would be evaluated using these parameters along with the average pressure head along the pipe (average of the upstream and downstream node pressures). The resulting leakage flow would then be divided evenly between the pipe's end nodes and incorporated into EPANET's hydraulic solver in similar fashion to how emitter flow is treated.

Admittedly this results in substituting the three pipe-related leakage parameters (Ao, m, and N) for the two node-related emitter parameters (flow coefficient and exponent). However it does provide a stronger physical basis for modeling pipe leaks.

LRossman commented 3 weeks ago

I've incorporated the FAVAD leakage model into a fork of the dev branch here. Since it touches a significant number of files I'd like to get some buy in on it before merging it into this repo. The updates it includes can be summarized as follows:

I've structured the leakage code so that it doesn't get executed if no pipes are assigned leakage parameters. Also included is a simple unit test file. As an example of the kind of results it can generate I ran the 2466 pipe EXNET-3 model under a PDA scenario where each pipe was assigned a fixed leakage area of 1 sq mm per 100 m of length and an expansion rate of 0.1 sq mm per meter of pressure head. Below is a color-coded map of the resulting leakage rate in each pipe, where the total system leakage loss was 20%. It's interesting to see how non-uniform the leakage results are and would be difficult to predict given the size of this system.

LeakageExample