def test_create_and_load_std_type_line(): net = pp.create_empty_network() c = 40 r = 0.01 x = 0.02 i = 0.2 name = "test_line" typdata = {} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="line") typdata = {"c_nf_per_km": c} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="line") typdata = {"c_nf_per_km": c, "r_ohm_per_km": r} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="line") typdata = {"c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="line") typdata = { "c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x, "max_i_ka": i } pp.create_std_type(net, name=name, data=typdata, element="line") assert net.std_types["line"][name] == typdata loaded_type = pp.load_std_type(net, name) assert loaded_type == typdata
def test_create_and_load_std_type_trafo3w(): net = pp.create_empty_network() sn_hv_kva = 40; sn_mv_kva = 20; sn_lv_kva = 20 vn_hv_kv = 110; vn_mv_kv = 50; vn_lv_kv = 20 vsc_hv_percent = 5.; vsc_mv_percent = 5.; vsc_lv_percent = 5. vscr_hv_percent = 2.; vscr_mv_percent = 2.; vscr_lv_percent = 2. pfe_kw=50 i0_percent = 0.1 shift_mv_degree = 30; shift_lv_degree = 30 name = "test_trafo3w" typdata = {"sn_hv_kva": sn_hv_kva} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="trafo3w") typdata = {"sn_mv_kva": sn_mv_kva, "vn_hv_kv": vn_hv_kv} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="trafo3w") typdata = {"sn_lv_kva": sn_lv_kva, "vn_mv_kv": vn_mv_kv, "vn_lv_kv": vn_lv_kv} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="trafo3w") typdata = {"sn_mv_kva": sn_mv_kva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vsc_hv_percent": vsc_hv_percent} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="trafo3w") typdata = {"sn_hv_kva": sn_hv_kva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vsc_mv_percent": vsc_mv_percent, "vscr_hv_percent": vscr_hv_percent} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="trafo3w") typdata = {"sn_hv_kva": sn_hv_kva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vsc_lv_percent": vsc_lv_percent, "vscr_mv_percent": vscr_mv_percent, "pfe_kw": pfe_kw} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="trafo3w") typdata = {"sn_hv_kva": sn_hv_kva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vsc_hv_percent": vsc_hv_percent, "vscr_lv_percent": vscr_lv_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="trafo3w") typdata = {"sn_hv_kva": sn_hv_kva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vsc_hv_percent": vsc_hv_percent, "vscr_hv_percent": vscr_hv_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, "shift_mv_degree": shift_mv_degree} with pytest.raises(UserWarning): pp.create_std_type(net, name=name, data=typdata, element="trafo3w") typdata = {"vn_hv_kv": vn_hv_kv, "vn_mv_kv": vn_mv_kv, "vn_lv_kv": vn_lv_kv, "sn_hv_kva": sn_hv_kva, "sn_mv_kva": sn_mv_kva, "sn_lv_kva": sn_lv_kva, "vsc_hv_percent": vsc_hv_percent, "vsc_mv_percent": vsc_mv_percent, "vsc_lv_percent": vsc_lv_percent, "vscr_hv_percent": vscr_hv_percent, "vscr_mv_percent": vscr_mv_percent, "vscr_lv_percent": vscr_lv_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, "shift_mv_degree":shift_mv_degree, "shift_lv_degree": shift_lv_degree} pp.create_std_type(net, name=name, data=typdata, element="trafo3w") assert net.std_types["trafo3w"][name] == typdata loaded_type = pp.load_std_type(net, name, element="trafo3w") assert loaded_type == typdata
def test_tap_phase_shifter_default(): expected_default = False net = pp.create_empty_network() pp.create_bus(net, 110) pp.create_bus(net, 20) data = pp.load_std_type(net, "25 MVA 110/20 kV", "trafo") if "tap_phase_shifter" in data: del data["tap_phase_shifter"] pp.create_std_type(net, data, "without_tap_shifter_info", "trafo") pp.create_transformer_from_parameters(net, 0, 1, 25e3, 110, 20, 0.4, 12, 20, 0.07) pp.create_transformer(net, 0, 1, "without_tap_shifter_info") assert (net.trafo.tap_phase_shifter == expected_default).all()
def add_network(net, vector_group): b1 = pp.create_bus(net, 110, zone=vector_group, index=pp.get_free_id(net.bus)) b2 = pp.create_bus(net, 20, zone=vector_group) pp.create_bus(net, 20, in_service=False) b3 = pp.create_bus(net, 20, zone=vector_group) b4 = pp.create_bus(net, 20, zone=vector_group) pp.create_bus(net, 20) pp.create_ext_grid(net, b1, s_sc_max_mva=100, s_sc_min_mva=80, rx_min=0.20, rx_max=0.35) net.ext_grid["r0x0_max"] = 0.4 net.ext_grid["x0x_max"] = 1.0 pp.create_std_type( net, { "r_ohm_per_km": 0.122, "x_ohm_per_km": 0.112, "c_nf_per_km": 304, "max_i_ka": 0.421, "endtemp_degree": 70.0, "r0_ohm_per_km": 0.244, "x0_ohm_per_km": 0.336, "c0_nf_per_km": 2000 }, "unsymmetric_line_type") l1 = pp.create_line(net, b2, b3, length_km=10, std_type="unsymmetric_line_type", index=pp.get_free_id(net.line) + 1) l2 = pp.create_line(net, b3, b4, length_km=15, std_type="unsymmetric_line_type") pp.create_line(net, b3, b4, length_km=15, std_type="unsymmetric_line_type", in_service=False) transformer_type = copy.copy( pp.load_std_type(net, "25 MVA 110/20 kV v1.4.3 and older", "trafo")) transformer_type.update({ "vsc0_percent": 5, "vscr0_percent": 0.4, "mag0_percent": 10, "mag0_rx": 0.4, "mag0_rx": 0.4, "si0_hv_partial": 0.9, "vector_group": vector_group }) pp.create_std_type(net, transformer_type, vector_group, "trafo") t1 = pp.create_transformer(net, b1, b2, std_type=vector_group, parallel=2, index=pp.get_free_id(net.trafo) + 1) pp.create_transformer(net, b1, b2, std_type=vector_group, in_service=False) pp.add_zero_impedance_parameters(net) return l1, l2, t1