Пример #1
0
def test_result_index_unsorted():
    net = pp.create_empty_network()

    b1 = pp.create_bus(net, vn_kv=0.4, index=4)
    b2 = pp.create_bus(net, vn_kv=0.4, index=2)
    b3 = pp.create_bus(net, vn_kv=0.4, index=3)

    pp.create_gen(net, b1, p_kw=-10, vm_pu=0.4)
    pp.create_load(net, b2, p_kw=10)
    pp.create_ext_grid(net, b3)

    pp.create_line(net,
                   from_bus=b1,
                   to_bus=b2,
                   length_km=0.5,
                   std_type="NAYY 4x120 SE")
    pp.create_line(net,
                   from_bus=b1,
                   to_bus=b3,
                   length_km=0.5,
                   std_type="NAYY 4x120 SE")
    net_recycle = copy.deepcopy(net)
    pp.runpp(net_recycle)
    pp.runpp(net_recycle, recycle=dict(_is_elements=True, ppc=True, Ybus=True))
    pp.runpp(net)

    assert nets_equal(net, net_recycle, tol=1e-12)
Пример #2
0
def test_pvpq_lookup():
    net = pp.create_empty_network()

    b1 = pp.create_bus(net, vn_kv=0.4, index=4)
    b2 = pp.create_bus(net, vn_kv=0.4, index=2)
    b3 = pp.create_bus(net, vn_kv=0.4, index=3)

    pp.create_gen(net, b1, p_kw=-10, vm_pu=0.4)
    pp.create_load(net, b2, p_kw=10)
    pp.create_ext_grid(net, b3)

    pp.create_line(net,
                   from_bus=b1,
                   to_bus=b2,
                   length_km=0.5,
                   std_type="NAYY 4x120 SE")
    pp.create_line(net,
                   from_bus=b1,
                   to_bus=b3,
                   length_km=0.5,
                   std_type="NAYY 4x120 SE")
    net_numba = copy.deepcopy(net)
    pp.runpp(net_numba, numba=True)
    pp.runpp(net, numba=False)

    assert nets_equal(net, net_numba)
Пример #3
0
def test_nets_equal():
    tb.logger.setLevel(40)
    original = nw.create_cigre_network_lv()
    net = copy.deepcopy(original)

    # should be equal
    assert tb.nets_equal(original, net)
    assert tb.nets_equal(net, original)

    # detecting additional element
    pp.create_bus(net, vn_kv=.4)
    assert not tb.nets_equal(original, net)
    assert not tb.nets_equal(net, original)
    net = copy.deepcopy(original)

    # detecting removed element
    net["bus"].drop(net.bus.index[0], inplace=True)
    assert not tb.nets_equal(original, net)
    assert not tb.nets_equal(net, original)
    net = copy.deepcopy(original)

    # detecting alternated value
    net["load"]["p_kw"][net["load"].index[0]] += 0.1
    assert not tb.nets_equal(original, net)
    assert not tb.nets_equal(net, original)
    net = copy.deepcopy(original)

    # detecting added column
    net["load"]["new_col"] = 0.1
    assert not tb.nets_equal(original, net)
    assert not tb.nets_equal(net, original)
    net = copy.deepcopy(original)

    # not detecting alternated value if difference is beyond tolerance
    net["load"]["p_kw"][net["load"].index[0]] += 0.0001
    assert tb.nets_equal(original, net, tol=0.1)
    assert tb.nets_equal(net, original, tol=0.1)
Пример #4
0
# Youtube Tutorial: https://www.youtube.com/watch?v=O74yw1FmmsM
import pandapower.toolbox as tb
import pandapower.networks as nw
import pandapower as pp

net = nw.create_cigre_network_mv()
pp.runpp(net)
# print some power flow information
tb.lf_info(net)

net2 = nw.create_cigre_network_mv()
net2.load.drop(index=0, inplace=True)
# check if two nets are identical. You can also only check the results
tb.nets_equal(net, net2)

# merge two power systems
net3 = tb.merge_nets(net, net2)
# drop some buses
tb.drop_buses(net, buses=[5])
# creates a continuous index in net.bus starting at 10
tb.create_continuous_bus_index(net, start=10)

# get all line elements connected to buses
els = tb.get_connected_elements(net, "line", buses=[11])
print(els)
print(net.line.loc[els])
    net2 = pp.create_empty_network(sn_kva=2e3)
    for net in [net1, net2]:
        add_test_line(net)
        add_test_trafo(net)
        add_test_load_sgen(net)
        add_test_load_sgen_split(net)
        add_test_single_load_single_eg(net)
        add_test_ward(net)
        add_test_xward(net)
        add_test_shunt_split(net)
        add_test_impedance(net)

    pp.runpp(net1)
    pp.runpp(net2)
    print(net1.res_trafo.values - net2.res_trafo.values)
    nets_equal(net1, net2)
# print(net1._ppc["branch"][:,3] / net2._ppc["branch"][:,3])

#    add_test_load_sgen(net)
#    add_test_load_sgen_split(net)
#    yield add_test_ext_grid(net)
#    yield add_test_trafo(net)
#    yield add_test_single_load_single_eg(net)
#    yield add_test_ward(net)
#    yield add_test_ward_split(net)
#    yield add_test_xward(net)
#    yield add_test_xward_combination(net)
#    yield add_test_gen(net)
#    yield add_test_ext_grid_gen_switch(net)
#    yield add_test_enforce_qlims(net)
#    yield add_test_trafo3w(net)