Skip to content
Merged
Changes from 8 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
c5e2b54
fix/ PandaPower Transformer Loading
furqan463 Aug 24, 2025
e44385c
Merge pull request #1 from furqan463/furqan463-patch-1
furqan463 Aug 24, 2025
9902db6
Apply suggestion from @mgovers
mgovers Aug 25, 2025
daa8a57
Apply suggestion from @mgovers
mgovers Aug 25, 2025
a1c585a
reformat
mgovers Aug 25, 2025
97a55a9
fix typos
mgovers Aug 25, 2025
9929f27
fix line lengths
mgovers Aug 25, 2025
e43a8f6
Removed tiling, using array broadcast instead.
furqan463 Aug 25, 2025
ebb154a
Total Loading is max of phase wise loading
furqan463 Aug 25, 2025
1954ccd
Highlight a bug in Pandapower_Converter validation test
furqan463 Aug 25, 2025
e82714c
PandaPower_Converter: Fix Transformer Loading Calculation by current …
furqan463 Aug 26, 2025
b0fa174
PandaPower_Converter: Fix Transformer Loading Calculation by current …
furqan463 Aug 26, 2025
72d4578
Merge branch 'main' into main
mgovers Sep 2, 2025
fe83bf2
add new validation test + cleanup
mgovers Sep 2, 2025
087a32c
Update src/power_grid_model_io/converters/pandapower_converter.py
mgovers Sep 2, 2025
2fae6d0
ruff format
mgovers Sep 2, 2025
c328ae8
Pandapower_Converter: corrected total 3ph_line loading with max of lo…
furqan463 Sep 2, 2025
aaf2e66
format
mgovers Sep 3, 2025
ba52c39
update tests to cover both cases of trafo_loading options, added sepe…
furqan463 Sep 3, 2025
a398aa0
Validation tests for input_pgm_line
furqan463 Sep 4, 2025
7b82673
Remove resolved comments.
furqan463 Sep 4, 2025
1cecec4
Formatting.
furqan463 Sep 4, 2025
40d3a73
resolved test_pandapower_converter_ouput to completely test trafo and…
furqan463 Sep 4, 2025
6ce871a
fix test
mgovers Sep 4, 2025
4c23843
format
mgovers Sep 4, 2025
ec9ebeb
catch warnings instead of filter warnings
mgovers Sep 5, 2025
42cf4bc
actually resolve all warning messages
mgovers Sep 5, 2025
8ffafd1
Upload data file
furqan463 Sep 5, 2025
7e5aa8b
TODOs
furqan463 Sep 5, 2025
6788b51
Add license file, run pre-commit
furqan463 Sep 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 13 additions & 6 deletions src/power_grid_model_io/converters/pandapower_converter.py
Original file line number Diff line number Diff line change
Expand Up @@ -2017,12 +2017,19 @@ def _pp_trafos_output_3ph(self): # pylint: disable=too-many-statements
# Only derating factor used here. Sn is already being multiplied by parallel
loading_multiplier = pp_input_transformers["df"] * 1e2
if self.trafo_loading == "current":
ui_from = pgm_output_transformers["i_from"] * pgm_input_transformers["u1"]
ui_to = pgm_output_transformers["i_to"] * pgm_input_transformers["u2"]
loading_a_percent = np.maximum(ui_from[:, 0], ui_to[:, 0]) / pgm_input_transformers["sn"]
loading_b_percent = np.maximum(ui_from[:, 1], ui_to[:, 1]) / pgm_input_transformers["sn"]
loading_c_percent = np.maximum(ui_from[:, 2], ui_to[:, 2]) / pgm_input_transformers["sn"]
loading = np.maximum(np.sum(ui_from, axis=1), np.sum(ui_to, axis=1)) / pgm_input_transformers["sn"]
# since "i_from" and "i_to" are (n, 3) arrays while "u1" and "u2" are (n,) arrays, ValueError is generated
# during broadcast
ui_from = pgm_output_transformers["i_from"] * pgm_input_transformers["u1"][:, None]
ui_to = pgm_output_transformers["i_to"] * pgm_input_transformers["u2"][:, None]
# for phase wise loading, sn_ph = sn / 3, v_n = v / sqrt(3), so (i * u / sqrt(3)) / (sn / 3)
# ==> sqrt(3) * i * u / sn
loading_a_percent = np.sqrt(3) * np.maximum(ui_from[:, 0], ui_to[:, 0]) / pgm_input_transformers["sn"]
loading_b_percent = np.sqrt(3) * np.maximum(ui_from[:, 1], ui_to[:, 1]) / pgm_input_transformers["sn"]
loading_c_percent = np.sqrt(3) * np.maximum(ui_from[:, 2], ui_to[:, 2]) / pgm_input_transformers["sn"]
# for total loading, phase wise powers are be calculated using v_n instead of v.
loading = (
np.maximum(np.sum(ui_from, axis=1), np.sum(ui_to, axis=1)) / np.sqrt(3)
) / pgm_input_transformers["sn"]
elif self.trafo_loading == "power":
loading_a_percent = (
np.maximum(
Expand Down
Loading