Skip to content

Commit

Permalink
address comments
Browse files Browse the repository at this point in the history
Signed-off-by: Nitish Bharambe <[email protected]>
  • Loading branch information
nitbharambe committed Aug 21, 2024
1 parent 8432d1d commit 8be6847
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 9 deletions.
15 changes: 9 additions & 6 deletions src/power_grid_model_io/converters/pandapower_converter.py
Original file line number Diff line number Diff line change
Expand Up @@ -749,11 +749,10 @@ def _create_pgm_input_transformers(self): # pylint: disable=too-many-statements
pgm_transformers["pk"] = vkr_percent * sn_mva * parallel * (1e6 * 1e-2)
pgm_transformers["p0"] = pfe * parallel * 1e3
pgm_transformers["i0"] = i_no_load * 1e-2
if any(np.less(pgm_transformers["i0"], pgm_transformers["p0"] / pgm_transformers["sn"])):
logger.warning("Minimum value of i0 is clipped to p0/sn")
pgm_transformers["i0"] = np.clip(
pgm_transformers["i0"], a_min=pgm_transformers["p0"] / pgm_transformers["sn"], a_max=None
)
i0_min_threshold = pgm_transformers["p0"] / pgm_transformers["sn"]
if any(np.less(pgm_transformers["i0"], i0_min_threshold)):
logger.warning("Minimum value of i0_percent is clipped to p0/sn")
pgm_transformers["i0"] = np.clip(pgm_transformers["i0"], a_min=i0_min_threshold, a_max=None)
pgm_transformers["clock"] = clocks
pgm_transformers["winding_from"] = winding_types["winding_from"]
pgm_transformers["winding_to"] = winding_types["winding_to"]
Expand Down Expand Up @@ -880,8 +879,12 @@ def _create_pgm_input_three_winding_transformers(self):
pgm_3wtransformers["pk_13"] = vkr_lv_percent * np.minimum(sn_hv_mva, sn_lv_mva) * (1e-2 * 1e6)
pgm_3wtransformers["pk_23"] = vkr_mv_percent * np.minimum(sn_mv_mva, sn_lv_mva) * (1e-2 * 1e6)

pgm_3wtransformers["i0"] = self._get_pp_attr("trafo3w", "i0_percent", expected_type="f8") * 1e-2
pgm_3wtransformers["p0"] = self._get_pp_attr("trafo3w", "pfe_kw", expected_type="f8") * 1e3
pgm_3wtransformers["i0"] = self._get_pp_attr("trafo3w", "i0_percent", expected_type="f8") * 1e-2
i0_min_threshold = pgm_3wtransformers["p0"] / pgm_3wtransformers["sn_1"]
if any(np.less(pgm_3wtransformers["i0"], i0_min_threshold)):
logger.warning("Minimum value of i0_percent is clipped to p0/sn_1")
pgm_3wtransformers["i0"] = np.clip(pgm_3wtransformers["i0"], a_min=i0_min_threshold, a_max=None)
pgm_3wtransformers["clock_12"] = clocks_12
pgm_3wtransformers["clock_13"] = clocks_13
pgm_3wtransformers["winding_1"] = winding_types["winding_1"]
Expand Down
20 changes: 17 additions & 3 deletions tests/unit/converters/test_pandapower_converter_input.py
Original file line number Diff line number Diff line change
Expand Up @@ -1032,7 +1032,14 @@ def test_create_pgm_input_sym_gens(mock_init_array: MagicMock, two_pp_objs, conv

@pytest.mark.parametrize(
"kwargs",
[{"vk0_percent": 2}, {"vkr0_percent": 1}, {"mag0_percent": 5}, {"mag0_rx": 0.2}, {"si0_hv_partial": 0.3}],
[
{"pfe_kw": 2},
{"vk0_percent": 2},
{"vkr0_percent": 1},
{"mag0_percent": 5},
{"mag0_rx": 0.2},
{"si0_hv_partial": 0.3},
],
)
@patch(
"power_grid_model_io.converters.pandapower_converter.PandaPowerConverter.get_switch_states",
Expand All @@ -1050,11 +1057,14 @@ def test_create_pgm_input_sym_gens(mock_init_array: MagicMock, two_pp_objs, conv
"power_grid_model_io.converters.pandapower_converter.PandaPowerConverter._get_pgm_ids",
new=MagicMock(return_value=pd.Series([0])),
)
def test_create_pgm_input_transformers__zero_sequence(kwargs) -> None:
def test_create_pgm_input_transformers__warnings(kwargs) -> None:
# Arrange
pp_net: pp.pandapowerNet = pp.create_empty_network()
pp.create_bus(net=pp_net, vn_kv=0.0)
args = [0, 0, 0, 0, 0, 0, 0, 0, 0]
if "pfe_kw" in kwargs:
args[-2] = kwargs["pfe_kw"]
kwargs = {}
pp.create_transformer_from_parameters(pp_net, *args, **kwargs)

converter = PandaPowerConverter()
Expand Down Expand Up @@ -1388,6 +1398,7 @@ def test_create_pgm_input_transformers3w__default() -> None:
@pytest.mark.parametrize(
"kwargs",
[
{"pfe_kw": 2},
{"vk0_hv_percent": 1},
{"vkr0_hv_percent": 2},
{"vk0_mv_percent": 3},
Expand All @@ -1412,11 +1423,14 @@ def test_create_pgm_input_transformers3w__default() -> None:
"power_grid_model_io.converters.pandapower_converter.PandaPowerConverter._get_pgm_ids",
new=MagicMock(return_value=pd.Series([0])),
)
def test_create_pgm_input_transformers3w__zero_sequence(kwargs) -> None:
def test_create_pgm_input_transformers3w__warnings(kwargs) -> None:
# Arrange
pp_net: pp.pandapowerNet = pp.create_empty_network()
pp.create_bus(net=pp_net, vn_kv=0.0)
args = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
if "pfe_kw" in kwargs:
args[-2] = kwargs["pfe_kw"]
kwargs = {}
pp.create_transformer3w_from_parameters(pp_net, *args, **kwargs)

converter = PandaPowerConverter()
Expand Down

0 comments on commit 8be6847

Please sign in to comment.