pandapipes icon indicating copy to clipboard operation
pandapipes copied to clipboard

Feature request: Check for boundary conditions and correct system setup

Open dlohmeier opened this issue 3 years ago • 2 comments

The complexity of piping grid simulation, especially in case of heating networks, requires a very thorrow model and understanding of how to use different components in a specific setup. We have already realized that different software solutions model the reality in different ways, which is why in some cases a user will not exactly know if his/her specific configuration is the best model possibly implementable for the case at hand. In some cases, this might lead to problems, as we always need to extract a solvable system of equations for the components connected to a network by the user.

Examples for difficult models:

  • A heating network in which the fixed p-nodes and fixed T-nodes differ, might raise the question if the temperature can be reached with the calculated flow.
  • When using a pressure or flow controller, fixed pressures or flows at other nodes might not be reachable.

In such a case, it would make sense to have a prior analysis to check if the given network can be solved with the internal pandapipes model.

Such an analysis should consider:

  • Which additional equations, boundary conditions and dependent variables does each component add to the system of equations?
  • Can the resulting system of equations be solved?
  • Maybe also address possible errors in case of divergence between temperature and pressure fixpoints.

Such an analysis should probably be based on the pit structure and include the connectivity check.

In pandapower, a diagnostic function checks a number of possible errors in power network modeling, I am thinking of a similar analysis, but more basic and focused on the internal setup. We could still extend it in future.

dlohmeier avatar Jan 18 '22 07:01 dlohmeier

This should also be helpful for issues such as #259 .

dlohmeier avatar Jan 18 '22 08:01 dlohmeier

This could be implemented on the feature/diagnostic branch. Some basic checks have already been implemented in diagnostic.py

jkisse avatar May 22 '23 12:05 jkisse