Thermal Engineering Systems in Python (TESPy). This package provides a powerful simulation toolkit for thermal engineering plants such as power plants, district heating systems or heat pumps.
a network should know which connections form subcycles and which ones are physically detached from each other. By this, it is possible to check for active or inactive subcycles in the system, allowing to change the system of equations setup dynamically.
within a subcycle the connections should access the same fluid property objects, which are not global to the network (anymore), but will be sticked to each subcycle
therefore within one subcycle, the same fluid property back-ends can be used, but over different subcycles different objects can be used. This makes in possible, for example, to treat water incompressible in heating pipelines, while treating it with HEOS in a CHP plant attached to those heating pipelines.
This also makes it possible to check, whether the fluid composition is a variable within a subcycle or not. If not, the jacobian for that part of the network can be simplified by a lot!
Finally, components and connections should have dynamic variables. The user can decide, which values are variable and which not. This minimizes the size of the Jacobian further, for example, if enthalpy, pressure or massflow is set at some point with a number, the value does not need to be a variable of the system.
In the future: