Description
Describe the bug
In case the connectivity check sets parts of the network out of service, flow controllers (and heat consumers) might prevail in the pit structure, even though connected to junctions removed by the connectivity check. This could probably be easily avoided.
To Reproduce
I will try to provide a good example soon. I am not yet sure which types of disconnection (only one-sided, while still connected to an in service junction on the other side, or also for both oos junctions, only in connectivity check or also when given oos junctions in the net model, ...) lead to this error, and I will try to analyze this in the example.
Error message
hp.pandapipes.pf.pipeflow_setup - INFO: Setting the following nodes out of service for hydraulics calculation in connectivity check:
In table junction: [21, 25, 98, 100, 254, 255, 256, 257, 259, 261, 263, 264, 265, 266, 269, 272, 274, 276, 278, 279, 280, 281, 282, 284, 286, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 997, 999, 1058, 1060, 1083, 1087, 1122, 1124, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1188, 1190, 1192, 1194, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1232, 1234, 1237, 1239, 1245, 1247, 1264, 1266, 1268, 1270, 1276, 1278, 1280, 1282, 1359, 1363, 1400, 1402, 1404, 1406, 1409, 1411, 1472, 1474, 1476, 1478, 1481, 1483, 1484, 1486, 1716, 1717, 1722, 1723, 1724, 1726, 1987, 1989, 1991, 1993, 1995, 1997, 1999, 2001, 2011, 2010, 2009, 2008, 2080, 2079, 2016, 2017, 2037, 2036, 2032, 2033, 2047, 2046, 2013, 2004, 2012, 2005, 2140, 2141, 2102, 2103, 2159, 2160, 2181, 2182, 2123, 2121, 2130, 2131, 2165, 2167, 2169, 2170, 2173, 2174, 2175, 2176]
/home/daniel/workspace/pandapipes/src/pandapipes/pipeflow.py:231: MatrixRankWarning: Matrix is exactly singular
x = spsolve(jacobian, epsilon)
dgstrf info 2013
dgstrf info 2
dgstrf info 2
dgstrf info 2
dgstrf info 2
dgstrf info 2
dgstrf info 2
dgstrf info 2
dgstrf info 2
dgstrf info 2
dgstrf info 2
Traceback (most recent call last):
File "", line 1, in
pandapipes.pipeflow(net)
File "/home/daniel/workspace/pandapipes/src/pandapipes/pipeflow.py", line 98, in pipeflow
raise PipeflowNotConverged("The hydraulic calculation did not converge to a solution.")
pandapipes.pf.pipeflow_setup.PipeflowNotConverged: The hydraulic calculation did not converge to a solution.
Expected behavior
The incorrectly connected flow controllers should be set out of service, so that they don't induce any flow.
Python environment (please complete the following information):
- OS: Ubuntu 20.04.6 LTS
- pandapipes version 0.8.4