Announcement of Loopnet simulator for Water Distribution Networks

Loopnet is an open-source software for the simulation of water distribution networks based on EPANET 2.1 from Open Water Analytics. Loopnet focuses on speeding up the simulation, for which purpose it diverts from EPANET 2.1 in two main aspects:

  1. It uses the loop method (or looped Newton-Raphson method) for the solution of the hydraulic simulation non-linear systems. Compared to the Global Gradient Algorithm used in EPANET, the loop method generally leads to significantly smaller linear systems, thus potentially speeding up the simulation.

  2. It uses OpenMP to take advantage of current multicore processors in order to further speed up the hydraulic simulation.

Loopnet was developed as part of the doctoral thesis of Fernando Alvarruiz Bermejo, under the supervision of Profs. Fernando Martínez Alzamora and Antonio M. Vidal Maciá, from the Universitat Politecnica de Valencia (Spain).

We would like to take this opportunity to acknowledge the work of Lewis A. Rossman (@LRossman), as the original developer of Epanet, and of Open Water Analytics, as maintainers of the Open Source Epanet Initiative.

You can find Loopnet at https://gitlab.com/feralber/loopnet

We would love to have feedback from you!

1 Like

This is really exciting - thanks for sharing!

I have a couple of initial thoughts. The first is that it would be nice to have a git-versioned history of the modifications made from the tagged 2.1 version. This is because, if your mods really do significantly improve performance, then that would be a big deal! We all would want to re-merge your fork at some point, and EPA may want to adopt into an official release… but much work has been done since 2.1, so conflicts may be harder to reconcile if there’s not a versioned history.

Also, I would request that you update the License file to comply with the MIT license from OWA-epanet 2.1; the statement in AUTHORS is appreciated, but the list of owa authors and the original copyright statement should also be included. Many others contributed to that release, and they do hold valid copyright to the work.

Again, thanks for sharing - I look forward to hearing from others as word about this spreads.

s

1 Like

Thank you for your reply. I agree with your comments.

About the git-versioned history of the modifications of Loopnet with respect to Epanet 2.1, I would like to prepare it, although it will probably take some time. Development of Loopnet started in 2014, before the Open Source Epanet Initiative was created, and it was only later that we incorporated the modifications of Epanet 2.1 (with respect to Epanet 2.0) into Loopnet.

We will solve the problem about the License file. Thanks for pointing this out.

I would like to congratulate you and the UPV team for producing Loopnet, making it open source, and making it essentially a ‚Äúplug-in‚ÄĚ for EPANET. Because of the latter feature it was quite easy to run some timing tests on a set of large, complex networks that I had in my files (e.g., Network 1 had 84 pumps and 114 valves, Network 8 had 198 pumps and 2,303 valves). The resulting times (in seconds) for just the hydraulic calculations for a single period snapshot simulation are shown below:

Network Number of Nodes EPANET2.2 Loopnet
1 7,699 0.248 0.274**
2 8,566 0.039 0.039
3 14,991 0.069 0.062
4 27,006 0.565 0.514
5 28,899 14.766 24.699
6 33,247 0.317 0.488
7 42,664 0.658 2.042**
8 100,235 1.297 3.484

** Did not converge w/ Loopnet, converged w/ 0.01 DAMPLIMIT in EPANET.

The EPANET runs were made using version 2.2 which is still under development. It replaces the original node re-ordering method used in EPANET 2.0 (which it seems is still used in Loopnet) with a more efficient method (MMD).

Regarding extended period simulation, only 5 of these networks were set up to run in that fashion. The run times for 24 hour EPS for the two progams are shown below:

Network Number of Nodes EPANET2.2 Loopnet
1 7,699 7.129 Failed
2 8,566 0.323 0.185
3 14,991 0.946 0.521
7 42,664 46.952 Unbalanced
8 100,235 39.002 27.393

On network 1 Loopnet failed with Error 110 after hour 7. A valid comparison for Network 7 could not be made because Loopnet had multiple time periods where it failed to converge while EPANET had none. For network 8 the numerical results started to diverge between the two programs after about 12 hours so the times shown in the table are for that shortened duration.

These comparisons show that the loop-flow method implemented in Netloop does have the potential to produce lower EPS hydraulic analysis times compared to EPANET’s GGA method provided that it can be made more robust. Also, it should be noted that Loopnet cannot perform a Pressure Driven Demand type of analysis which has now been added into v.2.2 of EPANET. I can envision a future version of EPANET where users have a choice of which hydraulic solver (GGA or Loop-Flow) to use.

2 Likes

Thank you for the results, they look promising. Was Loopnet compiled with OpenMP (multicore support) enabled or disabled?

We would be glad to see the code of Loopnet incorporated into a future version of Epanet, with the user being given the choice of the solver to use. As you say, we need to improve its robustness. If there are networks that can be shared where Loopnet fails (and Epanet does not), that would help identify the problems.