pandapower新手指南

新手指南

4 简短介绍

pandapower中的一个网络是由一个pandapowerNet对象表示的,该对象是由pandas的Dataframes的集合组成的。pandapowerNet中的每一个dataframe包含了每一个pandapower元件的信息,例如线路、负荷、变压器等等。

以一个简单的3节点示例网络作为一个小例子:

pandapower新手指南_第1张图片
3bus-system.png

4.1 创建一个网络

上面的3节点系统可以采用pandapower按下面代码生成:

import pandapower as pp


# create empty net
net = pp.create_empty_network()

# create buses
b1 = pp.create_bus(net, vn_kv=20., name="Bus 1")
b2 = pp.create_bus(net, vn_kv=.4, name="Bus 2")
b3 = pp.create_bus(net, vn_kv=.4, name="Bus 3")

# create bus elements
pp.create_ext_grid(net, bus=b1, vm_pu=1.02, name="Grid Connection")
pp.create_load(net, bus=b3, p_kw=100, q_kvar=50, name="Load")

# create branch elements
tid = pp.create_transformer(net, hv_bus=b1, lv_bus=b2, std_type="0.4 MVA 20/0.4 kV", name="Trafo")
pp.create_line(net, from_bus=b2, to_bus=b3, length_km=.1, name="Line", std_type="NAYY 4x50 SE")

net
This pandapower network includes the following parameter tables:
   - line (1 element)
   - bus (3 elements)
   - trafo (1 element)
   - ext_grid (1 element)
   - load (1 element)

需要强调的是你不用计算等效电路的任何阻抗或是分接比,pandapower内部通过变压器模型自动处理。标准类型库支持舒适地创建线路和变压器元件。

pandapower的表示形式如下:

print(net.bus)
    name  vn_kv type  zone  in_service
0  Bus 1   20.0    b  None        True
1  Bus 2    0.4    b  None        True
2  Bus 3    0.4    b  None        True
print(net.trafo)
    name           std_type  hv_bus  lv_bus  sn_kva  vn_hv_kv  vn_lv_kv  \
0  Trafo  0.4 MVA 20/0.4 kV       0       1   400.0      20.0       0.4   

   vsc_percent  vscr_percent  pfe_kw     ...      tp_mid  tp_min tp_max  \
0          6.0         1.425    1.35     ...           0      -2      2   

   tp_st_percent  tp_st_degree  tp_pos  tp_phase_shifter  parallel   df  \
0            2.5           0.0       0             False         1  1.0   

   in_service  
0        True  

[1 rows x 23 columns]
print(net.line)
   name      std_type  from_bus  to_bus  length_km  r_ohm_per_km  \
0  Line  NAYY 4x50 SE         1       2        0.1         0.642   

   x_ohm_per_km  c_nf_per_km  g_us_per_km  max_i_ka   df  parallel type  \
0         0.083        210.0          0.0     0.142  1.0         1   cs   

   in_service  
0        True  
print(net.load)
   name  bus   p_kw  q_kvar  const_z_percent  const_i_percent  sn_kva  \
0  Load    2  100.0    50.0              0.0              0.0     NaN   

   scaling  in_service  type  
0      1.0        True  None  
print(net.ext_grid)
              name  bus  vm_pu  va_degree  in_service
0  Grid Connection    0   1.02        0.0        True

4.2 运行一个电力潮流

可以采用runpp函数运行潮流计算

pp.runpp(net)

当运行一个电力潮流计算,pandapower将所有的元件信息融合到一个pypower的case文件中,并使用pypower运行电力潮流。运行结果将在被处理完后写回到pandapower。

对于三节点示例网络,运行结果如下所示:

print(net.res_bus)
      vm_pu  va_degree        p_kw     q_kvar
0  1.020000   0.000000 -107.265391 -52.675195
1  1.008843  -0.760126    0.000000   0.000000
2  0.964431   0.115859  100.000000  50.000000
print(net.res_trafo)
      p_hv_kw  q_hv_kvar     p_lv_kw  q_lv_kvar     pl_kw   ql_kvar   i_hv_ka  \
0  107.265391  52.675195 -105.392391 -50.696119  1.872999  1.979076  0.003382   

    i_lv_ka  loading_percent  
0  0.167325        29.289513  
print(net.res_line)
    p_from_kw  q_from_kvar  p_to_kw  q_to_kvar     pl_kw   ql_kvar  i_from_ka  \
0  105.392391    50.696119   -100.0      -50.0  5.392391  0.696119   0.167325   

    i_to_ka      i_ka  loading_percent  
0  0.167326  0.167326       117.835208  
print(net.res_load)
    p_kw  q_kvar
0  100.0    50.0
print(net.res_ext_grid)
         p_kw     q_kvar
0 -107.265391 -52.675195

所有其他的pandapower元件和网络分析函数(例如:最优潮流计算、状态评估和短路计算)也完全集成到表格形式的pandapower数据结构中。

你可能感兴趣的:(pandapower新手指南)