Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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()
Esempio n. 4
0
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