From ee0f1aa1183ecca3794d7a5b157d03838c22c54d Mon Sep 17 00:00:00 2001 From: Jerry Guo Date: Tue, 28 Jul 2026 16:29:11 +0200 Subject: [PATCH 1/4] two initial test cases Signed-off-by: Jerry Guo --- .../input.json | 93 +++++++++ .../input.json.license | 3 + .../params.json | 10 + .../params.json.license | 3 + .../sym_output.json | 142 +++++++++++++ .../sym_output.json.license | 3 + .../input.json | 120 +++++++++++ .../input.json.license | 3 + .../params.json | 10 + .../params.json.license | 3 + .../sym_output.json | 186 ++++++++++++++++++ .../sym_output.json.license | 3 + 12 files changed, 579 insertions(+) create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json.license create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json.license create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json.license create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json.license create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json.license create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json new file mode 100644 index 0000000000..18832745d7 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json @@ -0,0 +1,93 @@ +{ + "version": "1.0", + "type": "input", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + { + "id": 1, + "u_rated": 10500 + }, + { + "id": 2, + "u_rated": 10500 + }, + { + "id": 3, + "u_rated": 10500 + }, + { + "id": 4, + "u_rated": 10500 + }, + { + "id": 5, + "u_rated": 10500 + } + ], + "line": [ + { + "id": 10, + "from_node": 5, + "to_node": 3, + "from_status": 1, + "to_status": 1, + "r1": 0.25, + "x1": 0.20000000000000001, + "c1": 1.0000000000000001e-05, + "tan1": 0, + "i_n": 1000 + } + ], + "link": [ + { + "id": 7, + "from_node": 1, + "to_node": 2, + "from_status": 1, + "to_status": 1 + }, + { + "id": 8, + "from_node": 2, + "to_node": 3, + "from_status": 1, + "to_status": 1 + }, + { + "id": 9, + "from_node": 4, + "to_node": 2, + "from_status": 1, + "to_status": 1 + } + ], + "sym_load": [ + { + "id": 12, + "node": 5, + "status": 1, + "type": 0, + "p_specified": 20000000, + "q_specified": 5000000 + }, + { + "id": 13, + "node": 4, + "status": 1, + "type": 0, + "p_specified": 10000000, + "q_specified": 2000000 + } + ], + "source": [ + { + "id": 14, + "node": 1, + "status": 1, + "u_ref": 1 + } + ] + } +} \ No newline at end of file diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json.license new file mode 100644 index 0000000000..7601059167 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json new file mode 100644 index 0000000000..fb300f8a23 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json @@ -0,0 +1,10 @@ +{ + "calculation_method": [ + "newton_raphson" + ], + "rtol": 3e-7, + "atol": 1e-7, + "xfail": { + "reason": "The handling of links is not fully implemented." + } +} \ No newline at end of file diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json.license new file mode 100644 index 0000000000..7601059167 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json new file mode 100644 index 0000000000..f760fe1fc2 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json @@ -0,0 +1,142 @@ +{ + "version": "1.0", + "type": "sym_output", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + { + "id": 1, + "energized": 1, + "u_pu": 0.99893461205632628, + "u": 10488.813426591425, + "u_angle": -0.0030211978927815451, + "p": 0, + "q": 0 + }, + { + "id": 2, + "energized": 1, + "u_pu": 0.99893461205632628, + "u": 10488.813426591425, + "u_angle": -0.0030211978927815451, + "p": 0, + "q": 0 + }, + { + "id": 3, + "energized": 1, + "u_pu": 0.99893461205632628, + "u": 10488.813426591425, + "u_angle": -0.0030211978927815451, + "p": 0, + "q": 0 + }, + { + "id": 4, + "energized": 1, + "u_pu": 0.99893461205632628, + "u": 10488.813426591425, + "u_angle": -0.0030211978927815451, + "p": -10000000, + "q": -2000000 + }, + { + "id": 5, + "energized": 1, + "u_pu": 0.94103694137535709, + "u": 9880.8878844412502, + "u_angle": -0.029928849812710975, + "p": -19999999.999999974, + "q": -5000000.0000000298 + } + ], + "line": [ + { + "id": 10, + "energized": 1, + "loading": 1.2045861519165633, + "p_from": -19999999.999999974, + "q_from": -5000000.0000000298, + "i_from": 1204.5861519165633, + "s_from": 20615528.128088284, + "p_to": 21084404.081517234, + "q_to": 5541351.8808245007, + "i_to": 1199.9911394209246, + "s_to": 21800428.347622391 + } + ], + "link": [ + { + "id": 7, + "energized": 1, + "loading": 0, + "p_from": 31084404.08151723, + "q_from": 7541351.880824501, + "i_from": 1760.656509208593, + "s_from": 31986124.57446917, + "p_to": -31084404.08151723, + "q_to": -7541351.880824501, + "i_to": 1760.656509208593, + "s_to": 31986124.57446917 + }, + { + "id": 8, + "energized": 1, + "loading": 0, + "p_from": 21084404.08151723, + "q_from": 5541351.880824501, + "i_from": 1199.991139420925, + "s_from": 21800428.34762239, + "p_to": -21084404.08151723, + "q_to": -5541351.880824501, + "i_to": 1199.991139420925, + "s_to": 21800428.34762239 + }, + { + "id": 9, + "energized": 1, + "loading": 0, + "p_from": -10000000, + "q_from": -2000000, + "i_from": 561.3447716235415, + "s_from": 10198039.02718557, + "p_to": 10000000, + "q_to": 2000000, + "i_to": 561.3447716235415, + "s_to": 10198039.02718557 + } + ], + "sym_load": [ + { + "id": 12, + "energized": 1, + "p": 20000000, + "q": 5000000, + "i": 1204.5861519165644, + "s": 20615528.128088303, + "pf": 0.97014250014533188 + }, + { + "id": 13, + "energized": 1, + "p": 10000000, + "q": 2000000, + "i": 561.34477162354142, + "s": 10198039.027185569, + "pf": 0.98058067569092022 + } + ], + "source": [ + { + "id": 14, + "energized": 1, + "p": 31084404.081517234, + "q": 7541351.8808245007, + "i": 1760.6565092085932, + "s": 31986124.574469168, + "pf": 0.97180901078364235 + } + ] + } +} \ No newline at end of file diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json.license new file mode 100644 index 0000000000..7601059167 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json new file mode 100644 index 0000000000..0e7b090d29 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json @@ -0,0 +1,120 @@ +{ + "version": "1.0", + "type": "input", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + { + "id": 1, + "u_rated": 10500 + }, + { + "id": 2, + "u_rated": 10500 + }, + { + "id": 3, + "u_rated": 10500 + }, + { + "id": 4, + "u_rated": 10500 + }, + { + "id": 5, + "u_rated": 10500 + }, + { + "id": 6, + "u_rated": 10500 + }, + { + "id": 7, + "u_rated": 10500 + } + ], + "line": [ + { + "id": 12, + "from_node": 5, + "to_node": 3, + "from_status": 1, + "to_status": 1, + "r1": 0.25, + "x1": 0.20000000000000001, + "c1": 1.0000000000000001e-05, + "tan1": 0, + "i_n": 1000 + }, + { + "id": 13, + "from_node": 4, + "to_node": 6, + "from_status": 1, + "to_status": 1, + "r1": 0.25, + "x1": 0.20000000000000001, + "c1": 1.0000000000000001e-05, + "tan1": 0, + "i_n": 1000 + } + ], + "link": [ + { + "id": 8, + "from_node": 1, + "to_node": 2, + "from_status": 1, + "to_status": 1 + }, + { + "id": 9, + "from_node": 2, + "to_node": 3, + "from_status": 1, + "to_status": 1 + }, + { + "id": 10, + "from_node": 4, + "to_node": 2, + "from_status": 1, + "to_status": 1 + }, + { + "id": 11, + "from_node": 6, + "to_node": 7, + "from_status": 1, + "to_status": 1 + } + ], + "sym_load": [ + { + "id": 14, + "node": 5, + "status": 1, + "type": 0, + "p_specified": 20000000, + "q_specified": 5000000 + }, + { + "id": 15, + "node": 7, + "status": 1, + "type": 0, + "p_specified": 10000000, + "q_specified": 2000000 + } + ], + "source": [ + { + "id": 16, + "node": 1, + "status": 1, + "u_ref": 1 + } + ] + } +} \ No newline at end of file diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json.license new file mode 100644 index 0000000000..7601059167 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json new file mode 100644 index 0000000000..fb300f8a23 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json @@ -0,0 +1,10 @@ +{ + "calculation_method": [ + "newton_raphson" + ], + "rtol": 3e-7, + "atol": 1e-7, + "xfail": { + "reason": "The handling of links is not fully implemented." + } +} \ No newline at end of file diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json.license new file mode 100644 index 0000000000..7601059167 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json new file mode 100644 index 0000000000..369a7fa33d --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json @@ -0,0 +1,186 @@ +{ + "version": "1.0", + "type": "sym_output", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + { + "id": 1, + "energized": 1, + "u_pu": 0.99894582497877471, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 31332434.501907028, + "q": 7403305.2637952529 + }, + { + "id": 2, + "energized": 1, + "u_pu": 0.99894582497877471, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 0, + "q": 0 + }, + { + "id": 3, + "energized": 1, + "u_pu": 0.99894582497877471, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 0, + "q": 0 + }, + { + "id": 4, + "energized": 1, + "u_pu": 0.99894582497877471, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 0, + "q": 0 + }, + { + "id": 5, + "energized": 1, + "u_pu": 0.94104890636343841, + "u": 9881.0135168161032, + "u_angle": -0.029954262188011137, + "p": -20000000.000000041, + "q": -5000000.0000000363 + }, + { + "id": 6, + "energized": 1, + "u_pu": 0.97208862838634669, + "u": 10206.930598056641, + "u_angle": -0.017440745511054661, + "p": -10000000.000000019, + "q": -1999999.9999999995 + }, + { + "id": 7, + "energized": 1, + "u_pu": 0.97208862838634669, + "u": 10206.930598056641, + "u_angle": -0.017440745511054661, + "p": 0, + "q": 0 + } + ], + "line": [ + { + "id": 12, + "energized": 1, + "loading": 1.2045708361780831, + "p_from": -20000000.000000041, + "q_from": -5000000.0000000363, + "i_from": 1204.570836178083, + "s_from": 20615528.128088355, + "p_to": 21084376.409534942, + "q_to": 5541321.9637697171, + "i_to": 1199.9757780930483, + "s_to": 21800393.980043348 + }, + { + "id": 13, + "energized": 1, + "loading": 0.57684732162996477, + "p_from": 10248058.09237208, + "q_from": 1861983.3000255346, + "i_from": 573.32693369338097, + "s_from": 10415837.771116007, + "p_to": -10000000.000000019, + "q_to": -1999999.9999999995, + "i_to": 576.84732162996477, + "s_to": 10198039.027185587 + } + ], + "link": [ + { + "id": 8, + "energized": 1, + "loading": 0, + "p_from": 31332434.50190703, + "q_from": 7403305.263795253, + "i_from": 1772.144598437414, + "s_from": 32195191.88706961, + "p_to": -31332434.50190703, + "q_to": -7403305.263795253, + "i_to": 1772.144598437414, + "s_to": 32195191.88706961 + }, + { + "id": 9, + "energized": 1, + "loading": 0, + "p_from": 21084376.40953494, + "q_from": 5541321.963769717, + "i_from": 1199.975778093048, + "s_from": 21800393.98004335, + "p_to": -21084376.40953494, + "q_to": -5541321.963769717, + "i_to": 1199.975778093048, + "s_to": 21800393.98004335 + }, + { + "id": 10, + "energized": 1, + "loading": 0, + "p_from": -10248058.09237209, + "q_from": -1861983.300025536, + "i_from": 573.3269336933812, + "s_from": 10415837.77111601, + "p_to": 10248058.09237209, + "q_to": 1861983.300025536, + "i_to": 573.3269336933812, + "s_to": 10415837.77111601 + }, + { + "id": 11, + "energized": 1, + "loading": 0, + "p_from": 10000000, + "q_from": 2000000, + "i_from": 576.847321629964, + "s_from": 10198039.02718557, + "p_to": -10000000, + "q_to": -2000000, + "i_to": 576.847321629964, + "s_to": 10198039.02718557 + } + ], + "sym_load": [ + { + "id": 14, + "energized": 1, + "p": 20000000, + "q": 5000000, + "i": 1204.5708361780801, + "s": 20615528.128088303, + "pf": 0.97014250014533188 + }, + { + "id": 15, + "energized": 1, + "p": 10000000, + "q": 2000000, + "i": 576.84732162996386, + "s": 10198039.027185569, + "pf": 0.98058067569092022 + } + ], + "source": [ + { + "id": 16, + "energized": 1, + "p": 31332434.501907028, + "q": 7403305.2637952529, + "i": 1772.1445984374143, + "s": 32195191.887069605, + "pf": 0.97320229094490718 + } + ] + } +} \ No newline at end of file diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json.license new file mode 100644 index 0000000000..7601059167 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 From 928972270778be52f7455dfea45b51d583f4c24f Mon Sep 17 00:00:00 2001 From: Jerry Guo Date: Thu, 30 Jul 2026 14:39:55 +0200 Subject: [PATCH 2/4] added two more cases; the numerical values are not correct. Signed-off-by: Jerry Guo --- .../input.json | 184 ++++++------ .../params.json | 18 +- .../sym_output.json | 282 +++++++++--------- .../input.json | 238 +++++++-------- .../params.json | 18 +- .../sym_output.json | 186 ------------ .../sym_output.json.license | 3 - 7 files changed, 370 insertions(+), 559 deletions(-) delete mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json delete mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json index 18832745d7..f7dd04d001 100644 --- a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json @@ -1,93 +1,93 @@ { - "version": "1.0", - "type": "input", - "is_batch": false, - "attributes": {}, - "data": { - "node": [ - { - "id": 1, - "u_rated": 10500 - }, - { - "id": 2, - "u_rated": 10500 - }, - { - "id": 3, - "u_rated": 10500 - }, - { - "id": 4, - "u_rated": 10500 - }, - { - "id": 5, - "u_rated": 10500 - } - ], - "line": [ - { - "id": 10, - "from_node": 5, - "to_node": 3, - "from_status": 1, - "to_status": 1, - "r1": 0.25, - "x1": 0.20000000000000001, - "c1": 1.0000000000000001e-05, - "tan1": 0, - "i_n": 1000 - } - ], - "link": [ - { - "id": 7, - "from_node": 1, - "to_node": 2, - "from_status": 1, - "to_status": 1 - }, - { - "id": 8, - "from_node": 2, - "to_node": 3, - "from_status": 1, - "to_status": 1 - }, - { - "id": 9, - "from_node": 4, - "to_node": 2, - "from_status": 1, - "to_status": 1 - } - ], - "sym_load": [ - { - "id": 12, - "node": 5, - "status": 1, - "type": 0, - "p_specified": 20000000, - "q_specified": 5000000 - }, - { - "id": 13, - "node": 4, - "status": 1, - "type": 0, - "p_specified": 10000000, - "q_specified": 2000000 - } - ], - "source": [ - { - "id": 14, - "node": 1, - "status": 1, - "u_ref": 1 - } - ] - } -} \ No newline at end of file + "version": "1.0", + "type": "input", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + { + "id": 1, + "u_rated": 10500 + }, + { + "id": 2, + "u_rated": 10500 + }, + { + "id": 3, + "u_rated": 10500 + }, + { + "id": 4, + "u_rated": 10500 + }, + { + "id": 5, + "u_rated": 10500 + } + ], + "line": [ + { + "id": 10, + "from_node": 5, + "to_node": 3, + "from_status": 1, + "to_status": 1, + "r1": 0.25, + "x1": 0.2, + "c1": 1e-05, + "tan1": 0, + "i_n": 1000 + } + ], + "link": [ + { + "id": 7, + "from_node": 1, + "to_node": 2, + "from_status": 1, + "to_status": 1 + }, + { + "id": 8, + "from_node": 2, + "to_node": 3, + "from_status": 1, + "to_status": 1 + }, + { + "id": 9, + "from_node": 4, + "to_node": 2, + "from_status": 1, + "to_status": 1 + } + ], + "sym_load": [ + { + "id": 12, + "node": 5, + "status": 1, + "type": 0, + "p_specified": 20000000, + "q_specified": 5000000 + }, + { + "id": 13, + "node": 4, + "status": 1, + "type": 0, + "p_specified": 10000000, + "q_specified": 2000000 + } + ], + "source": [ + { + "id": 14, + "node": 1, + "status": 1, + "u_ref": 1 + } + ] + } +} diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json index fb300f8a23..af772dc21e 100644 --- a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json @@ -1,10 +1,10 @@ { - "calculation_method": [ - "newton_raphson" - ], - "rtol": 3e-7, - "atol": 1e-7, - "xfail": { - "reason": "The handling of links is not fully implemented." - } -} \ No newline at end of file + "calculation_method": [ + "newton_raphson" + ], + "rtol": 3e-07, + "atol": 1e-07, + "xfail": { + "reason": "The handling of links is not fully implemented." + } +} diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json index f760fe1fc2..c807f6abbf 100644 --- a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json @@ -1,142 +1,142 @@ { - "version": "1.0", - "type": "sym_output", - "is_batch": false, - "attributes": {}, - "data": { - "node": [ - { - "id": 1, - "energized": 1, - "u_pu": 0.99893461205632628, - "u": 10488.813426591425, - "u_angle": -0.0030211978927815451, - "p": 0, - "q": 0 - }, - { - "id": 2, - "energized": 1, - "u_pu": 0.99893461205632628, - "u": 10488.813426591425, - "u_angle": -0.0030211978927815451, - "p": 0, - "q": 0 - }, - { - "id": 3, - "energized": 1, - "u_pu": 0.99893461205632628, - "u": 10488.813426591425, - "u_angle": -0.0030211978927815451, - "p": 0, - "q": 0 - }, - { - "id": 4, - "energized": 1, - "u_pu": 0.99893461205632628, - "u": 10488.813426591425, - "u_angle": -0.0030211978927815451, - "p": -10000000, - "q": -2000000 - }, - { - "id": 5, - "energized": 1, - "u_pu": 0.94103694137535709, - "u": 9880.8878844412502, - "u_angle": -0.029928849812710975, - "p": -19999999.999999974, - "q": -5000000.0000000298 - } - ], - "line": [ - { - "id": 10, - "energized": 1, - "loading": 1.2045861519165633, - "p_from": -19999999.999999974, - "q_from": -5000000.0000000298, - "i_from": 1204.5861519165633, - "s_from": 20615528.128088284, - "p_to": 21084404.081517234, - "q_to": 5541351.8808245007, - "i_to": 1199.9911394209246, - "s_to": 21800428.347622391 - } - ], - "link": [ - { - "id": 7, - "energized": 1, - "loading": 0, - "p_from": 31084404.08151723, - "q_from": 7541351.880824501, - "i_from": 1760.656509208593, - "s_from": 31986124.57446917, - "p_to": -31084404.08151723, - "q_to": -7541351.880824501, - "i_to": 1760.656509208593, - "s_to": 31986124.57446917 - }, - { - "id": 8, - "energized": 1, - "loading": 0, - "p_from": 21084404.08151723, - "q_from": 5541351.880824501, - "i_from": 1199.991139420925, - "s_from": 21800428.34762239, - "p_to": -21084404.08151723, - "q_to": -5541351.880824501, - "i_to": 1199.991139420925, - "s_to": 21800428.34762239 - }, - { - "id": 9, - "energized": 1, - "loading": 0, - "p_from": -10000000, - "q_from": -2000000, - "i_from": 561.3447716235415, - "s_from": 10198039.02718557, - "p_to": 10000000, - "q_to": 2000000, - "i_to": 561.3447716235415, - "s_to": 10198039.02718557 - } - ], - "sym_load": [ - { - "id": 12, - "energized": 1, - "p": 20000000, - "q": 5000000, - "i": 1204.5861519165644, - "s": 20615528.128088303, - "pf": 0.97014250014533188 - }, - { - "id": 13, - "energized": 1, - "p": 10000000, - "q": 2000000, - "i": 561.34477162354142, - "s": 10198039.027185569, - "pf": 0.98058067569092022 - } - ], - "source": [ - { - "id": 14, - "energized": 1, - "p": 31084404.081517234, - "q": 7541351.8808245007, - "i": 1760.6565092085932, - "s": 31986124.574469168, - "pf": 0.97180901078364235 - } - ] - } -} \ No newline at end of file + "version": "1.0", + "type": "sym_output", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + { + "id": 1, + "energized": 1, + "u_pu": 0.9989346120563263, + "u": 10488.813426591425, + "u_angle": -0.003021197892781545, + "p": 0, + "q": 0 + }, + { + "id": 2, + "energized": 1, + "u_pu": 0.9989346120563263, + "u": 10488.813426591425, + "u_angle": -0.003021197892781545, + "p": 0, + "q": 0 + }, + { + "id": 3, + "energized": 1, + "u_pu": 0.9989346120563263, + "u": 10488.813426591425, + "u_angle": -0.003021197892781545, + "p": 0, + "q": 0 + }, + { + "id": 4, + "energized": 1, + "u_pu": 0.9989346120563263, + "u": 10488.813426591425, + "u_angle": -0.003021197892781545, + "p": -10000000, + "q": -2000000 + }, + { + "id": 5, + "energized": 1, + "u_pu": 0.9410369413753571, + "u": 9880.88788444125, + "u_angle": -0.029928849812710975, + "p": -19999999.999999974, + "q": -5000000.00000003 + } + ], + "line": [ + { + "id": 10, + "energized": 1, + "loading": 1.2045861519165633, + "p_from": -19999999.999999974, + "q_from": -5000000.00000003, + "i_from": 1204.5861519165633, + "s_from": 20615528.128088284, + "p_to": 21084404.081517234, + "q_to": 5541351.880824501, + "i_to": 1199.9911394209246, + "s_to": 21800428.34762239 + } + ], + "link": [ + { + "id": 7, + "energized": 1, + "loading": 0, + "p_from": 31084404.08151723, + "q_from": 7541351.880824501, + "i_from": 1760.656509208593, + "s_from": 31986124.57446917, + "p_to": -31084404.08151723, + "q_to": -7541351.880824501, + "i_to": 1760.656509208593, + "s_to": 31986124.57446917 + }, + { + "id": 8, + "energized": 1, + "loading": 0, + "p_from": 21084404.08151723, + "q_from": 5541351.880824501, + "i_from": 1199.991139420925, + "s_from": 21800428.34762239, + "p_to": -21084404.08151723, + "q_to": -5541351.880824501, + "i_to": 1199.991139420925, + "s_to": 21800428.34762239 + }, + { + "id": 9, + "energized": 1, + "loading": 0, + "p_from": -10000000, + "q_from": -2000000, + "i_from": 561.3447716235415, + "s_from": 10198039.02718557, + "p_to": 10000000, + "q_to": 2000000, + "i_to": 561.3447716235415, + "s_to": 10198039.02718557 + } + ], + "sym_load": [ + { + "id": 12, + "energized": 1, + "p": 20000000, + "q": 5000000, + "i": 1204.5861519165644, + "s": 20615528.128088303, + "pf": 0.9701425001453319 + }, + { + "id": 13, + "energized": 1, + "p": 10000000, + "q": 2000000, + "i": 561.3447716235414, + "s": 10198039.027185569, + "pf": 0.9805806756909202 + } + ], + "source": [ + { + "id": 14, + "energized": 1, + "p": 31084404.081517234, + "q": 7541351.880824501, + "i": 1760.6565092085932, + "s": 31986124.574469168, + "pf": 0.9718090107836423 + } + ] + } +} diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json index 0e7b090d29..fac940e2e7 100644 --- a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json @@ -1,120 +1,120 @@ { - "version": "1.0", - "type": "input", - "is_batch": false, - "attributes": {}, - "data": { - "node": [ - { - "id": 1, - "u_rated": 10500 - }, - { - "id": 2, - "u_rated": 10500 - }, - { - "id": 3, - "u_rated": 10500 - }, - { - "id": 4, - "u_rated": 10500 - }, - { - "id": 5, - "u_rated": 10500 - }, - { - "id": 6, - "u_rated": 10500 - }, - { - "id": 7, - "u_rated": 10500 - } - ], - "line": [ - { - "id": 12, - "from_node": 5, - "to_node": 3, - "from_status": 1, - "to_status": 1, - "r1": 0.25, - "x1": 0.20000000000000001, - "c1": 1.0000000000000001e-05, - "tan1": 0, - "i_n": 1000 - }, - { - "id": 13, - "from_node": 4, - "to_node": 6, - "from_status": 1, - "to_status": 1, - "r1": 0.25, - "x1": 0.20000000000000001, - "c1": 1.0000000000000001e-05, - "tan1": 0, - "i_n": 1000 - } - ], - "link": [ - { - "id": 8, - "from_node": 1, - "to_node": 2, - "from_status": 1, - "to_status": 1 - }, - { - "id": 9, - "from_node": 2, - "to_node": 3, - "from_status": 1, - "to_status": 1 - }, - { - "id": 10, - "from_node": 4, - "to_node": 2, - "from_status": 1, - "to_status": 1 - }, - { - "id": 11, - "from_node": 6, - "to_node": 7, - "from_status": 1, - "to_status": 1 - } - ], - "sym_load": [ - { - "id": 14, - "node": 5, - "status": 1, - "type": 0, - "p_specified": 20000000, - "q_specified": 5000000 - }, - { - "id": 15, - "node": 7, - "status": 1, - "type": 0, - "p_specified": 10000000, - "q_specified": 2000000 - } - ], - "source": [ - { - "id": 16, - "node": 1, - "status": 1, - "u_ref": 1 - } - ] - } -} \ No newline at end of file + "version": "1.0", + "type": "input", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + { + "id": 1, + "u_rated": 10500 + }, + { + "id": 2, + "u_rated": 10500 + }, + { + "id": 3, + "u_rated": 10500 + }, + { + "id": 4, + "u_rated": 10500 + }, + { + "id": 5, + "u_rated": 10500 + }, + { + "id": 6, + "u_rated": 10500 + }, + { + "id": 7, + "u_rated": 10500 + } + ], + "line": [ + { + "id": 12, + "from_node": 5, + "to_node": 3, + "from_status": 1, + "to_status": 1, + "r1": 0.25, + "x1": 0.2, + "c1": 1e-05, + "tan1": 0, + "i_n": 1000 + }, + { + "id": 13, + "from_node": 4, + "to_node": 6, + "from_status": 1, + "to_status": 1, + "r1": 0.25, + "x1": 0.2, + "c1": 1e-05, + "tan1": 0, + "i_n": 1000 + } + ], + "link": [ + { + "id": 8, + "from_node": 1, + "to_node": 2, + "from_status": 1, + "to_status": 1 + }, + { + "id": 9, + "from_node": 2, + "to_node": 3, + "from_status": 1, + "to_status": 1 + }, + { + "id": 10, + "from_node": 4, + "to_node": 2, + "from_status": 1, + "to_status": 1 + }, + { + "id": 11, + "from_node": 6, + "to_node": 7, + "from_status": 1, + "to_status": 1 + } + ], + "sym_load": [ + { + "id": 14, + "node": 5, + "status": 1, + "type": 0, + "p_specified": 20000000, + "q_specified": 5000000 + }, + { + "id": 15, + "node": 7, + "status": 1, + "type": 0, + "p_specified": 10000000, + "q_specified": 2000000 + } + ], + "source": [ + { + "id": 16, + "node": 1, + "status": 1, + "u_ref": 1 + } + ] + } +} diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json index fb300f8a23..af772dc21e 100644 --- a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json @@ -1,10 +1,10 @@ { - "calculation_method": [ - "newton_raphson" - ], - "rtol": 3e-7, - "atol": 1e-7, - "xfail": { - "reason": "The handling of links is not fully implemented." - } -} \ No newline at end of file + "calculation_method": [ + "newton_raphson" + ], + "rtol": 3e-07, + "atol": 1e-07, + "xfail": { + "reason": "The handling of links is not fully implemented." + } +} diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json deleted file mode 100644 index 369a7fa33d..0000000000 --- a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "version": "1.0", - "type": "sym_output", - "is_batch": false, - "attributes": {}, - "data": { - "node": [ - { - "id": 1, - "energized": 1, - "u_pu": 0.99894582497877471, - "u": 10488.931162277135, - "u_angle": -0.0030472451589675215, - "p": 31332434.501907028, - "q": 7403305.2637952529 - }, - { - "id": 2, - "energized": 1, - "u_pu": 0.99894582497877471, - "u": 10488.931162277135, - "u_angle": -0.0030472451589675215, - "p": 0, - "q": 0 - }, - { - "id": 3, - "energized": 1, - "u_pu": 0.99894582497877471, - "u": 10488.931162277135, - "u_angle": -0.0030472451589675215, - "p": 0, - "q": 0 - }, - { - "id": 4, - "energized": 1, - "u_pu": 0.99894582497877471, - "u": 10488.931162277135, - "u_angle": -0.0030472451589675215, - "p": 0, - "q": 0 - }, - { - "id": 5, - "energized": 1, - "u_pu": 0.94104890636343841, - "u": 9881.0135168161032, - "u_angle": -0.029954262188011137, - "p": -20000000.000000041, - "q": -5000000.0000000363 - }, - { - "id": 6, - "energized": 1, - "u_pu": 0.97208862838634669, - "u": 10206.930598056641, - "u_angle": -0.017440745511054661, - "p": -10000000.000000019, - "q": -1999999.9999999995 - }, - { - "id": 7, - "energized": 1, - "u_pu": 0.97208862838634669, - "u": 10206.930598056641, - "u_angle": -0.017440745511054661, - "p": 0, - "q": 0 - } - ], - "line": [ - { - "id": 12, - "energized": 1, - "loading": 1.2045708361780831, - "p_from": -20000000.000000041, - "q_from": -5000000.0000000363, - "i_from": 1204.570836178083, - "s_from": 20615528.128088355, - "p_to": 21084376.409534942, - "q_to": 5541321.9637697171, - "i_to": 1199.9757780930483, - "s_to": 21800393.980043348 - }, - { - "id": 13, - "energized": 1, - "loading": 0.57684732162996477, - "p_from": 10248058.09237208, - "q_from": 1861983.3000255346, - "i_from": 573.32693369338097, - "s_from": 10415837.771116007, - "p_to": -10000000.000000019, - "q_to": -1999999.9999999995, - "i_to": 576.84732162996477, - "s_to": 10198039.027185587 - } - ], - "link": [ - { - "id": 8, - "energized": 1, - "loading": 0, - "p_from": 31332434.50190703, - "q_from": 7403305.263795253, - "i_from": 1772.144598437414, - "s_from": 32195191.88706961, - "p_to": -31332434.50190703, - "q_to": -7403305.263795253, - "i_to": 1772.144598437414, - "s_to": 32195191.88706961 - }, - { - "id": 9, - "energized": 1, - "loading": 0, - "p_from": 21084376.40953494, - "q_from": 5541321.963769717, - "i_from": 1199.975778093048, - "s_from": 21800393.98004335, - "p_to": -21084376.40953494, - "q_to": -5541321.963769717, - "i_to": 1199.975778093048, - "s_to": 21800393.98004335 - }, - { - "id": 10, - "energized": 1, - "loading": 0, - "p_from": -10248058.09237209, - "q_from": -1861983.300025536, - "i_from": 573.3269336933812, - "s_from": 10415837.77111601, - "p_to": 10248058.09237209, - "q_to": 1861983.300025536, - "i_to": 573.3269336933812, - "s_to": 10415837.77111601 - }, - { - "id": 11, - "energized": 1, - "loading": 0, - "p_from": 10000000, - "q_from": 2000000, - "i_from": 576.847321629964, - "s_from": 10198039.02718557, - "p_to": -10000000, - "q_to": -2000000, - "i_to": 576.847321629964, - "s_to": 10198039.02718557 - } - ], - "sym_load": [ - { - "id": 14, - "energized": 1, - "p": 20000000, - "q": 5000000, - "i": 1204.5708361780801, - "s": 20615528.128088303, - "pf": 0.97014250014533188 - }, - { - "id": 15, - "energized": 1, - "p": 10000000, - "q": 2000000, - "i": 576.84732162996386, - "s": 10198039.027185569, - "pf": 0.98058067569092022 - } - ], - "source": [ - { - "id": 16, - "energized": 1, - "p": 31332434.501907028, - "q": 7403305.2637952529, - "i": 1772.1445984374143, - "s": 32195191.887069605, - "pf": 0.97320229094490718 - } - ] - } -} \ No newline at end of file diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json.license deleted file mode 100644 index 7601059167..0000000000 --- a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output.json.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: Contributors to the Power Grid Model project - -SPDX-License-Identifier: MPL-2.0 From 0860baecb0484d243349ef83f63cfc5cac5f3ae1 Mon Sep 17 00:00:00 2001 From: Jerry Guo Date: Thu, 30 Jul 2026 14:45:36 +0200 Subject: [PATCH 3/4] new files Signed-off-by: Jerry Guo --- .../input.json | 105 +++++ .../input.json.license | 3 + .../params.json | 10 + .../params.json.license | 3 + .../sym_output.json | 155 ++++++++ .../sym_output.json.license | 3 + .../sym_output_batch.json | 368 ++++++++++++++++++ .../sym_output_batch.json.license | 3 + .../update_batch.json | 30 ++ .../update_batch.json.license | 3 + 10 files changed, 683 insertions(+) create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json.license create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json.license create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json.license create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json.license create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json create mode 100644 tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json new file mode 100644 index 0000000000..3a169b294f --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json @@ -0,0 +1,105 @@ +{ + "version": "1.0", + "type": "input", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + { + "id": 1, + "u_rated": 10500 + }, + { + "id": 2, + "u_rated": 10500 + }, + { + "id": 3, + "u_rated": 10500 + }, + { + "id": 4, + "u_rated": 10500 + }, + { + "id": 5, + "u_rated": 10500 + } + ], + "line": [ + { + "id": 10, + "from_node": 5, + "to_node": 3, + "from_status": 1, + "to_status": 1, + "r1": 0.25, + "x1": 0.2, + "c1": 1e-05, + "tan1": 0, + "i_n": 1000 + }, + { + "id": 15, + "from_node": 2, + "to_node": 2, + "from_status": 1, + "to_status": 1, + "r1": 0.25, + "x1": 0.2, + "c1": 1e-05, + "tan1": 0, + "i_n": 1000 + } + ], + "link": [ + { + "id": 7, + "from_node": 1, + "to_node": 2, + "from_status": 1, + "to_status": 1 + }, + { + "id": 8, + "from_node": 2, + "to_node": 3, + "from_status": 1, + "to_status": 1 + }, + { + "id": 9, + "from_node": 4, + "to_node": 2, + "from_status": 1, + "to_status": 1 + } + ], + "sym_load": [ + { + "id": 12, + "node": 5, + "status": 1, + "type": 0, + "p_specified": 20000000, + "q_specified": 5000000 + }, + { + "id": 13, + "node": 4, + "status": 1, + "type": 0, + "p_specified": 10000000, + "q_specified": 2000000 + } + ], + "source": [ + { + "id": 14, + "node": 1, + "status": 1, + "u_ref": 1 + } + ] + } +} diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json.license new file mode 100644 index 0000000000..7601059167 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json new file mode 100644 index 0000000000..af772dc21e --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json @@ -0,0 +1,10 @@ +{ + "calculation_method": [ + "newton_raphson" + ], + "rtol": 3e-07, + "atol": 1e-07, + "xfail": { + "reason": "The handling of links is not fully implemented." + } +} diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json.license new file mode 100644 index 0000000000..7601059167 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json new file mode 100644 index 0000000000..6f5c59cae9 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json @@ -0,0 +1,155 @@ +{ + "version": "1.0", + "type": "sym_output", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + { + "id": 1, + "energized": 1, + "u_pu": 0.9989346120563263, + "u": 10488.813426591425, + "u_angle": -0.003021197892781545, + "p": 0, + "q": 0 + }, + { + "id": 2, + "energized": 1, + "u_pu": 0.9989346120563263, + "u": 10488.813426591425, + "u_angle": -0.003021197892781545, + "p": 0, + "q": 0 + }, + { + "id": 3, + "energized": 1, + "u_pu": 0.9989346120563263, + "u": 10488.813426591425, + "u_angle": -0.003021197892781545, + "p": 0, + "q": 0 + }, + { + "id": 4, + "energized": 1, + "u_pu": 0.9989346120563263, + "u": 10488.813426591425, + "u_angle": -0.003021197892781545, + "p": -10000000, + "q": -2000000 + }, + { + "id": 5, + "energized": 1, + "u_pu": 0.9410369413753571, + "u": 9880.88788444125, + "u_angle": -0.029928849812710975, + "p": -19999999.999999974, + "q": -5000000.00000003 + } + ], + "line": [ + { + "id": 10, + "energized": 1, + "loading": 1.2045861519165633, + "p_from": -19999999.999999974, + "q_from": -5000000.00000003, + "i_from": 1204.5861519165633, + "s_from": 20615528.128088284, + "p_to": 21084404.081517234, + "q_to": 5541351.880824501, + "i_to": 1199.9911394209246, + "s_to": 21800428.34762239 + }, + { + "id": 15, + "energized": 1, + "loading": 1.2045861519165633, + "p_from": -19999999.999999974, + "q_from": -5000000.00000003, + "i_from": 1204.5861519165633, + "s_from": 20615528.128088284, + "p_to": 21084404.081517234, + "q_to": 5541351.880824501, + "i_to": 1199.9911394209246, + "s_to": 21800428.34762239 + } + ], + "link": [ + { + "id": 7, + "energized": 1, + "loading": 0, + "p_from": 31084404.08151723, + "q_from": 7541351.880824501, + "i_from": 1760.656509208593, + "s_from": 31986124.57446917, + "p_to": -31084404.08151723, + "q_to": -7541351.880824501, + "i_to": 1760.656509208593, + "s_to": 31986124.57446917 + }, + { + "id": 8, + "energized": 1, + "loading": 0, + "p_from": 21084404.08151723, + "q_from": 5541351.880824501, + "i_from": 1199.991139420925, + "s_from": 21800428.34762239, + "p_to": -21084404.08151723, + "q_to": -5541351.880824501, + "i_to": 1199.991139420925, + "s_to": 21800428.34762239 + }, + { + "id": 9, + "energized": 1, + "loading": 0, + "p_from": -10000000, + "q_from": -2000000, + "i_from": 561.3447716235415, + "s_from": 10198039.02718557, + "p_to": 10000000, + "q_to": 2000000, + "i_to": 561.3447716235415, + "s_to": 10198039.02718557 + } + ], + "sym_load": [ + { + "id": 12, + "energized": 1, + "p": 20000000, + "q": 5000000, + "i": 1204.5861519165644, + "s": 20615528.128088303, + "pf": 0.9701425001453319 + }, + { + "id": 13, + "energized": 1, + "p": 10000000, + "q": 2000000, + "i": 561.3447716235414, + "s": 10198039.027185569, + "pf": 0.9805806756909202 + } + ], + "source": [ + { + "id": 14, + "energized": 1, + "p": 31084404.081517234, + "q": 7541351.880824501, + "i": 1760.6565092085932, + "s": 31986124.574469168, + "pf": 0.9718090107836423 + } + ] + } +} diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json.license new file mode 100644 index 0000000000..7601059167 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json new file mode 100644 index 0000000000..852c3724b3 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json @@ -0,0 +1,368 @@ +{ + "version": "1.0", + "type": "sym_output", + "is_batch": false, + "attributes": {}, + "data": [ + { + "node": [ + { + "id": 1, + "energized": 1, + "u_pu": 0.9989458249787747, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 31332434.50190703, + "q": 7403305.263795253 + }, + { + "id": 2, + "energized": 1, + "u_pu": 0.9989458249787747, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 0, + "q": 0 + }, + { + "id": 3, + "energized": 1, + "u_pu": 0.9989458249787747, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 0, + "q": 0 + }, + { + "id": 4, + "energized": 1, + "u_pu": 0.9989458249787747, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 0, + "q": 0 + }, + { + "id": 5, + "energized": 1, + "u_pu": 0.9410489063634384, + "u": 9881.013516816103, + "u_angle": -0.029954262188011137, + "p": -20000000.00000004, + "q": -5000000.000000036 + }, + { + "id": 6, + "energized": 1, + "u_pu": 0.9720886283863467, + "u": 10206.93059805664, + "u_angle": -0.01744074551105466, + "p": -10000000.000000019, + "q": -1999999.9999999995 + }, + { + "id": 7, + "energized": 1, + "u_pu": 0.9720886283863467, + "u": 10206.93059805664, + "u_angle": -0.01744074551105466, + "p": 0, + "q": 0 + } + ], + "line": [ + { + "id": 12, + "energized": 1, + "loading": 1.2045708361780831, + "p_from": -20000000.00000004, + "q_from": -5000000.000000036, + "i_from": 1204.570836178083, + "s_from": 20615528.128088355, + "p_to": 21084376.409534942, + "q_to": 5541321.963769717, + "i_to": 1199.9757780930483, + "s_to": 21800393.980043348 + }, + { + "id": 13, + "energized": 1, + "loading": 0.5768473216299648, + "p_from": 10248058.09237208, + "q_from": 1861983.3000255346, + "i_from": 573.326933693381, + "s_from": 10415837.771116007, + "p_to": -10000000.000000019, + "q_to": -1999999.9999999995, + "i_to": 576.8473216299648, + "s_to": 10198039.027185587 + } + ], + "link": [ + { + "id": 8, + "energized": 1, + "loading": 0, + "p_from": 31332434.50190703, + "q_from": 7403305.263795253, + "i_from": 1772.144598437414, + "s_from": 32195191.88706961, + "p_to": -31332434.50190703, + "q_to": -7403305.263795253, + "i_to": 1772.144598437414, + "s_to": 32195191.88706961 + }, + { + "id": 9, + "energized": 1, + "loading": 0, + "p_from": 21084376.40953494, + "q_from": 5541321.963769717, + "i_from": 1199.975778093048, + "s_from": 21800393.98004335, + "p_to": -21084376.40953494, + "q_to": -5541321.963769717, + "i_to": 1199.975778093048, + "s_to": 21800393.98004335 + }, + { + "id": 10, + "energized": 1, + "loading": 0, + "p_from": -10248058.09237209, + "q_from": -1861983.300025536, + "i_from": 573.3269336933812, + "s_from": 10415837.77111601, + "p_to": 10248058.09237209, + "q_to": 1861983.300025536, + "i_to": 573.3269336933812, + "s_to": 10415837.77111601 + }, + { + "id": 11, + "energized": 1, + "loading": 0, + "p_from": 10000000, + "q_from": 2000000, + "i_from": 576.847321629964, + "s_from": 10198039.02718557, + "p_to": -10000000, + "q_to": -2000000, + "i_to": 576.847321629964, + "s_to": 10198039.02718557 + } + ], + "sym_load": [ + { + "id": 14, + "energized": 1, + "p": 20000000, + "q": 5000000, + "i": 1204.57083617808, + "s": 20615528.128088303, + "pf": 0.9701425001453319 + }, + { + "id": 15, + "energized": 1, + "p": 10000000, + "q": 2000000, + "i": 576.8473216299639, + "s": 10198039.027185569, + "pf": 0.9805806756909202 + } + ], + "source": [ + { + "id": 16, + "energized": 1, + "p": 31332434.50190703, + "q": 7403305.263795253, + "i": 1772.1445984374143, + "s": 32195191.887069605, + "pf": 0.9732022909449072 + } + ] + }, + { + "node": [ + { + "id": 1, + "energized": 1, + "u_pu": 0.9989458249787747, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 31332434.50190703, + "q": 7403305.263795253 + }, + { + "id": 2, + "energized": 1, + "u_pu": 0.9989458249787747, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 0, + "q": 0 + }, + { + "id": 3, + "energized": 1, + "u_pu": 0.9989458249787747, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 0, + "q": 0 + }, + { + "id": 4, + "energized": 1, + "u_pu": 0.9989458249787747, + "u": 10488.931162277135, + "u_angle": -0.0030472451589675215, + "p": 0, + "q": 0 + }, + { + "id": 5, + "energized": 1, + "u_pu": 0.9410489063634384, + "u": 9881.013516816103, + "u_angle": -0.029954262188011137, + "p": -20000000.00000004, + "q": -5000000.000000036 + }, + { + "id": 6, + "energized": 1, + "u_pu": 0.9720886283863467, + "u": 10206.93059805664, + "u_angle": -0.01744074551105466, + "p": -10000000.000000019, + "q": -1999999.9999999995 + }, + { + "id": 7, + "energized": 1, + "u_pu": 0.9720886283863467, + "u": 10206.93059805664, + "u_angle": -0.01744074551105466, + "p": 0, + "q": 0 + } + ], + "line": [ + { + "id": 12, + "energized": 1, + "loading": 1.2045708361780831, + "p_from": -20000000.00000004, + "q_from": -5000000.000000036, + "i_from": 1204.570836178083, + "s_from": 20615528.128088355, + "p_to": 21084376.409534942, + "q_to": 5541321.963769717, + "i_to": 1199.9757780930483, + "s_to": 21800393.980043348 + }, + { + "id": 13, + "energized": 1, + "loading": 0.5768473216299648, + "p_from": 10248058.09237208, + "q_from": 1861983.3000255346, + "i_from": 573.326933693381, + "s_from": 10415837.771116007, + "p_to": -10000000.000000019, + "q_to": -1999999.9999999995, + "i_to": 576.8473216299648, + "s_to": 10198039.027185587 + } + ], + "link": [ + { + "id": 8, + "energized": 1, + "loading": 0, + "p_from": 31332434.50190703, + "q_from": 7403305.263795253, + "i_from": 1772.144598437414, + "s_from": 32195191.88706961, + "p_to": -31332434.50190703, + "q_to": -7403305.263795253, + "i_to": 1772.144598437414, + "s_to": 32195191.88706961 + }, + { + "id": 9, + "energized": 1, + "loading": 0, + "p_from": 21084376.40953494, + "q_from": 5541321.963769717, + "i_from": 1199.975778093048, + "s_from": 21800393.98004335, + "p_to": -21084376.40953494, + "q_to": -5541321.963769717, + "i_to": 1199.975778093048, + "s_to": 21800393.98004335 + }, + { + "id": 10, + "energized": 1, + "loading": 0, + "p_from": -10248058.09237209, + "q_from": -1861983.300025536, + "i_from": 573.3269336933812, + "s_from": 10415837.77111601, + "p_to": 10248058.09237209, + "q_to": 1861983.300025536, + "i_to": 573.3269336933812, + "s_to": 10415837.77111601 + }, + { + "id": 11, + "energized": 1, + "loading": 0, + "p_from": 10000000, + "q_from": 2000000, + "i_from": 576.847321629964, + "s_from": 10198039.02718557, + "p_to": -10000000, + "q_to": -2000000, + "i_to": 576.847321629964, + "s_to": 10198039.02718557 + } + ], + "sym_load": [ + { + "id": 14, + "energized": 1, + "p": 20000000, + "q": 5000000, + "i": 1204.57083617808, + "s": 20615528.128088303, + "pf": 0.9701425001453319 + }, + { + "id": 15, + "energized": 1, + "p": 10000000, + "q": 2000000, + "i": 576.8473216299639, + "s": 10198039.027185569, + "pf": 0.9805806756909202 + } + ], + "source": [ + { + "id": 16, + "energized": 1, + "p": 31332434.50190703, + "q": 7403305.263795253, + "i": 1772.1445984374143, + "s": 32195191.887069605, + "pf": 0.9732022909449072 + } + ] + } + ] +} diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json.license new file mode 100644 index 0000000000..7601059167 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json new file mode 100644 index 0000000000..2c85256851 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json @@ -0,0 +1,30 @@ +{ + "version": "1.0", + "type": "update", + "is_batch": true, + "attributes": {}, + "data": [ + { + "link": [ + { + "id": 11, + "from_node": 6, + "to_node": 7, + "from_status": 1, + "to_status": 1 + } + ] + }, + { + "link": [ + { + "id": 11, + "from_node": 6, + "to_node": 7, + "from_status": 1, + "to_status": 0 + } + ] + } + ] +} diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json.license b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json.license new file mode 100644 index 0000000000..7601059167 --- /dev/null +++ b/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 From b6f30cfa82c0fcd5653ba9f6ea4148383fa3567a Mon Sep 17 00:00:00 2001 From: Jerry Guo Date: Thu, 30 Jul 2026 14:46:42 +0200 Subject: [PATCH 4/4] organized Signed-off-by: Jerry Guo --- .../input.json | 0 .../input.json.license | 0 .../params.json | 0 .../params.json.license | 0 .../sym_output.json | 0 .../sym_output.json.license | 0 .../handling-of-links-merge-nodes-by-links-1-line/input.json | 0 .../input.json.license | 0 .../handling-of-links-merge-nodes-by-links-1-line/params.json | 0 .../params.json.license | 0 .../handling-of-links-merge-nodes-by-links-1-line/sym_output.json | 0 .../sym_output.json.license | 0 .../handling-of-links-merge-nodes-by-links-2-lines/input.json | 0 .../input.json.license | 0 .../handling-of-links-merge-nodes-by-links-2-lines/params.json | 0 .../params.json.license | 0 .../sym_output_batch.json | 0 .../sym_output_batch.json.license | 0 .../update_batch.json | 0 .../update_batch.json.license | 0 20 files changed, 0 insertions(+), 0 deletions(-) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json.license (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json.license (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json.license (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line/input.json (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line/input.json.license (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line/params.json (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line/params.json.license (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line/sym_output.json (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-1-line/sym_output.json.license (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-2-lines/input.json (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-2-lines/input.json.license (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-2-lines/params.json (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-2-lines/params.json.license (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json.license (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json (100%) rename tests/data/power_flow/{ => handling-of-links}/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json.license (100%) diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json.license b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json.license similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json.license rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/input.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json.license b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json.license similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json.license rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/params.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json.license b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json.license similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json.license rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line-with-line-to-self/sym_output.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/input.json similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/input.json diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json.license b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/input.json.license similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/input.json.license rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/input.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/params.json similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/params.json diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json.license b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/params.json.license similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/params.json.license rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/params.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/sym_output.json similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/sym_output.json diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json.license b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/sym_output.json.license similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-1-line/sym_output.json.license rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-1-line/sym_output.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/input.json similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/input.json diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json.license b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/input.json.license similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/input.json.license rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/input.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/params.json similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/params.json diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json.license b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/params.json.license similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/params.json.license rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/params.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json.license b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json.license similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json.license rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/sym_output_batch.json.license diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json diff --git a/tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json.license b/tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json.license similarity index 100% rename from tests/data/power_flow/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json.license rename to tests/data/power_flow/handling-of-links/handling-of-links-merge-nodes-by-links-2-lines/update_batch.json.license