http://sites.ieee.org/pes-testfeeders/resources/
The current IEEE test cases are focused on North American style systems; however it is common outside of North America to see low-voltage distribution systems, both radial and meshed. It is important to make sure that tools support both dominant styles of distribution system configuration. This test case seeks to fill a benchmark gap by presenting a number of common low-voltage configurations. This circuit also introduces quasi-static time series simulations.
IEEE European LV network is a generic 0.416 kV network serviced by one 0.8 MVA MV/LV transformer and a 11kV external grid. The network supplies 906 LV buses and 55 single phase loads.
In the benchmark document, there are three snapshots taken from a time series data.
All the three networks have been saved into pandapower.networks We can select them using :
import pandapower as pp
import pandapower.networks as nw
net = nw.ieee_european_lv_asymmetric('on_peak_566')
LightSimBackend import error: No module named 'grid2op' PhysicalLawChecker import error: No module named 'grid2op' TimeSerie import error: cannot import name 'TimeSerie' from 'lightsim2grid.timeSerie' (C:\ProgramData\miniconda3\envs\py3.11\Lib\site-packages\lightsim2grid\timeSerie.py) ContingencyAnalysis import error: cannot import name 'ContingencyAnalysis' from 'lightsim2grid.contingencyAnalysis' (C:\ProgramData\miniconda3\envs\py3.11\Lib\site-packages\lightsim2grid\contingencyAnalysis.py) rewards import error: No module named 'grid2op'
PS:
Maximum unbalanced node 0.74% ( Black rectangle in the fig)
Max Line Loading 33.10 % ( Black line in the fig)
import pandapower.plotting as plot
import numpy as np
try:
import seaborn
colors = seaborn.color_palette()
except:
colors = ["b", "g", "r", "c", "y"]
%matplotlib inline
sizes = plot.get_collection_sizes(net)
# Plot all the buses
bc = plot.create_bus_collection(net, net.bus.index, size=sizes['bus'], color=colors[0], zorder=10)
#Plot Transformers
tlc, tpc = plot.create_trafo_collection(net, net.trafo.index, color="g", size=sizes['trafo'])
# Plot all the lines
lcd = plot.create_line_collection(net, net.line.index, color="grey", linewidths=0.1, use_bus_geodata=True)
# Plot the external grid
sc = plot.create_ext_grid_collection(net, ext_grid_buses=net.ext_grid.bus.values, size=sizes['ext_grid'], color="c", zorder=11)
#Plot all the loads
ldA = plot.create_bus_collection(net, net.asymmetric_load.bus.values[np.where(net.asymmetric_load.p_a_mw >0)], patch_type="poly3", size=sizes['bus'], color="r", zorder=11)
ldB = plot.create_bus_collection(net, net.asymmetric_load.bus.values[np.where(net.asymmetric_load.p_b_mw >0)], patch_type="rect", size=sizes['bus'], color="y", zorder=11)
ldC = plot.create_bus_collection(net, net.asymmetric_load.bus.values[np.where(net.asymmetric_load.p_c_mw >0)], patch_type="circle", size=sizes['bus'], color="b", zorder=11)
# Plot the max. loaded line and max. unbalanced node
max_load = plot.create_line_collection(net, np.array([net.res_line_3ph.loading_percent.idxmax()]), color="black", linewidths=15, use_bus_geodata=True)
max_unbal = plot.create_bus_collection(net, np.array([net.res_bus_3ph.unbalance_percent.idxmax()]), patch_type="rect", size=sizes['bus'], color="black", zorder=11)
# Draw all the collected plots
plot.draw_collections([lcd, bc, tlc, tpc, sc,ldA,ldB,ldC,max_load,max_unbal], figsize=(20,20))
The number of given colors (1) is smaller than the number of nodes (907) to draw! The colors will be repeated to fit.
<Axes: >
Max loaded line and most unbalanced load has been marked in black in the plot.
The exact values are provided below:
net.res_bus_3ph.unbalance_percent.max()
0.731202438137132
net.res_line_3ph.loading_percent.max()
33.20121091665931