powsybl / pypowsybl

A PowSyBl and Python integration based on GraalVM native image
Mozilla Public License 2.0
53 stars 10 forks source link

Set bus breaker connectable bus #749

Closed geofjamg closed 3 months ago

geofjamg commented 3 months ago

Please check if the PR fulfills these requirements

Does this PR already have an issue describing the problem?

No

What kind of change does this PR introduce?

Feature

What is the current behavior?

We cannot change the bus_breaker_bus_id attribute.

What is the new behavior (if this is a feature change)? We can update the bus_breaker_bus_id attribute if the voltage level has a bus/breaker topology.

Does this PR introduce a breaking change or deprecate an API?

If yes, please check if the following requirements are fulfilled

What changes might users need to make in their application due to this PR? (migration steps)

Other information:

nicow-elia commented 3 months ago

Something seems to be not quite right just yet

image

The load should be in VL4, i.e. it appears via net.get_bus_breaker_topology("VL4").elements

geofjamg commented 3 months ago

Something seems to be not quite right just yet image The load should be in VL4, i.e. it appears via net.get_bus_breaker_topology("VL4").elements

This is what I get when using this branch:

>>> import pypowsybl as pp
>>> n = pp.network.create_ieee57()
>>> n.update_loads(id="B18-L", bus_breaker_bus_id="B4")
>>> n.get_loads(all_attributes=True)
      name       type     p0    q0   p   q   i voltage_level_id  bus_id bus_breaker_bus_id  node  connected  fictitious
id                                                                                                                     
B1-L        UNDEFINED   55.0  17.0 NaN NaN NaN              VL1   VL1_0                 B1    -1       True       False
B2-L        UNDEFINED    3.0  88.0 NaN NaN NaN              VL2   VL2_0                 B2    -1       True       False
B3-L        UNDEFINED   41.0  21.0 NaN NaN NaN              VL3   VL3_0                 B3    -1       True       False
B5-L        UNDEFINED   13.0   4.0 NaN NaN NaN              VL5   VL5_0                 B5    -1       True       False
B6-L        UNDEFINED   75.0   2.0 NaN NaN NaN              VL6   VL6_0                 B6    -1       True       False
B8-L        UNDEFINED  150.0  22.0 NaN NaN NaN              VL8   VL8_0                 B8    -1       True       False
B9-L        UNDEFINED  121.0  26.0 NaN NaN NaN              VL9   VL9_0                 B9    -1       True       False
B10-L       UNDEFINED    5.0   2.0 NaN NaN NaN             VL10  VL10_0                B10    -1       True       False
B12-L       UNDEFINED  377.0  24.0 NaN NaN NaN             VL12  VL12_0                B12    -1       True       False
B13-L       UNDEFINED   18.0   2.3 NaN NaN NaN             VL13  VL13_0                B13    -1       True       False
B14-L       UNDEFINED   10.5   5.3 NaN NaN NaN             VL14  VL14_0                B14    -1       True       False
B15-L       UNDEFINED   22.0   5.0 NaN NaN NaN             VL15  VL15_0                B15    -1       True       False
B16-L       UNDEFINED   43.0   3.0 NaN NaN NaN             VL16  VL16_0                B16    -1       True       False
B17-L       UNDEFINED   42.0   8.0 NaN NaN NaN             VL17  VL17_0                B17    -1       True       False
B18-L       UNDEFINED   27.2   9.8 NaN NaN NaN              VL4   VL4_0                 B4    -1       True       False
B19-L       UNDEFINED    3.3   0.6 NaN NaN NaN             VL19  VL19_0                B19    -1       True       False
B20-L       UNDEFINED    2.3   1.0 NaN NaN NaN             VL20  VL20_0                B20    -1       True       False
B23-L       UNDEFINED    6.3   2.1 NaN NaN NaN             VL23  VL23_0                B23    -1       True       False
B25-L       UNDEFINED    6.3   3.2 NaN NaN NaN             VL24  VL24_1                B25    -1       True       False
B27-L       UNDEFINED    9.3   0.5 NaN NaN NaN             VL27  VL27_0                B27    -1       True       False
B28-L       UNDEFINED    4.6   2.3 NaN NaN NaN             VL28  VL28_0                B28    -1       True       False
B29-L       UNDEFINED   17.0   2.6 NaN NaN NaN              VL7   VL7_1                B29    -1       True       False
B30-L       UNDEFINED    3.6   1.8 NaN NaN NaN             VL30  VL30_0                B30    -1       True       False
B31-L       UNDEFINED    5.8   2.9 NaN NaN NaN             VL31  VL31_0                B31    -1       True       False
B32-L       UNDEFINED    1.6   0.8 NaN NaN NaN             VL32  VL32_0                B32    -1       True       False
B33-L       UNDEFINED    3.8   1.9 NaN NaN NaN             VL33  VL33_0                B33    -1       True       False
B35-L       UNDEFINED    6.0   3.0 NaN NaN NaN             VL35  VL35_0                B35    -1       True       False
B38-L       UNDEFINED   14.0   7.0 NaN NaN NaN             VL38  VL38_0                B38    -1       True       False
B41-L       UNDEFINED    6.3   3.0 NaN NaN NaN             VL11  VL11_1                B41    -1       True       False
B42-L       UNDEFINED    7.1   4.4 NaN NaN NaN             VL42  VL42_0                B42    -1       True       False
B43-L       UNDEFINED    2.0   1.0 NaN NaN NaN             VL11  VL11_2                B43    -1       True       False
B44-L       UNDEFINED   12.0   1.8 NaN NaN NaN             VL44  VL44_0                B44    -1       True       False
B47-L       UNDEFINED   29.7  11.6 NaN NaN NaN             VL47  VL47_0                B47    -1       True       False
B49-L       UNDEFINED   18.0   8.5 NaN NaN NaN             VL13  VL13_1                B49    -1       True       False
B50-L       UNDEFINED   21.0  10.5 NaN NaN NaN             VL50  VL50_0                B50    -1       True       False
B51-L       UNDEFINED   18.0   5.3 NaN NaN NaN             VL10  VL10_1                B51    -1       True       False
B52-L       UNDEFINED    4.9   2.2 NaN NaN NaN             VL52  VL52_0                B52    -1       True       False
B53-L       UNDEFINED   20.0  10.0 NaN NaN NaN             VL53  VL53_0                B53    -1       True       False
B54-L       UNDEFINED    4.1   1.4 NaN NaN NaN             VL54  VL54_0                B54    -1       True       False
B55-L       UNDEFINED    6.8   3.4 NaN NaN NaN              VL9   VL9_1                B55    -1       True       False
B56-L       UNDEFINED    7.6   2.2 NaN NaN NaN             VL40  VL40_1                B56    -1       True       False
B57-L       UNDEFINED    6.7   2.0 NaN NaN NaN             VL39  VL39_1                B57    -1       True       False
nicow-elia commented 3 months ago

Yeah something is broken with my installation of my powsybl, it's the first time I've tried to build from source. I'll try and boil down the problem, I get trafos from get_lines :D

image