CWSNET: An Object-Oriented Toolkit for Water Distribution System Simulations
Water Distribution Systems Analysis 2010
In the field of water distribution systems the EPANET 2 toolkit is considered nowadays the industry standard for hydraulic modelling. Unfortunately, the design and programming model of EPANET 2 have some limitations that make any attempt to extend its hydraulic solver, add new functionalities or improve performance difficult to achieve and time consuming. A new software toolkit for water distribution system modelling, CWSNet, is presented. CWSNet is developed in C++ using the object-oriented
... object-oriented programming model. The aim is to deliver an open-source substitute for EPANET 2 that obtains numerically comparable results while providing similar or better performance, a higher degree of extensibility, as well as backward compatibility where possible. The idea behind this project is to simplify development and testing of new hydraulic elements (specific types of valves, pumps, etc) and computational algorithms (pressure-driven approaches, etc.) by keeping logically independent parts of the code separate. This also allows the performance and accuracy of new computational methods as well as the use of advanced programming techniques (multi-threading, OpenMP, GPGPU, etc) to be studied without the need for extensive code refactoring. The basic version of CWSNet gives numerically the same results as EPANET 2 for various networks while allowing the following: (a) to change the topology of the network at runtime; (b) to run different simulations of the same network or different networks in parallel (thread-safe); (c) to easily change the mathematical model and other particulars behind the hydraulic simulation engine; (d) to allow a high degree of customisation of the output of an extended period simulation. The CWSNet software capabilities are demonstrated using several examples. The results obtained demonstrate the effectiveness and efficiency of the proposed approach.