EPANET
EPANET copied to clipboard
Improved hydraulic engine
I have modified EPANET's hydraulic solver to improve its robustness in solving complex networks containing dozens to hundreds of check valves, flow and pressure regulating valves and pumps. Penalty functions replace status checks on CVs, FCVs and pumps so that their head loss v. flow functions now behave in a continuous manner while keeping their flows within feasible bounds. As a result the CHECKFREQ
and MAXCHECK
options used to tune the hydraulic solver have been deprecated. (The DAMPLIMIT
option is still used to limit when status checks on PRVs/PSVs are made.)
The modified solver has been able to successfully solve several large scale networks that failed to converge under v2.2. For the regression test suite of networks it produces results that are the same or very close to the v2.2 benchmark values. However some differences are large enough to cause the automated CI testing to fail. I don't think we want to update the benchmark results until this modified version of EPANET, which can be found in the dev_2.3_hyd
branch, has received more testing and there is consensus to update the code base with it.