Energy Conversion and Management: X (Oct 2024)
An object-oriented implementation of a recursive “quantum network” solver and its application to district heating networks
Abstract
With the increasing importance of energy efficiency and sustainability, the demand for high-performance district heating networks is also on the rise. As traditional engineering methods were often no longer sufficient, several packages for numerical simulation have evolved. Many of them offer high accuracy at the cost of considerable manual preparation and computational effort. However, there is still no user-friendly software that is equally suitable for simplified studies in the early project phase, for the rapid optimisation of multiple concepts and for subsequent detailed planning and dimensioning. For this reason and in cooperation with some companies from the energy sector, we had conceived a novel, highly flexible modular approach, the so-called “quantum networks”, where all parts of the district heating network are appropriately abstracted into quantum elements. Now we present our recent implementation of this model in an object-oriented C++ library. Starting from a generalised base class and making use of the concepts of inheritance and polymorphism, the idea of different levels of detail for the same element type is directly realised and can always be further refined. In addition, as all elements are derived from the same base class, they all share the same outer appearance and can thus be easily combined or interchanged. Based on these prerequisites, a dedicated thermo-hydraulic solver has then been developed. Thanks to its recursive design requiring neither outer iterations nor matrix inversions, it proves to be extremely fast and is therefore suitable for rapid design or optimisation studies in which a vast number of configurations has to be computed. To conclude this part of the work, the developed C++ library was benchmarked on two use cases covering a full year of operation that can now be computed in approximately one second of runtime.