Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 6 additions & 4 deletions pandapower/build_bus.py
Original file line number Diff line number Diff line change
Expand Up @@ -1113,11 +1113,13 @@ def _add_c_to_ppc(net, ppc):
if len(lv_buses) > 0:
lv_tol_percent = net["_options"]["lv_tol_percent"]
if lv_tol_percent == 10:
c_ns = 1.1
c_max = 1.1
c_min = 0.9
elif lv_tol_percent == 6:
c_ns = 1.05
c_max = 1.05
c_min = 0.95
else:
raise ValueError("Voltage tolerance in the low voltage grid has" +
" to be either 6% or 10% according to IEC 60909")
ppc["bus"][lv_buses, C_MAX] = c_ns
ppc["bus"][lv_buses, C_MIN] = .95
ppc["bus"][lv_buses, C_MAX] = c_max
ppc["bus"][lv_buses, C_MIN] = c_min
12 changes: 6 additions & 6 deletions pandapower/test/shortcircuit/test_meshing_detection.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,16 @@ def test_min_10_meshed_grid(meshed_grid):
net = meshed_grid
calc_sc(net, case='min', ip=True, ith=True, lv_tol_percent=10., kappa_method="B")
assert np.allclose(net.res_bus_sc.ikss_ka.values[:10],
[2.309401, 11.3267, 2.879343, 1.884323, 10.40083,
1.693922, 0.7107017, 0.9000445, 1.055881, 0.928488], atol=1e-5)
[2.309401, 10.73055529, 2.72779866, 1.884323, 9.8534192,
1.60476785, 0.67329634, 0.8526737, 1.00030861, 0.87962022], atol=1e-5)

assert np.allclose(net.res_bus_sc.ip_ka.values[:10],
[5.702418, 26.01655, 4.166047, 3.124163, 20.04053,
2.813883, 1.179085, 1.493293, 1.523338, 1.540432], atol=1e-5)
[5.702418, 24.64726031, 3.94678188, 3.124163, 18.98576367,
2.66578429, 1.11702772, 1.41469836, 1.44316232, 1.45935648], atol=1e-5)

assert np.allclose(net.res_bus_sc.ith_ka.values[:10],
[2.348476, 11.44622, 2.883161, 1.889675, 10.45195,
1.698768, 0.712725, 0.9026074, 1.057233, 0.9311316], atol=1e-5)
[2.348476, 10.84378991, 2.73141581, 1.889675, 9.90184777,
1.60935911, 0.67521318, 0.85510173, 1.00158882, 0.88212465], atol=1e-5)


def test_min_6_meshed_grid(meshed_grid):
Expand Down
2 changes: 1 addition & 1 deletion pandapower/test/shortcircuit/test_motor.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def test_motor_min(motor_net):
net = motor_net
calc_sc(net, case="min")
assert np.allclose(net.res_bus_sc.ikss_ka.values[:3],
[11.547005315, 0.53709235574, 0.18070949061], rtol=1e-4)
[11.54700538, 0.50921396, 0.17123864], rtol=1e-4)


def test_motor_max(motor_net):
Expand Down
22 changes: 22 additions & 0 deletions pandapower/test/shortcircuit/test_sc_single_bus.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
create_sgen
from pandapower.shortcircuit.calc_sc import calc_sc
from pandapower.test.shortcircuit.test_meshing_detection import meshed_grid
from pandapower.create import create_impedance


# @pytest.fixture
Expand Down Expand Up @@ -98,6 +99,27 @@ def test_big_gen_network_calc_sc():
assert np.isclose(net.res_line_sc.ikss_ka.at[0], 0.46221808, atol=1e-3)
assert np.isclose(net.res_line_sc.ikss_ka.at[1], 1.72233192, atol=1e-3)

def test_iec60909_on_single_branch():
cases = {
10: {
"min": [72.16878364, 49.868725],
"max": [144.337567, 81.818773]
},
6: {
"min": [72.168784, 50.761055],
"max": [144.337567, 80.016087]
}
}
for tolerance in cases.keys():
for case in cases[tolerance].keys():
net = create_empty_network()
b1 = create_bus(net, vn_kv=0.4)
b2 = create_bus(net, vn_kv=0.4)
create_ext_grid(net, b1, s_sc_max_mva=100., s_sc_min_mva=50., rx_min=1, rx_max=1)
create_impedance(net, b1, b2, 0.01, 0, 1)
calc_sc(net, case=case, lv_tol_percent=tolerance)
assert np.allclose(net.res_bus_sc.ikss_ka, cases[tolerance][case], atol=1e-3)


if __name__ == '__main__':
pytest.main([__file__, "-xs"])
10 changes: 5 additions & 5 deletions pandapower/test/shortcircuit/test_transformer.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,15 @@ def test_min_10_trafo(net_transformer):
calc_sc(net, case='min', ip=True, ith=True, lv_tol_percent=10.)
assert (abs(net.res_bus_sc.ikss_ka.at[0] - 2.309401) < 1e-5)
assert (abs(net.res_bus_sc.ikss_ka.at[1] - 2.309401) < 1e-5)
assert (abs(net.res_bus_sc.ikss_ka.at[2] - 12.912468695) < 1e-5)
assert (abs(net.res_bus_sc.ikss_ka.at[2] - 12.23286384) < 1e-5)

assert (abs(net.res_bus_sc.ip_ka.at[0] - 5.702418) < 1e-5)
assert (abs(net.res_bus_sc.ip_ka.at[1] - 5.702418) < 1e-5)
assert (abs(net.res_bus_sc.ip_ka.at[2] - 32.405489528) < 1e-5)
assert (abs(net.res_bus_sc.ip_ka.at[2] - 30.6999346054) < 1e-5)

assert (abs(net.res_bus_sc.ith_ka.at[0] - 2.348476) < 1e-5)
assert (abs(net.res_bus_sc.ith_ka.at[1] - 2.348476) < 1e-5)
assert (abs(net.res_bus_sc.ith_ka.at[2] - 13.162790807) < 1e-5)
assert (abs(net.res_bus_sc.ith_ka.at[2] - 12.470011101) < 1e-5)


def test_min_6_trafo(net_transformer):
Expand All @@ -97,10 +97,10 @@ def test_min_10_trafo_2ph(net_transformer):
net = net_transformer
calc_sc(net, fault="2ph", case='min', ip=True, ith=True, lv_tol_percent=10.)
assert (abs(net.res_bus_sc.ikss_ka.at[0] - 2.0000000702) < 1e-5)
assert (abs(net.res_bus_sc.ikss_ka.at[2] - 11.182525915) < 1e-5)
assert (abs(net.res_bus_sc.ikss_ka.at[2] - 10.593970849) < 1e-5)

assert (abs(net.res_bus_sc.ip_ka.at[0] - 4.9384391739) < 1e-5)
assert (abs(net.res_bus_sc.ip_ka.at[2] - 28.063977154) < 1e-5)
assert (abs(net.res_bus_sc.ip_ka.at[2] - 26.586923262) < 1e-5)


# assert (abs(net.res_bus_sc.ith_ka.at[0] - 2.0000000702) <1e-5)
Expand Down
Loading