EPANET icon indicating copy to clipboard operation
EPANET copied to clipboard

Improved hydraulic engine

Open LRossman opened this issue 5 years ago • 0 comments

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.

LRossman avatar Feb 13 '20 18:02 LRossman