diff --git a/Siobhan_scratch_testing.ipynb b/Siobhan_scratch_testing.ipynb
index cbb0fea..dc75704 100644
--- a/Siobhan_scratch_testing.ipynb
+++ b/Siobhan_scratch_testing.ipynb
@@ -2,17 +2,5079 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
- "from config import get_config\n",
- "from pp_network import NetModel\n",
+ "from virtual_microgrids.configs import get_config\n",
+ "from virtual_microgrids.powerflow.pp_network import NetModel\n",
"from pandapower.plotting.plotly import simple_plotly\n",
"import pandapower as pp\n",
"import numpy as np"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Storage applied on nodes: [10 22 9 20 24 19]\n",
+ "No loads or generation added to network\n"
+ ]
+ }
+ ],
+ "source": [
+ "config = get_config('rural_1', algorithm='DDPG') # 'Six_Bus_MVP2', algorithm='DDPG')\n",
+ "env = NetModel(config=config)\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "There are no Power Flow results. A Newton-Raphson power flow will be executed.\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "init_flow: -10.0 at bus: 3\n",
+ "init_flow: -10.5 at bus: 6\n",
+ "init_flow: 10.5 at bus: 4\n",
+ "init_flow: 10.0 at bus: 7\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "No or insufficient geodata available --> Creating artificial coordinates. This may take some time\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/vnd.plotly.v1+html": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "linkText": "Export to plot.ly",
+ "plotlyServerURL": "https://plot.ly",
+ "showLink": false
+ },
+ "data": [
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,127.5)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "line0
I = 0.052 %
I_from = 0.0 kA
I_to = 0.0 kA
",
+ "type": "scatter",
+ "uid": "31761870-e982-4c7d-a4c5-6a138e6e71dd",
+ "x": [
+ 0,
+ 0,
+ 0
+ ],
+ "y": [
+ 0,
+ 0.5,
+ 1
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,132.04545454545453)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "line1
I = 0.534 %
I_from = 0.001 kA
I_to = 0.001 kA
",
+ "type": "scatter",
+ "uid": "a8a70f49-7c10-419b-a036-d912490cfba3",
+ "x": [
+ 0,
+ -0.5,
+ -1
+ ],
+ "y": [
+ 1,
+ 1.5,
+ 2
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,241.13636363636363)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "line2
I = 10.153 %
I_from = 0.014 kA
I_to = 0.014 kA
",
+ "type": "scatter",
+ "uid": "07d8773a-a15c-4616-8ff1-c92c693e10e2",
+ "x": [
+ -1,
+ -1.25,
+ -1.5
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,250.22727272727272)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "line3
I = 10.687 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "type": "scatter",
+ "uid": "4bc4b678-3a71-42e7-a30d-08059bd17df3",
+ "x": [
+ -1,
+ -0.75,
+ -0.5
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,132.04545454545453)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "line4
I = 0.482 %
I_from = 0.001 kA
I_to = 0.001 kA
",
+ "type": "scatter",
+ "uid": "9cb53051-b516-404e-855e-f0b4ef845b4f",
+ "x": [
+ 0,
+ 0.5,
+ 1
+ ],
+ "y": [
+ 1,
+ 1.5,
+ 2
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,250.22727272727272)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "line5
I = 10.659 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "type": "scatter",
+ "uid": "e6a0636b-cf63-41f9-b6bf-1c362cea83c7",
+ "x": [
+ 1,
+ 0.75,
+ 0.5
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,245.68181818181816)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "line6
I = 10.176 %
I_from = 0.014 kA
I_to = 0.014 kA
",
+ "type": "scatter",
+ "uid": "5b1b8dca-88e4-44e1-8e31-e401413e1da3",
+ "x": [
+ 1,
+ 1.25,
+ 1.5
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "marker": {
+ "cmax": 100,
+ "cmin": 0.051695437689854205,
+ "color": "rgb(255,255,255)",
+ "colorbar": {
+ "thickness": 10,
+ "title": {
+ "text": "Line Loading [%]"
+ },
+ "x": 1.1
+ },
+ "colorscale": "Jet",
+ "size": 0
+ },
+ "mode": "markers",
+ "type": "scatter",
+ "uid": "44f226d9-bf47-4e7d-8b43-159c53d9fdb3",
+ "x": [
+ 0
+ ],
+ "y": [
+ 0
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "marker": {
+ "color": "rgb(128, 128, 128)",
+ "size": 1,
+ "symbol": "circle"
+ },
+ "mode": "markers",
+ "name": "edge_center",
+ "text": [
+ "line0
I = 0.052 %
I_from = 0.0 kA
I_to = 0.0 kA
",
+ "line1
I = 0.534 %
I_from = 0.001 kA
I_to = 0.001 kA
",
+ "line2
I = 10.153 %
I_from = 0.014 kA
I_to = 0.014 kA
",
+ "line3
I = 10.687 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "line4
I = 0.482 %
I_from = 0.001 kA
I_to = 0.001 kA
",
+ "line5
I = 10.659 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "line6
I = 10.176 %
I_from = 0.014 kA
I_to = 0.014 kA
"
+ ],
+ "type": "scatter",
+ "uid": "e7e47ffa-0a0c-4f65-b54c-4869b13a0e01",
+ "x": [
+ 0
+ ],
+ "y": [
+ 0.5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "marker": {
+ "color": "rgb(128, 128, 128)",
+ "size": 20,
+ "symbol": "square"
+ },
+ "mode": "markers",
+ "name": "external_grid",
+ "text": [
+ "bus0"
+ ],
+ "type": "scatter",
+ "uid": "ad64bbfd-e947-4321-b5e6-9ae2e8d2684f",
+ "x": [
+ 0
+ ],
+ "y": [
+ 0
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "marker": {
+ "cmax": 1.1,
+ "cmin": 0.9,
+ "color": [
+ 1,
+ 1.0000000004901675,
+ 0.9999367253044263,
+ 1.0011390965643445,
+ 0.998671095487345,
+ 1.000057102917361,
+ 1.001319364677862,
+ 0.9988519601956316
+ ],
+ "colorbar": {
+ "thickness": 10,
+ "title": {
+ "text": "Bus Voltage [pu]"
+ },
+ "x": 1
+ },
+ "colorscale": "Jet",
+ "size": 10,
+ "symbol": "circle"
+ },
+ "mode": "markers",
+ "name": "buses",
+ "text": [
+ "bus0
V_m = 1.0 pu
V_m = 20.0 kV
V_a = 0.0 deg",
+ "bus1
V_m = 1.0 pu
V_m = 0.4 kV
V_a = -0.0 deg",
+ "bus2
V_m = 1.0 pu
V_m = 0.4 kV
V_a = -0.0 deg",
+ "bus3
V_m = 1.001 pu
V_m = 0.4 kV
V_a = 0.008 deg",
+ "bus4
V_m = 0.999 pu
V_m = 0.399 kV
V_a = -0.01 deg",
+ "bus5
V_m = 1.0 pu
V_m = 0.4 kV
V_a = 0.0 deg",
+ "bus6
V_m = 1.001 pu
V_m = 0.401 kV
V_a = 0.01 deg",
+ "bus7
V_m = 0.999 pu
V_m = 0.4 kV
V_a = -0.008 deg"
+ ],
+ "type": "scatter",
+ "uid": "fe8385e7-cea4-46f9-a259-e8075e711aae",
+ "x": [
+ 0,
+ 0,
+ -1,
+ -1.5,
+ -0.5,
+ 1,
+ 0.5,
+ 1.5
+ ],
+ "y": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 3,
+ 2,
+ 3,
+ 3
+ ]
+ }
+ ],
+ "layout": {
+ "autosize": true,
+ "height": 700,
+ "hovermode": "closest",
+ "margin": {
+ "b": 5,
+ "l": 5,
+ "r": 5,
+ "t": 5
+ },
+ "showlegend": false,
+ "title": {
+ "font": {
+ "size": 16
+ }
+ },
+ "width": 700,
+ "xaxis": {
+ "showgrid": false,
+ "showticklabels": false,
+ "zeroline": false
+ },
+ "yaxis": {
+ "showgrid": false,
+ "showticklabels": false,
+ "zeroline": false
+ }
+ }
+ },
+ "text/html": [
+ "
"
+ ],
+ "text/vnd.plotly.v1+html": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "config = get_config('Six_Bus_MVP2', algorithm='DDPG')\n",
+ "env = NetModel(config=config)\n",
+ "pp.plotting.plotly.pf_res_plotly(env.net)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "config = get_config('rural_1', algorithm='DDPG') # 'Six_Bus_MVP2', algorithm='DDPG')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{3: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 8: array([-6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9]),\n",
+ " 9: array([-15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3]),\n",
+ " 10: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 11: array([-29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6]),\n",
+ " 19: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 20: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 21: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 22: array([-15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8]),\n",
+ " 23: array([-25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3]),\n",
+ " 24: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 25: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 7: array([7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9]),\n",
+ " 13: array([7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9])}"
+ ]
+ },
+ "execution_count": 27,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "config.static_feeds"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "config.static_feeds_new"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "No loads or generation added to network\n"
+ ]
+ }
+ ],
+ "source": [
+ "env = NetModel(config=config)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "env.config.static_feeds_new"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " name | \n",
+ " bus | \n",
+ " p_kw | \n",
+ " q_kvar | \n",
+ " const_z_percent | \n",
+ " const_i_percent | \n",
+ " sn_kva | \n",
+ " scaling | \n",
+ " in_service | \n",
+ " type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " None | \n",
+ " 3 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " None | \n",
+ " 8 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " None | \n",
+ " 9 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " None | \n",
+ " 10 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " None | \n",
+ " 11 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " None | \n",
+ " 19 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " None | \n",
+ " 20 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " None | \n",
+ " 21 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " None | \n",
+ " 22 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " None | \n",
+ " 23 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " None | \n",
+ " 24 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " None | \n",
+ " 25 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " None | \n",
+ " 7 | \n",
+ " 7.9 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " None | \n",
+ " 13 | \n",
+ " 7.9 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " name bus p_kw q_kvar const_z_percent const_i_percent sn_kva \\\n",
+ "0 None 3 5.1 0 0.0 0.0 NaN \n",
+ "1 None 8 5.1 0 0.0 0.0 NaN \n",
+ "2 None 9 5.1 0 0.0 0.0 NaN \n",
+ "3 None 10 5.1 0 0.0 0.0 NaN \n",
+ "4 None 11 5.1 0 0.0 0.0 NaN \n",
+ "5 None 19 5.1 0 0.0 0.0 NaN \n",
+ "6 None 20 5.1 0 0.0 0.0 NaN \n",
+ "7 None 21 5.1 0 0.0 0.0 NaN \n",
+ "8 None 22 5.1 0 0.0 0.0 NaN \n",
+ "9 None 23 5.1 0 0.0 0.0 NaN \n",
+ "10 None 24 5.1 0 0.0 0.0 NaN \n",
+ "11 None 25 5.1 0 0.0 0.0 NaN \n",
+ "12 None 7 7.9 0 0.0 0.0 NaN \n",
+ "13 None 13 7.9 0 0.0 0.0 NaN \n",
+ "\n",
+ " scaling in_service type \n",
+ "0 1.0 True None \n",
+ "1 1.0 True None \n",
+ "2 1.0 True None \n",
+ "3 1.0 True None \n",
+ "4 1.0 True None \n",
+ "5 1.0 True None \n",
+ "6 1.0 True None \n",
+ "7 1.0 True None \n",
+ "8 1.0 True None \n",
+ "9 1.0 True None \n",
+ "10 1.0 True None \n",
+ "11 1.0 True None \n",
+ "12 1.0 True None \n",
+ "13 1.0 True None "
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "env.net.load"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "abc = {5: {0: [-2, -2, -2], 1: [3, 3, 3]}, 3: {0: [0,0,0]}}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "abc = {}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "for bus1, thing1 in abc.items():\n",
+ "# print(bus1)\n",
+ "# print(thing1)\n",
+ " for bus2, thing2 in thing1.items():\n",
+ " print(bus2)\n",
+ " print(thing2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "abc = {}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "abc.update({5: {0: [-2, -2, -2]}})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 61,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Yes\n"
+ ]
+ }
+ ],
+ "source": [
+ "if 5 in abc:\n",
+ " print('Yes')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{5: {0: [-2, -2, -2]}}"
+ ]
+ },
+ "execution_count": 62,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "abc"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 63,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "if 5 in abc:\n",
+ " abc[5].update({1: [0, 0, 0]})\n",
+ "else:\n",
+ " abc.update({5: {1: [0, 0, 0]}})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{5: {0: [-2, -2, -2], 1: [0, 0, 0]}}"
+ ]
+ },
+ "execution_count": 66,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "abc"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Yes\n"
+ ]
+ }
+ ],
+ "source": [
+ "if isinstance(abc, dict):\n",
+ " print('Yes')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "This pandapower network includes the following parameter tables:\n",
+ " - bus (26 elements)\n",
+ " - load (14 elements)\n",
+ " - sgen (5 elements)\n",
+ " - storage (6 elements)\n",
+ " - ext_grid (1 element)\n",
+ " - line (24 elements)\n",
+ " - trafo (1 element)\n",
+ " - bus_geodata (26 elements)"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "env.net"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 70,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " name | \n",
+ " std_type | \n",
+ " from_bus | \n",
+ " to_bus | \n",
+ " length_km | \n",
+ " r_ohm_per_km | \n",
+ " x_ohm_per_km | \n",
+ " c_nf_per_km | \n",
+ " g_us_per_km | \n",
+ " max_i_ka | \n",
+ " df | \n",
+ " parallel | \n",
+ " type | \n",
+ " in_service | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0.260 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 0.133 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 0.133 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 0.133 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 0.133 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 4 | \n",
+ " 8 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 5 | \n",
+ " 9 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 6 | \n",
+ " 10 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 7 | \n",
+ " 11 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 1 | \n",
+ " 12 | \n",
+ " 0.068 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 0.068 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 0.068 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 0.068 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 0.068 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " None | \n",
+ " NAYY 4x120 SE | \n",
+ " 16 | \n",
+ " 17 | \n",
+ " 0.068 | \n",
+ " 0.225 | \n",
+ " 0.080 | \n",
+ " 264.0 | \n",
+ " 0.0 | \n",
+ " 0.242 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " None | \n",
+ " NAYY 4x120 SE | \n",
+ " 17 | \n",
+ " 18 | \n",
+ " 0.068 | \n",
+ " 0.225 | \n",
+ " 0.080 | \n",
+ " 264.0 | \n",
+ " 0.0 | \n",
+ " 0.242 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 12 | \n",
+ " 19 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 13 | \n",
+ " 20 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 14 | \n",
+ " 21 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 15 | \n",
+ " 22 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 16 | \n",
+ " 23 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 17 | \n",
+ " 24 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 23 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 18 | \n",
+ " 25 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " name std_type from_bus to_bus length_km r_ohm_per_km \\\n",
+ "0 None NAYY 4x150 SE 1 2 0.260 0.208 \n",
+ "1 None NAYY 4x50 SE 2 3 0.029 0.642 \n",
+ "2 None NAYY 4x150 SE 1 4 0.133 0.208 \n",
+ "3 None NAYY 4x150 SE 4 5 0.133 0.208 \n",
+ "4 None NAYY 4x150 SE 5 6 0.133 0.208 \n",
+ "5 None NAYY 4x150 SE 6 7 0.133 0.208 \n",
+ "6 None NAYY 4x50 SE 4 8 0.029 0.642 \n",
+ "7 None NAYY 4x50 SE 5 9 0.029 0.642 \n",
+ "8 None NAYY 4x50 SE 6 10 0.029 0.642 \n",
+ "9 None NAYY 4x50 SE 7 11 0.029 0.642 \n",
+ "10 None NAYY 4x150 SE 1 12 0.068 0.208 \n",
+ "11 None NAYY 4x150 SE 12 13 0.068 0.208 \n",
+ "12 None NAYY 4x150 SE 13 14 0.068 0.208 \n",
+ "13 None NAYY 4x150 SE 14 15 0.068 0.208 \n",
+ "14 None NAYY 4x150 SE 15 16 0.068 0.208 \n",
+ "15 None NAYY 4x120 SE 16 17 0.068 0.225 \n",
+ "16 None NAYY 4x120 SE 17 18 0.068 0.225 \n",
+ "17 None NAYY 4x50 SE 12 19 0.029 0.642 \n",
+ "18 None NAYY 4x50 SE 13 20 0.029 0.642 \n",
+ "19 None NAYY 4x50 SE 14 21 0.029 0.642 \n",
+ "20 None NAYY 4x50 SE 15 22 0.029 0.642 \n",
+ "21 None NAYY 4x50 SE 16 23 0.029 0.642 \n",
+ "22 None NAYY 4x50 SE 17 24 0.029 0.642 \n",
+ "23 None NAYY 4x50 SE 18 25 0.029 0.642 \n",
+ "\n",
+ " x_ohm_per_km c_nf_per_km g_us_per_km max_i_ka df parallel type \\\n",
+ "0 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "1 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "2 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "3 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "4 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "5 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "6 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "7 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "8 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "9 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "10 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "11 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "12 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "13 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "14 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "15 0.080 264.0 0.0 0.242 1.0 1 cs \n",
+ "16 0.080 264.0 0.0 0.242 1.0 1 cs \n",
+ "17 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "18 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "19 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "20 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "21 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "22 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "23 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "\n",
+ " in_service \n",
+ "0 True \n",
+ "1 True \n",
+ "2 True \n",
+ "3 True \n",
+ "4 True \n",
+ "5 True \n",
+ "6 True \n",
+ "7 True \n",
+ "8 True \n",
+ "9 True \n",
+ "10 True \n",
+ "11 True \n",
+ "12 True \n",
+ "13 True \n",
+ "14 True \n",
+ "15 True \n",
+ "16 True \n",
+ "17 True \n",
+ "18 True \n",
+ "19 True \n",
+ "20 True \n",
+ "21 True \n",
+ "22 True \n",
+ "23 True "
+ ]
+ },
+ "execution_count": 70,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "env.net.line"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 71,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " name | \n",
+ " bus | \n",
+ " p_kw | \n",
+ " q_kvar | \n",
+ " sn_kva | \n",
+ " scaling | \n",
+ " in_service | \n",
+ " type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " None | \n",
+ " 8 | \n",
+ " -6.9 | \n",
+ " 0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " None | \n",
+ " 9 | \n",
+ " -15.3 | \n",
+ " 0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " None | \n",
+ " 11 | \n",
+ " -29.6 | \n",
+ " 0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " None | \n",
+ " 22 | \n",
+ " -15.8 | \n",
+ " 0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " None | \n",
+ " 23 | \n",
+ " -25.3 | \n",
+ " 0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " name bus p_kw q_kvar sn_kva scaling in_service type\n",
+ "0 None 8 -6.9 0 NaN 1.0 True None\n",
+ "1 None 9 -15.3 0 NaN 1.0 True None\n",
+ "2 None 11 -29.6 0 NaN 1.0 True None\n",
+ "3 None 22 -15.8 0 NaN 1.0 True None\n",
+ "4 None 23 -25.3 0 NaN 1.0 True None"
+ ]
+ },
+ "execution_count": 71,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "env.net.sgen"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "There are no Power Flow results. A Newton-Raphson power flow will be executed.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/vnd.plotly.v1+html": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "linkText": "Export to plot.ly",
+ "plotlyServerURL": "https://plot.ly",
+ "showLink": false
+ },
+ "data": [
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,154.77272727272728)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 2.73 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "0fe92d57-6626-4de1-b1d5-eece88fcbd2a",
+ "x": [
+ 0,
+ -0.83333333335,
+ -1.6666666667
+ ],
+ "y": [
+ 1,
+ 1.5,
+ 2
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.191 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "073b00ec-f27a-4f98-b1d9-cd86042f9e03",
+ "x": [
+ -1.6666666667,
+ -1.6666666667,
+ -1.6666666667
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,255.0)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 12.38 %
I_from = 0.033 kA
I_to = 0.033 kA
",
+ "type": "scatter",
+ "uid": "387dc7f9-676b-431e-ba14-486086035585",
+ "x": [
+ 0,
+ -0.08333333335,
+ -0.1666666667
+ ],
+ "y": [
+ 1,
+ 1.5,
+ 2
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,255.0)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 11.422 %
I_from = 0.031 kA
I_to = 0.031 kA
",
+ "type": "scatter",
+ "uid": "b4a524dc-c6fd-4dd9-ae73-a476daf68cbe",
+ "x": [
+ -0.1666666667,
+ -0.4166666667,
+ -0.6666666667000001
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,195.68181818181816)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 6.022 %
I_from = 0.016 kA
I_to = 0.016 kA
",
+ "type": "scatter",
+ "uid": "376823cc-5e44-4601-af48-323f36a3312e",
+ "x": [
+ -0.6666666667000001,
+ -0.9166666667000001,
+ -1.1666666667
+ ],
+ "y": [
+ 3,
+ 3.5,
+ 4
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,227.49999999999997)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 8.722 %
I_from = 0.024 kA
I_to = 0.024 kA
",
+ "type": "scatter",
+ "uid": "714a3fa8-859a-4a6e-a9c5-8179d0b6312d",
+ "x": [
+ -1.1666666667,
+ -1.4166666667,
+ -1.6666666667
+ ],
+ "y": [
+ 4,
+ 4.5,
+ 5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,145.6818181818182)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 1.82 %
I_from = 0.003 kA
I_to = 0.003 kA
",
+ "type": "scatter",
+ "uid": "115f65c9-e871-4126-b149-e9f601f4f212",
+ "x": [
+ -0.1666666667,
+ 0.08333333330000002,
+ 0.33333333330000003
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,245.68181818181816)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 10.268 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "type": "scatter",
+ "uid": "e0b35b43-a5bf-4da1-999b-d2cb56c691fc",
+ "x": [
+ -0.6666666667000001,
+ -0.4166666667,
+ -0.1666666667
+ ],
+ "y": [
+ 3,
+ 3.5,
+ 4
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.133 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "943279bf-6c41-463c-9648-986bd496a528",
+ "x": [
+ -1.1666666667,
+ -0.9166666667000001,
+ -0.6666666667000001
+ ],
+ "y": [
+ 4,
+ 4.5,
+ 5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,120.5,255.0)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 24.508 %
I_from = 0.035 kA
I_to = 0.035 kA
",
+ "type": "scatter",
+ "uid": "d1d25359-fa9c-4879-b7bf-b22614c075be",
+ "x": [
+ -1.6666666667,
+ -1.6666666667,
+ -1.6666666667
+ ],
+ "y": [
+ 5,
+ 5.5,
+ 6
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,141.13636363636363)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 1.418 %
I_from = 0.004 kA
I_to = 0.004 kA
",
+ "type": "scatter",
+ "uid": "8edec86f-45df-4ecc-8f3e-87bde434a193",
+ "x": [
+ 0,
+ 0.9166666666500001,
+ 1.8333333333000001
+ ],
+ "y": [
+ 1,
+ 1.5,
+ 2
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,141.13636363636363)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 1.308 %
I_from = 0.004 kA
I_to = 0.004 kA
",
+ "type": "scatter",
+ "uid": "958dd8f7-0dd5-45d1-af1d-07a5d86a9454",
+ "x": [
+ 1.8333333333000001,
+ 1.5833333333000001,
+ 1.3333333333000001
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,222.95454545454544)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 8.253 %
I_from = 0.022 kA
I_to = 0.022 kA
",
+ "type": "scatter",
+ "uid": "b3769cb6-aba5-4826-b968-f930a73a705c",
+ "x": [
+ 1.3333333333000001,
+ 1.0833333333000001,
+ 0.8333333333
+ ],
+ "y": [
+ 3,
+ 3.5,
+ 4
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,254.77272727272725)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 10.975 %
I_from = 0.03 kA
I_to = 0.03 kA
",
+ "type": "scatter",
+ "uid": "bc56256a-29ac-4be4-9154-584f748531d7",
+ "x": [
+ 0.8333333333,
+ 0.5833333333,
+ 0.33333333330000003
+ ],
+ "y": [
+ 4,
+ 4.5,
+ 5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.285 %
I_from = 0.014 kA
I_to = 0.014 kA
",
+ "type": "scatter",
+ "uid": "c53a715a-7ac7-4a2e-b8d6-cc77f1244256",
+ "x": [
+ 0.33333333330000003,
+ 0.08333333330000002,
+ -0.1666666667
+ ],
+ "y": [
+ 5,
+ 5.5,
+ 6
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,195.68181818181816)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 6.065 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "type": "scatter",
+ "uid": "a200ecfe-5b79-47a1-b6fa-749cc8276a60",
+ "x": [
+ -0.1666666667,
+ -0.4166666667,
+ -0.6666666667000001
+ ],
+ "y": [
+ 6,
+ 6.5,
+ 7
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,159.3181818181818)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 3.033 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "69c40b20-4734-4bb6-a524-1d9f46994f21",
+ "x": [
+ -0.6666666667000001,
+ -0.9166666667000001,
+ -1.1666666667
+ ],
+ "y": [
+ 7,
+ 7.5,
+ 8
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.184 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "946ea17f-8e22-47be-811c-ec6cbb3c1987",
+ "x": [
+ 1.8333333333000001,
+ 2.0833333333,
+ 2.3333333333
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.183 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "5e669303-a9e0-4d5e-b000-0a268d6eb684",
+ "x": [
+ 1.3333333333000001,
+ 1.5833333333000001,
+ 1.8333333333000001
+ ],
+ "y": [
+ 3,
+ 3.5,
+ 4
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.176 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "70450064-daa7-4935-b242-4c188225a75c",
+ "x": [
+ 0.8333333333,
+ 1.0833333333000001,
+ 1.3333333333000001
+ ],
+ "y": [
+ 4,
+ 4.5,
+ 5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,250.22727272727272)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 10.819 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "type": "scatter",
+ "uid": "f25983df-f8e0-4567-b698-2c02e6c13d78",
+ "x": [
+ 0.33333333330000003,
+ 0.5833333333,
+ 0.8333333333
+ ],
+ "y": [
+ 5,
+ 5.5,
+ 6
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,80.5,255.0)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 20.385 %
I_from = 0.029 kA
I_to = 0.029 kA
",
+ "type": "scatter",
+ "uid": "a717595c-4031-4dc3-98db-e44b69425d39",
+ "x": [
+ -0.1666666667,
+ 0.08333333330000002,
+ 0.33333333330000003
+ ],
+ "y": [
+ 6,
+ 6.5,
+ 7
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.167 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "65c8d8e0-da3f-467d-b15c-4bd959da28a8",
+ "x": [
+ -0.6666666667000001,
+ -0.4166666667,
+ -0.1666666667
+ ],
+ "y": [
+ 7,
+ 7.5,
+ 8
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.169 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "c634e587-88eb-4791-bd6d-c674570134e9",
+ "x": [
+ -1.1666666667,
+ -1.1666666667,
+ -1.1666666667
+ ],
+ "y": [
+ 8,
+ 8.5,
+ 9
+ ]
+ },
+ {
+ "marker": {
+ "cmax": 100,
+ "cmin": 1.308007025069575,
+ "color": "rgb(255,255,255)",
+ "colorbar": {
+ "thickness": 10,
+ "title": {
+ "text": "Line Loading [%]"
+ },
+ "x": 1.1
+ },
+ "colorscale": "Jet",
+ "size": 0
+ },
+ "mode": "markers",
+ "type": "scatter",
+ "uid": "ae5d790a-ec27-4e05-8880-3d48d082a497",
+ "x": [
+ 0
+ ],
+ "y": [
+ 0
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "marker": {
+ "color": "rgb(128, 128, 128)",
+ "size": 1,
+ "symbol": "circle"
+ },
+ "mode": "markers",
+ "name": "edge_center",
+ "text": [
+ "None
I = 2.73 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 5.191 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 12.38 %
I_from = 0.033 kA
I_to = 0.033 kA
",
+ "None
I = 11.422 %
I_from = 0.031 kA
I_to = 0.031 kA
",
+ "None
I = 6.022 %
I_from = 0.016 kA
I_to = 0.016 kA
",
+ "None
I = 8.722 %
I_from = 0.024 kA
I_to = 0.024 kA
",
+ "None
I = 1.82 %
I_from = 0.003 kA
I_to = 0.003 kA
",
+ "None
I = 10.268 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "None
I = 5.133 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 24.508 %
I_from = 0.035 kA
I_to = 0.035 kA
",
+ "None
I = 1.418 %
I_from = 0.004 kA
I_to = 0.004 kA
",
+ "None
I = 1.308 %
I_from = 0.004 kA
I_to = 0.004 kA
",
+ "None
I = 8.253 %
I_from = 0.022 kA
I_to = 0.022 kA
",
+ "None
I = 10.975 %
I_from = 0.03 kA
I_to = 0.03 kA
",
+ "None
I = 5.285 %
I_from = 0.014 kA
I_to = 0.014 kA
",
+ "None
I = 6.065 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "None
I = 3.033 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 5.184 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 5.183 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 5.176 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 10.819 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "None
I = 20.385 %
I_from = 0.029 kA
I_to = 0.029 kA
",
+ "None
I = 5.167 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 5.169 %
I_from = 0.007 kA
I_to = 0.007 kA
"
+ ],
+ "type": "scatter",
+ "uid": "032adc60-6b96-4324-ae81-6a1068a0a51e",
+ "x": [
+ -0.83333333335
+ ],
+ "y": [
+ 1.5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,236.59090909090907)",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "trafos",
+ "text": "None
I = 9.623 %
I_hv = 0.0 kA
I_lv = 0.022 kA
",
+ "type": "scatter",
+ "uid": "2f7ac487-a68f-44f9-bdc0-bd85121675b3",
+ "x": [
+ 0,
+ 0,
+ 0
+ ],
+ "y": [
+ 0,
+ 0.5,
+ 1
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "marker": {
+ "color": "rgb(0.0,0.0,236.59090909090907)",
+ "size": 1,
+ "symbol": "circle"
+ },
+ "mode": "markers",
+ "name": "edge_center",
+ "text": [
+ "None
I = 9.623 %
I_hv = 0.0 kA
I_lv = 0.022 kA
"
+ ],
+ "type": "scatter",
+ "uid": "cfebe601-ba5b-4efc-8722-0284befac0c5",
+ "x": [
+ 0
+ ],
+ "y": [
+ 0.5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "marker": {
+ "color": "rgb(128, 128, 128)",
+ "size": 20,
+ "symbol": "square"
+ },
+ "mode": "markers",
+ "name": "external_grid",
+ "text": [
+ "bus0"
+ ],
+ "type": "scatter",
+ "uid": "d074f8be-c4d6-427b-9383-b55ca9c8bc91",
+ "x": [
+ 0
+ ],
+ "y": [
+ 0
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "marker": {
+ "cmax": 1.1,
+ "cmin": 0.9,
+ "color": [
+ 1,
+ 1.0008676632948064,
+ 0.999141344632132,
+ 0.9985470317087848,
+ 1.0048664480565133,
+ 1.008557666895689,
+ 1.0105035630073944,
+ 1.0133233452872892,
+ 1.0050748449381264,
+ 1.0097331144203225,
+ 1.0099159405498186,
+ 1.0161289122130623,
+ 1.0006320228320569,
+ 1.0008471850204042,
+ 1.002210956869953,
+ 1.0040251957177506,
+ 1.004898824542901,
+ 1.0039264071532708,
+ 1.0034401025588509,
+ 1.0000385963462886,
+ 1.0002538862632033,
+ 1.0016184664225332,
+ 1.0052637445569212,
+ 1.0072324261652394,
+ 1.0033349303318897,
+ 1.0028483387422
+ ],
+ "colorbar": {
+ "thickness": 10,
+ "title": {
+ "text": "Bus Voltage [pu]"
+ },
+ "x": 1
+ },
+ "colorscale": "Jet",
+ "size": 10,
+ "symbol": "circle"
+ },
+ "mode": "markers",
+ "name": "buses",
+ "text": [
+ "bus0
V_m = 1.0 pu
V_m = 20.0 kV
V_a = 0.0 deg",
+ "bus1
V_m = 1.001 pu
V_m = 0.4 kV
V_a = 0.21 deg",
+ "bus2
V_m = 0.999 pu
V_m = 0.4 kV
V_a = 0.172 deg",
+ "bus3
V_m = 0.999 pu
V_m = 0.399 kV
V_a = 0.168 deg",
+ "bus4
V_m = 1.005 pu
V_m = 0.402 kV
V_a = 0.299 deg",
+ "bus5
V_m = 1.009 pu
V_m = 0.403 kV
V_a = 0.38 deg",
+ "bus6
V_m = 1.011 pu
V_m = 0.404 kV
V_a = 0.423 deg",
+ "bus7
V_m = 1.013 pu
V_m = 0.405 kV
V_a = 0.485 deg",
+ "bus8
V_m = 1.005 pu
V_m = 0.402 kV
V_a = 0.301 deg",
+ "bus9
V_m = 1.01 pu
V_m = 0.404 kV
V_a = 0.389 deg",
+ "bus10
V_m = 1.01 pu
V_m = 0.404 kV
V_a = 0.419 deg",
+ "bus11
V_m = 1.016 pu
V_m = 0.406 kV
V_a = 0.505 deg",
+ "bus12
V_m = 1.001 pu
V_m = 0.4 kV
V_a = 0.205 deg",
+ "bus13
V_m = 1.001 pu
V_m = 0.4 kV
V_a = 0.21 deg",
+ "bus14
V_m = 1.002 pu
V_m = 0.401 kV
V_a = 0.24 deg",
+ "bus15
V_m = 1.004 pu
V_m = 0.402 kV
V_a = 0.28 deg",
+ "bus16
V_m = 1.005 pu
V_m = 0.402 kV
V_a = 0.3 deg",
+ "bus17
V_m = 1.004 pu
V_m = 0.402 kV
V_a = 0.28 deg",
+ "bus18
V_m = 1.003 pu
V_m = 0.401 kV
V_a = 0.27 deg",
+ "bus19
V_m = 1.0 pu
V_m = 0.4 kV
V_a = 0.201 deg",
+ "bus20
V_m = 1.0 pu
V_m = 0.4 kV
V_a = 0.206 deg",
+ "bus21
V_m = 1.002 pu
V_m = 0.401 kV
V_a = 0.236 deg",
+ "bus22
V_m = 1.005 pu
V_m = 0.402 kV
V_a = 0.289 deg",
+ "bus23
V_m = 1.007 pu
V_m = 0.403 kV
V_a = 0.317 deg",
+ "bus24
V_m = 1.003 pu
V_m = 0.401 kV
V_a = 0.275 deg",
+ "bus25
V_m = 1.003 pu
V_m = 0.401 kV
V_a = 0.266 deg"
+ ],
+ "type": "scatter",
+ "uid": "a41a98f8-bcfc-4ed0-9465-3a8e235203c1",
+ "x": [
+ 0,
+ 0,
+ -1.6666666667,
+ -1.6666666667,
+ -0.1666666667,
+ -0.6666666667000001,
+ -1.1666666667,
+ -1.6666666667,
+ 0.33333333330000003,
+ -0.1666666667,
+ -0.6666666667000001,
+ -1.6666666667,
+ 1.8333333333000001,
+ 1.3333333333000001,
+ 0.8333333333,
+ 0.33333333330000003,
+ -0.1666666667,
+ -0.6666666667000001,
+ -1.1666666667,
+ 2.3333333333,
+ 1.8333333333000001,
+ 1.3333333333000001,
+ 0.8333333333,
+ 0.33333333330000003,
+ -0.1666666667,
+ -1.1666666667
+ ],
+ "y": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 2,
+ 3,
+ 4,
+ 5,
+ 3,
+ 4,
+ 5,
+ 6,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9
+ ]
+ }
+ ],
+ "layout": {
+ "autosize": true,
+ "height": 700,
+ "hovermode": "closest",
+ "margin": {
+ "b": 5,
+ "l": 5,
+ "r": 5,
+ "t": 5
+ },
+ "showlegend": false,
+ "title": {
+ "font": {
+ "size": 16
+ }
+ },
+ "width": 311.1111111111111,
+ "xaxis": {
+ "showgrid": false,
+ "showticklabels": false,
+ "zeroline": false
+ },
+ "yaxis": {
+ "showgrid": false,
+ "showticklabels": false,
+ "zeroline": false
+ }
+ }
+ },
+ "text/html": [
+ ""
+ ],
+ "text/vnd.plotly.v1+html": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pp.plotting.plotly.pf_res_plotly(env.net)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " name | \n",
+ " std_type | \n",
+ " from_bus | \n",
+ " to_bus | \n",
+ " length_km | \n",
+ " r_ohm_per_km | \n",
+ " x_ohm_per_km | \n",
+ " c_nf_per_km | \n",
+ " g_us_per_km | \n",
+ " max_i_ka | \n",
+ " df | \n",
+ " parallel | \n",
+ " type | \n",
+ " in_service | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0.260 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 0.133 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 0.133 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 0.133 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 0.133 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 4 | \n",
+ " 8 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 5 | \n",
+ " 9 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 6 | \n",
+ " 10 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 7 | \n",
+ " 11 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 1 | \n",
+ " 12 | \n",
+ " 0.068 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 0.068 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 0.068 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 0.068 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " None | \n",
+ " NAYY 4x150 SE | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 0.068 | \n",
+ " 0.208 | \n",
+ " 0.080 | \n",
+ " 261.0 | \n",
+ " 0.0 | \n",
+ " 0.270 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " None | \n",
+ " NAYY 4x120 SE | \n",
+ " 16 | \n",
+ " 17 | \n",
+ " 0.068 | \n",
+ " 0.225 | \n",
+ " 0.080 | \n",
+ " 264.0 | \n",
+ " 0.0 | \n",
+ " 0.242 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " None | \n",
+ " NAYY 4x120 SE | \n",
+ " 17 | \n",
+ " 18 | \n",
+ " 0.068 | \n",
+ " 0.225 | \n",
+ " 0.080 | \n",
+ " 264.0 | \n",
+ " 0.0 | \n",
+ " 0.242 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 12 | \n",
+ " 19 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 13 | \n",
+ " 20 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 14 | \n",
+ " 21 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 15 | \n",
+ " 22 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 16 | \n",
+ " 23 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 17 | \n",
+ " 24 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 23 | \n",
+ " None | \n",
+ " NAYY 4x50 SE | \n",
+ " 18 | \n",
+ " 25 | \n",
+ " 0.029 | \n",
+ " 0.642 | \n",
+ " 0.083 | \n",
+ " 210.0 | \n",
+ " 0.0 | \n",
+ " 0.142 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " cs | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " name std_type from_bus to_bus length_km r_ohm_per_km \\\n",
+ "0 None NAYY 4x150 SE 1 2 0.260 0.208 \n",
+ "1 None NAYY 4x50 SE 2 3 0.029 0.642 \n",
+ "2 None NAYY 4x150 SE 1 4 0.133 0.208 \n",
+ "3 None NAYY 4x150 SE 4 5 0.133 0.208 \n",
+ "4 None NAYY 4x150 SE 5 6 0.133 0.208 \n",
+ "5 None NAYY 4x150 SE 6 7 0.133 0.208 \n",
+ "6 None NAYY 4x50 SE 4 8 0.029 0.642 \n",
+ "7 None NAYY 4x50 SE 5 9 0.029 0.642 \n",
+ "8 None NAYY 4x50 SE 6 10 0.029 0.642 \n",
+ "9 None NAYY 4x50 SE 7 11 0.029 0.642 \n",
+ "10 None NAYY 4x150 SE 1 12 0.068 0.208 \n",
+ "11 None NAYY 4x150 SE 12 13 0.068 0.208 \n",
+ "12 None NAYY 4x150 SE 13 14 0.068 0.208 \n",
+ "13 None NAYY 4x150 SE 14 15 0.068 0.208 \n",
+ "14 None NAYY 4x150 SE 15 16 0.068 0.208 \n",
+ "15 None NAYY 4x120 SE 16 17 0.068 0.225 \n",
+ "16 None NAYY 4x120 SE 17 18 0.068 0.225 \n",
+ "17 None NAYY 4x50 SE 12 19 0.029 0.642 \n",
+ "18 None NAYY 4x50 SE 13 20 0.029 0.642 \n",
+ "19 None NAYY 4x50 SE 14 21 0.029 0.642 \n",
+ "20 None NAYY 4x50 SE 15 22 0.029 0.642 \n",
+ "21 None NAYY 4x50 SE 16 23 0.029 0.642 \n",
+ "22 None NAYY 4x50 SE 17 24 0.029 0.642 \n",
+ "23 None NAYY 4x50 SE 18 25 0.029 0.642 \n",
+ "\n",
+ " x_ohm_per_km c_nf_per_km g_us_per_km max_i_ka df parallel type \\\n",
+ "0 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "1 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "2 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "3 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "4 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "5 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "6 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "7 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "8 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "9 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "10 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "11 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "12 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "13 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "14 0.080 261.0 0.0 0.270 1.0 1 cs \n",
+ "15 0.080 264.0 0.0 0.242 1.0 1 cs \n",
+ "16 0.080 264.0 0.0 0.242 1.0 1 cs \n",
+ "17 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "18 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "19 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "20 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "21 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "22 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "23 0.083 210.0 0.0 0.142 1.0 1 cs \n",
+ "\n",
+ " in_service \n",
+ "0 True \n",
+ "1 True \n",
+ "2 True \n",
+ "3 True \n",
+ "4 True \n",
+ "5 True \n",
+ "6 True \n",
+ "7 True \n",
+ "8 True \n",
+ "9 True \n",
+ "10 True \n",
+ "11 True \n",
+ "12 True \n",
+ "13 True \n",
+ "14 True \n",
+ "15 True \n",
+ "16 True \n",
+ "17 True \n",
+ "18 True \n",
+ "19 True \n",
+ "20 True \n",
+ "21 True \n",
+ "22 True \n",
+ "23 True "
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from pandapower.networks import create_synthetic_voltage_control_lv_network as mknet\n",
+ "net = mknet(network_class='rural_1')\n",
+ "net.line"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " name | \n",
+ " std_type | \n",
+ " hv_bus | \n",
+ " lv_bus | \n",
+ " sn_kva | \n",
+ " vn_hv_kv | \n",
+ " vn_lv_kv | \n",
+ " vsc_percent | \n",
+ " vscr_percent | \n",
+ " pfe_kw | \n",
+ " ... | \n",
+ " tp_mid | \n",
+ " tp_min | \n",
+ " tp_max | \n",
+ " tp_st_percent | \n",
+ " tp_st_degree | \n",
+ " tp_pos | \n",
+ " tp_phase_shifter | \n",
+ " parallel | \n",
+ " df | \n",
+ " in_service | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " None | \n",
+ " 0.16 MVA 20/0.4 kV vc | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 160.0 | \n",
+ " 20.0 | \n",
+ " 0.4 | \n",
+ " 4.0 | \n",
+ " 0.96 | \n",
+ " 0.62 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " -2 | \n",
+ " 2 | \n",
+ " 2.5 | \n",
+ " 0.0 | \n",
+ " 0 | \n",
+ " False | \n",
+ " 1 | \n",
+ " 1.0 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
1 rows × 23 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " name std_type hv_bus lv_bus sn_kva vn_hv_kv vn_lv_kv \\\n",
+ "0 None 0.16 MVA 20/0.4 kV vc 0 1 160.0 20.0 0.4 \n",
+ "\n",
+ " vsc_percent vscr_percent pfe_kw ... tp_mid tp_min tp_max \\\n",
+ "0 4.0 0.96 0.62 ... 0 -2 2 \n",
+ "\n",
+ " tp_st_percent tp_st_degree tp_pos tp_phase_shifter parallel df \\\n",
+ "0 2.5 0.0 0 False 1 1.0 \n",
+ "\n",
+ " in_service \n",
+ "0 True \n",
+ "\n",
+ "[1 rows x 23 columns]"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "net.trafo"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0\n",
+ "1\n"
+ ]
+ }
+ ],
+ "source": [
+ "for idx, entry in net.trafo.iterrows():\n",
+ " print(entry.hv_bus)\n",
+ " print(entry.lv_bus)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " name | \n",
+ " vn_kv | \n",
+ " type | \n",
+ " zone | \n",
+ " in_service | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " mv bus | \n",
+ " 20.0 | \n",
+ " b | \n",
+ " None | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " busbar | \n",
+ " 0.4 | \n",
+ " b | \n",
+ " None | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder1 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder1 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder2 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder2 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder2 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder2 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder2 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder2 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder2 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder2 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " m | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 23 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 24 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 25 | \n",
+ " None | \n",
+ " 0.4 | \n",
+ " n | \n",
+ " Feeder3 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " name vn_kv type zone in_service\n",
+ "0 mv bus 20.0 b None True\n",
+ "1 busbar 0.4 b None True\n",
+ "2 None 0.4 m Feeder1 True\n",
+ "3 None 0.4 n Feeder1 True\n",
+ "4 None 0.4 m Feeder2 True\n",
+ "5 None 0.4 m Feeder2 True\n",
+ "6 None 0.4 m Feeder2 True\n",
+ "7 None 0.4 m Feeder2 True\n",
+ "8 None 0.4 n Feeder2 True\n",
+ "9 None 0.4 n Feeder2 True\n",
+ "10 None 0.4 n Feeder2 True\n",
+ "11 None 0.4 n Feeder2 True\n",
+ "12 None 0.4 m Feeder3 True\n",
+ "13 None 0.4 m Feeder3 True\n",
+ "14 None 0.4 m Feeder3 True\n",
+ "15 None 0.4 m Feeder3 True\n",
+ "16 None 0.4 m Feeder3 True\n",
+ "17 None 0.4 m Feeder3 True\n",
+ "18 None 0.4 m Feeder3 True\n",
+ "19 None 0.4 n Feeder3 True\n",
+ "20 None 0.4 n Feeder3 True\n",
+ "21 None 0.4 n Feeder3 True\n",
+ "22 None 0.4 n Feeder3 True\n",
+ "23 None 0.4 n Feeder3 True\n",
+ "24 None 0.4 n Feeder3 True\n",
+ "25 None 0.4 n Feeder3 True"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "net.bus"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "There are no Power Flow results. A Newton-Raphson power flow will be executed.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/vnd.plotly.v1+html": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "linkText": "Export to plot.ly",
+ "plotlyServerURL": "https://plot.ly",
+ "showLink": false
+ },
+ "data": [
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,154.77272727272728)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 2.73 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "e9c24ea9-15bd-409f-add2-f76fa2394667",
+ "x": [
+ 0,
+ -0.83333333335,
+ -1.6666666667
+ ],
+ "y": [
+ 1,
+ 1.5,
+ 2
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.191 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "24fed674-efa6-4b5d-abaf-b0f03a786cff",
+ "x": [
+ -1.6666666667,
+ -1.6666666667,
+ -1.6666666667
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,255.0)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 12.38 %
I_from = 0.033 kA
I_to = 0.033 kA
",
+ "type": "scatter",
+ "uid": "31990299-703c-4651-a797-8810fdb51257",
+ "x": [
+ 0,
+ -0.08333333335,
+ -0.1666666667
+ ],
+ "y": [
+ 1,
+ 1.5,
+ 2
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,255.0)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 11.422 %
I_from = 0.031 kA
I_to = 0.031 kA
",
+ "type": "scatter",
+ "uid": "03af63c8-2958-4d99-800c-6a831ef3e12f",
+ "x": [
+ -0.1666666667,
+ -0.4166666667,
+ -0.6666666667000001
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,195.68181818181816)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 6.022 %
I_from = 0.016 kA
I_to = 0.016 kA
",
+ "type": "scatter",
+ "uid": "a0401556-42fa-4453-8f98-1848a99c84fb",
+ "x": [
+ -0.6666666667000001,
+ -0.9166666667000001,
+ -1.1666666667
+ ],
+ "y": [
+ 3,
+ 3.5,
+ 4
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,227.49999999999997)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 8.722 %
I_from = 0.024 kA
I_to = 0.024 kA
",
+ "type": "scatter",
+ "uid": "895be367-5b36-408b-b428-9e174691c697",
+ "x": [
+ -1.1666666667,
+ -1.4166666667,
+ -1.6666666667
+ ],
+ "y": [
+ 4,
+ 4.5,
+ 5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,145.6818181818182)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 1.82 %
I_from = 0.003 kA
I_to = 0.003 kA
",
+ "type": "scatter",
+ "uid": "b2f2b75c-f882-400b-a0c0-c8bd45627f6b",
+ "x": [
+ -0.1666666667,
+ 0.08333333330000002,
+ 0.33333333330000003
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,245.68181818181816)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 10.268 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "type": "scatter",
+ "uid": "b9f8ce6b-0757-4a89-bb91-b4f38ba59681",
+ "x": [
+ -0.6666666667000001,
+ -0.4166666667,
+ -0.1666666667
+ ],
+ "y": [
+ 3,
+ 3.5,
+ 4
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.133 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "c0815eb1-06be-40cb-9055-18dc2033b2e0",
+ "x": [
+ -1.1666666667,
+ -0.9166666667000001,
+ -0.6666666667000001
+ ],
+ "y": [
+ 4,
+ 4.5,
+ 5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,120.5,255.0)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 24.508 %
I_from = 0.035 kA
I_to = 0.035 kA
",
+ "type": "scatter",
+ "uid": "2b70f585-f044-4757-aff0-5f1804427ca2",
+ "x": [
+ -1.6666666667,
+ -1.6666666667,
+ -1.6666666667
+ ],
+ "y": [
+ 5,
+ 5.5,
+ 6
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,141.13636363636363)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 1.418 %
I_from = 0.004 kA
I_to = 0.004 kA
",
+ "type": "scatter",
+ "uid": "7e528381-8fa2-4d53-a511-9bb88fb2ba77",
+ "x": [
+ 0,
+ 0.9166666666500001,
+ 1.8333333333000001
+ ],
+ "y": [
+ 1,
+ 1.5,
+ 2
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,141.13636363636363)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 1.308 %
I_from = 0.004 kA
I_to = 0.004 kA
",
+ "type": "scatter",
+ "uid": "2fb68883-9973-4f57-b2b4-f800b1f8760b",
+ "x": [
+ 1.8333333333000001,
+ 1.5833333333000001,
+ 1.3333333333000001
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,222.95454545454544)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 8.253 %
I_from = 0.022 kA
I_to = 0.022 kA
",
+ "type": "scatter",
+ "uid": "40eb88ff-df45-4702-a696-8d475e0fbc4a",
+ "x": [
+ 1.3333333333000001,
+ 1.0833333333000001,
+ 0.8333333333
+ ],
+ "y": [
+ 3,
+ 3.5,
+ 4
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,254.77272727272725)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 10.975 %
I_from = 0.03 kA
I_to = 0.03 kA
",
+ "type": "scatter",
+ "uid": "da775fd1-ade1-4afa-b6eb-b8e05d739d1d",
+ "x": [
+ 0.8333333333,
+ 0.5833333333,
+ 0.33333333330000003
+ ],
+ "y": [
+ 4,
+ 4.5,
+ 5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.285 %
I_from = 0.014 kA
I_to = 0.014 kA
",
+ "type": "scatter",
+ "uid": "951e2377-19ef-4762-8de6-a8d5111a4baa",
+ "x": [
+ 0.33333333330000003,
+ 0.08333333330000002,
+ -0.1666666667
+ ],
+ "y": [
+ 5,
+ 5.5,
+ 6
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,195.68181818181816)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 6.065 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "type": "scatter",
+ "uid": "16f94d3d-3940-47fa-a1c1-b4d5eb443eda",
+ "x": [
+ -0.1666666667,
+ -0.4166666667,
+ -0.6666666667000001
+ ],
+ "y": [
+ 6,
+ 6.5,
+ 7
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,159.3181818181818)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 3.033 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "5482a686-df37-497d-bf82-75ca1dd1799f",
+ "x": [
+ -0.6666666667000001,
+ -0.9166666667000001,
+ -1.1666666667
+ ],
+ "y": [
+ 7,
+ 7.5,
+ 8
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.184 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "5ff3068e-b79c-46c2-a64f-e7e346cb2738",
+ "x": [
+ 1.8333333333000001,
+ 2.0833333333,
+ 2.3333333333
+ ],
+ "y": [
+ 2,
+ 2.5,
+ 3
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.183 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "70ff7659-defd-4e5c-9d9b-77dd60ebe4ab",
+ "x": [
+ 1.3333333333000001,
+ 1.5833333333000001,
+ 1.8333333333000001
+ ],
+ "y": [
+ 3,
+ 3.5,
+ 4
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.176 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "51401043-8cf5-466a-939d-75aecd2f497d",
+ "x": [
+ 0.8333333333,
+ 1.0833333333000001,
+ 1.3333333333000001
+ ],
+ "y": [
+ 4,
+ 4.5,
+ 5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,250.22727272727272)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 10.819 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "type": "scatter",
+ "uid": "fff11dce-fc58-467c-9b9c-f7ad9b03d1de",
+ "x": [
+ 0.33333333330000003,
+ 0.5833333333,
+ 0.8333333333
+ ],
+ "y": [
+ 5,
+ 5.5,
+ 6
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,80.5,255.0)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 20.385 %
I_from = 0.029 kA
I_to = 0.029 kA
",
+ "type": "scatter",
+ "uid": "f7cde321-1c4e-4754-bab9-2d7fe4a62682",
+ "x": [
+ -0.1666666667,
+ 0.08333333330000002,
+ 0.33333333330000003
+ ],
+ "y": [
+ 6,
+ 6.5,
+ 7
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.167 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "b92de130-ec7a-4236-8c03-d04aa1fbe2bd",
+ "x": [
+ -0.6666666667000001,
+ -0.4166666667,
+ -0.1666666667
+ ],
+ "y": [
+ 7,
+ 7.5,
+ 8
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,186.5909090909091)",
+ "width": 2
+ },
+ "mode": "lines",
+ "name": "lines",
+ "text": "None
I = 5.169 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "type": "scatter",
+ "uid": "76b9145f-3870-42cc-804b-3cdff9df5f02",
+ "x": [
+ -1.1666666667,
+ -1.1666666667,
+ -1.1666666667
+ ],
+ "y": [
+ 8,
+ 8.5,
+ 9
+ ]
+ },
+ {
+ "marker": {
+ "cmax": 100,
+ "cmin": 1.3080070250667393,
+ "color": "rgb(255,255,255)",
+ "colorbar": {
+ "thickness": 10,
+ "title": {
+ "text": "Line Loading [%]"
+ },
+ "x": 1.1
+ },
+ "colorscale": "Jet",
+ "size": 0
+ },
+ "mode": "markers",
+ "type": "scatter",
+ "uid": "36721617-0b56-41a9-a39d-ba25a1fac8ff",
+ "x": [
+ 0
+ ],
+ "y": [
+ 0
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "marker": {
+ "color": "rgb(128, 128, 128)",
+ "size": 1,
+ "symbol": "circle"
+ },
+ "mode": "markers",
+ "name": "edge_center",
+ "text": [
+ "None
I = 2.73 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 5.191 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 12.38 %
I_from = 0.033 kA
I_to = 0.033 kA
",
+ "None
I = 11.422 %
I_from = 0.031 kA
I_to = 0.031 kA
",
+ "None
I = 6.022 %
I_from = 0.016 kA
I_to = 0.016 kA
",
+ "None
I = 8.722 %
I_from = 0.024 kA
I_to = 0.024 kA
",
+ "None
I = 1.82 %
I_from = 0.003 kA
I_to = 0.003 kA
",
+ "None
I = 10.268 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "None
I = 5.133 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 24.508 %
I_from = 0.035 kA
I_to = 0.035 kA
",
+ "None
I = 1.418 %
I_from = 0.004 kA
I_to = 0.004 kA
",
+ "None
I = 1.308 %
I_from = 0.004 kA
I_to = 0.004 kA
",
+ "None
I = 8.253 %
I_from = 0.022 kA
I_to = 0.022 kA
",
+ "None
I = 10.975 %
I_from = 0.03 kA
I_to = 0.03 kA
",
+ "None
I = 5.285 %
I_from = 0.014 kA
I_to = 0.014 kA
",
+ "None
I = 6.065 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "None
I = 3.033 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 5.184 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 5.183 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 5.176 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 10.819 %
I_from = 0.015 kA
I_to = 0.015 kA
",
+ "None
I = 20.385 %
I_from = 0.029 kA
I_to = 0.029 kA
",
+ "None
I = 5.167 %
I_from = 0.007 kA
I_to = 0.007 kA
",
+ "None
I = 5.169 %
I_from = 0.007 kA
I_to = 0.007 kA
"
+ ],
+ "type": "scatter",
+ "uid": "7bbe7e2e-1a72-4c97-8d05-30207d1990db",
+ "x": [
+ -0.83333333335
+ ],
+ "y": [
+ 1.5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "line": {
+ "color": "rgb(0.0,0.0,236.59090909090907)",
+ "width": 3
+ },
+ "mode": "lines",
+ "name": "trafos",
+ "text": "None
I = 9.623 %
I_hv = 0.0 kA
I_lv = 0.022 kA
",
+ "type": "scatter",
+ "uid": "0ed2d647-2154-4584-929c-6939f5d3f9a8",
+ "x": [
+ 0,
+ 0,
+ 0
+ ],
+ "y": [
+ 0,
+ 0.5,
+ 1
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "marker": {
+ "color": "rgb(0.0,0.0,236.59090909090907)",
+ "size": 1,
+ "symbol": "circle"
+ },
+ "mode": "markers",
+ "name": "edge_center",
+ "text": [
+ "None
I = 9.623 %
I_hv = 0.0 kA
I_lv = 0.022 kA
"
+ ],
+ "type": "scatter",
+ "uid": "94f7c014-af67-4ffc-94ad-e44461f4cdf0",
+ "x": [
+ 0
+ ],
+ "y": [
+ 0.5
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "marker": {
+ "color": "rgb(128, 128, 128)",
+ "size": 20,
+ "symbol": "square"
+ },
+ "mode": "markers",
+ "name": "external_grid",
+ "text": [
+ "mv bus"
+ ],
+ "type": "scatter",
+ "uid": "2a7a48a5-cbfe-4252-8f01-68cbb2cc1a0e",
+ "x": [
+ 0
+ ],
+ "y": [
+ 0
+ ]
+ },
+ {
+ "hoverinfo": "text",
+ "marker": {
+ "cmax": 1.1,
+ "cmin": 0.9,
+ "color": [
+ 1,
+ 1.0008676632948053,
+ 0.9991413446321319,
+ 0.9985470317087848,
+ 1.0048664480565117,
+ 1.0085576668956868,
+ 1.010503563007392,
+ 1.0133233452872867,
+ 1.0050748449381246,
+ 1.00973311442032,
+ 1.0099159405498157,
+ 1.01612891221306,
+ 1.0006320228320555,
+ 1.0008471850204024,
+ 1.0022109568699515,
+ 1.004025195717749,
+ 1.0048988245428996,
+ 1.0039264071532694,
+ 1.0034401025588493,
+ 1.0000385963462872,
+ 1.000253886263201,
+ 1.0016184664225312,
+ 1.00526374455692,
+ 1.007232426165238,
+ 1.0033349303318886,
+ 1.0028483387421985
+ ],
+ "colorbar": {
+ "thickness": 10,
+ "title": {
+ "text": "Bus Voltage [pu]"
+ },
+ "x": 1
+ },
+ "colorscale": "Jet",
+ "size": 10,
+ "symbol": "circle"
+ },
+ "mode": "markers",
+ "name": "buses",
+ "text": [
+ "mv bus
V_m = 1.0 pu
V_m = 20.0 kV
V_a = 0.0 deg",
+ "busbar
V_m = 1.001 pu
V_m = 0.4 kV
V_a = 0.21 deg",
+ "None
V_m = 0.999 pu
V_m = 0.4 kV
V_a = 0.172 deg",
+ "None
V_m = 0.999 pu
V_m = 0.399 kV
V_a = 0.168 deg",
+ "None
V_m = 1.005 pu
V_m = 0.402 kV
V_a = 0.299 deg",
+ "None
V_m = 1.009 pu
V_m = 0.403 kV
V_a = 0.38 deg",
+ "None
V_m = 1.011 pu
V_m = 0.404 kV
V_a = 0.423 deg",
+ "None
V_m = 1.013 pu
V_m = 0.405 kV
V_a = 0.485 deg",
+ "None
V_m = 1.005 pu
V_m = 0.402 kV
V_a = 0.301 deg",
+ "None
V_m = 1.01 pu
V_m = 0.404 kV
V_a = 0.389 deg",
+ "None
V_m = 1.01 pu
V_m = 0.404 kV
V_a = 0.419 deg",
+ "None
V_m = 1.016 pu
V_m = 0.406 kV
V_a = 0.505 deg",
+ "None
V_m = 1.001 pu
V_m = 0.4 kV
V_a = 0.205 deg",
+ "None
V_m = 1.001 pu
V_m = 0.4 kV
V_a = 0.21 deg",
+ "None
V_m = 1.002 pu
V_m = 0.401 kV
V_a = 0.24 deg",
+ "None
V_m = 1.004 pu
V_m = 0.402 kV
V_a = 0.28 deg",
+ "None
V_m = 1.005 pu
V_m = 0.402 kV
V_a = 0.3 deg",
+ "None
V_m = 1.004 pu
V_m = 0.402 kV
V_a = 0.28 deg",
+ "None
V_m = 1.003 pu
V_m = 0.401 kV
V_a = 0.27 deg",
+ "None
V_m = 1.0 pu
V_m = 0.4 kV
V_a = 0.201 deg",
+ "None
V_m = 1.0 pu
V_m = 0.4 kV
V_a = 0.206 deg",
+ "None
V_m = 1.002 pu
V_m = 0.401 kV
V_a = 0.236 deg",
+ "None
V_m = 1.005 pu
V_m = 0.402 kV
V_a = 0.289 deg",
+ "None
V_m = 1.007 pu
V_m = 0.403 kV
V_a = 0.317 deg",
+ "None
V_m = 1.003 pu
V_m = 0.401 kV
V_a = 0.275 deg",
+ "None
V_m = 1.003 pu
V_m = 0.401 kV
V_a = 0.266 deg"
+ ],
+ "type": "scatter",
+ "uid": "da3ab2b4-a4c2-4492-9961-c2ee7e786ef8",
+ "x": [
+ 0,
+ 0,
+ -1.6666666667,
+ -1.6666666667,
+ -0.1666666667,
+ -0.6666666667000001,
+ -1.1666666667,
+ -1.6666666667,
+ 0.33333333330000003,
+ -0.1666666667,
+ -0.6666666667000001,
+ -1.6666666667,
+ 1.8333333333000001,
+ 1.3333333333000001,
+ 0.8333333333,
+ 0.33333333330000003,
+ -0.1666666667,
+ -0.6666666667000001,
+ -1.1666666667,
+ 2.3333333333,
+ 1.8333333333000001,
+ 1.3333333333000001,
+ 0.8333333333,
+ 0.33333333330000003,
+ -0.1666666667,
+ -1.1666666667
+ ],
+ "y": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 2,
+ 3,
+ 4,
+ 5,
+ 3,
+ 4,
+ 5,
+ 6,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9
+ ]
+ }
+ ],
+ "layout": {
+ "autosize": true,
+ "height": 700,
+ "hovermode": "closest",
+ "margin": {
+ "b": 5,
+ "l": 5,
+ "r": 5,
+ "t": 5
+ },
+ "showlegend": false,
+ "title": {
+ "font": {
+ "size": 16
+ }
+ },
+ "width": 311.1111111111111,
+ "xaxis": {
+ "showgrid": false,
+ "showticklabels": false,
+ "zeroline": false
+ },
+ "yaxis": {
+ "showgrid": false,
+ "showticklabels": false,
+ "zeroline": false
+ }
+ }
+ },
+ "text/html": [
+ ""
+ ],
+ "text/vnd.plotly.v1+html": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pp.plotting.plotly.pf_res_plotly(net)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 3\n",
+ "1 8\n",
+ "2 9\n",
+ "3 10\n",
+ "4 11\n",
+ "5 19\n",
+ "6 20\n",
+ "7 21\n",
+ "8 22\n",
+ "9 23\n",
+ "10 24\n",
+ "11 25\n",
+ "12 7\n",
+ "13 13\n",
+ "Name: bus, dtype: uint32"
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "net.load.bus"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{3: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 8: array([-6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9]),\n",
+ " 9: array([-15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3]),\n",
+ " 10: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 11: array([-29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6]),\n",
+ " 19: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 20: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 21: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 22: array([-15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8]),\n",
+ " 23: array([-25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3]),\n",
+ " 24: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 25: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 7: array([7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9]),\n",
+ " 13: array([7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9])}"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "config.static_feeds"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "6"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "env.action_dim"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([-0.15671982, 1.18836179, -0.95948352, -1.17904058, 0.67426191,\n",
+ " 0.69793659])"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "np.random.randn(6)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " name | \n",
+ " bus | \n",
+ " p_kw | \n",
+ " q_kvar | \n",
+ " const_z_percent | \n",
+ " const_i_percent | \n",
+ " sn_kva | \n",
+ " scaling | \n",
+ " in_service | \n",
+ " type | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " None | \n",
+ " 3 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " None | \n",
+ " 8 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " None | \n",
+ " 9 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " None | \n",
+ " 10 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " None | \n",
+ " 11 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " None | \n",
+ " 19 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " None | \n",
+ " 20 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " None | \n",
+ " 21 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " None | \n",
+ " 22 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " None | \n",
+ " 23 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " None | \n",
+ " 24 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " None | \n",
+ " 25 | \n",
+ " 5.1 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " None | \n",
+ " 7 | \n",
+ " 7.9 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " None | \n",
+ " 13 | \n",
+ " 7.9 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " True | \n",
+ " None | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " name bus p_kw q_kvar const_z_percent const_i_percent sn_kva \\\n",
+ "0 None 3 5.1 0 0.0 0.0 NaN \n",
+ "1 None 8 5.1 0 0.0 0.0 NaN \n",
+ "2 None 9 5.1 0 0.0 0.0 NaN \n",
+ "3 None 10 5.1 0 0.0 0.0 NaN \n",
+ "4 None 11 5.1 0 0.0 0.0 NaN \n",
+ "5 None 19 5.1 0 0.0 0.0 NaN \n",
+ "6 None 20 5.1 0 0.0 0.0 NaN \n",
+ "7 None 21 5.1 0 0.0 0.0 NaN \n",
+ "8 None 22 5.1 0 0.0 0.0 NaN \n",
+ "9 None 23 5.1 0 0.0 0.0 NaN \n",
+ "10 None 24 5.1 0 0.0 0.0 NaN \n",
+ "11 None 25 5.1 0 0.0 0.0 NaN \n",
+ "12 None 7 7.9 0 0.0 0.0 NaN \n",
+ "13 None 13 7.9 0 0.0 0.0 NaN \n",
+ "\n",
+ " scaling in_service type \n",
+ "0 1.0 True None \n",
+ "1 1.0 True None \n",
+ "2 1.0 True None \n",
+ "3 1.0 True None \n",
+ "4 1.0 True None \n",
+ "5 1.0 True None \n",
+ "6 1.0 True None \n",
+ "7 1.0 True None \n",
+ "8 1.0 True None \n",
+ "9 1.0 True None \n",
+ "10 1.0 True None \n",
+ "11 1.0 True None \n",
+ "12 1.0 True None \n",
+ "13 1.0 True None "
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "env.net.load"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "5.1\n",
+ "5.1\n",
+ "5.1\n",
+ "5.1\n",
+ "5.1\n",
+ "5.1\n",
+ "5.1\n",
+ "7.9\n",
+ "7.9\n"
+ ]
+ }
+ ],
+ "source": [
+ "\n",
+ "new_loads = pd.Series(data=None, index=env.net.load.bus)\n",
+ "new_sgens = pd.Series(data=None, index=env.net.sgen.bus)\n",
+ "for bus, feed in env.config.static_feeds.items():\n",
+ " p_new = feed[env.time]\n",
+ "\n",
+ " if p_new > 0:\n",
+ " print(p_new)\n",
+ " new_loads[bus] = p_new\n",
+ " else:\n",
+ " new_sgens[bus] = p_new"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "bus\n",
+ "3 5.1\n",
+ "8 NaN\n",
+ "9 NaN\n",
+ "10 5.1\n",
+ "11 NaN\n",
+ "19 5.1\n",
+ "20 5.1\n",
+ "21 5.1\n",
+ "22 NaN\n",
+ "23 NaN\n",
+ "24 5.1\n",
+ "25 5.1\n",
+ "7 7.9\n",
+ "13 7.9\n",
+ "dtype: float64"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "new_loads"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "bus\n",
+ "8 -6.9\n",
+ "9 -15.3\n",
+ "11 -29.6\n",
+ "22 -15.8\n",
+ "23 -25.3\n",
+ "dtype: float64"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "new_sgens"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{3: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 8: array([-6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9, -6.9,\n",
+ " -6.9, -6.9, -6.9, -6.9, -6.9]),\n",
+ " 9: array([-15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3, -15.3,\n",
+ " -15.3, -15.3, -15.3, -15.3, -15.3, -15.3]),\n",
+ " 10: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 11: array([-29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6, -29.6,\n",
+ " -29.6, -29.6, -29.6, -29.6, -29.6, -29.6]),\n",
+ " 19: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 20: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 21: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 22: array([-15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8, -15.8,\n",
+ " -15.8, -15.8, -15.8, -15.8, -15.8, -15.8]),\n",
+ " 23: array([-25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3, -25.3,\n",
+ " -25.3, -25.3, -25.3, -25.3, -25.3, -25.3]),\n",
+ " 24: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 25: array([5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1,\n",
+ " 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1]),\n",
+ " 7: array([7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9]),\n",
+ " 13: array([7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9,\n",
+ " 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9, 7.9])}"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "env.config.static_feeds"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "25"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "env.observation_dim"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "25"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "14+5+6"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
diff --git a/scripts/run_ddpg.py b/scripts/run_ddpg.py
index 28eb5ca..837bbfa 100644
--- a/scripts/run_ddpg.py
+++ b/scripts/run_ddpg.py
@@ -6,7 +6,8 @@
from virtual_microgrids.algorithms import DDPG
if __name__ == '__main__':
- config = get_config('Six_Bus_POC', algorithm='DDPG')
+ config = get_config('rural_1', algorithm='DDPG')
+ # config = get_config('Six_Bus_MVP2', algorithm='DDPG')
env = NetModel(config=config)
# train model
model = DDPG(env, config)
diff --git a/virtual_microgrids/algorithms/ddpg.py b/virtual_microgrids/algorithms/ddpg.py
index a2d88fc..8fac166 100644
--- a/virtual_microgrids/algorithms/ddpg.py
+++ b/virtual_microgrids/algorithms/ddpg.py
@@ -180,7 +180,7 @@ def train(self):
self.config.reasonable_max_episodes*self.config.max_ep_steps)
critic_lr_schedule = LinearSchedule(self.config.critic_learning_rate_start, self.config.critic_learning_rate_end,
self.config.reasonable_max_episodes*self.config.max_ep_steps)
- noise_schedule = LogSchedule(0.5, 0.0001, self.config.reasonable_max_episodes*self.config.max_ep_steps)
+ noise_schedule = LogSchedule(1.0, 0.001, self.config.reasonable_max_episodes*self.config.max_ep_steps)
# noise_schedule = LinearSchedule(0.5, 0.01, self.config.reasonable_max_episodes*self.config.max_ep_steps)
@@ -199,6 +199,7 @@ def train(self):
best_r = 0.0
best_reward_logical = None
+ optimal_action = None
soc_track = np.zeros((self.config.max_ep_steps, self.env.net.storage.shape[0]))
p_track = np.zeros((self.config.max_ep_steps, self.env.net.storage.shape[0]))
@@ -252,6 +253,7 @@ def train(self):
if done:
if ep_reward > best_ep_reward:
best_ep_reward = ep_reward
+ optimal_action = a
total_rewards.append(ep_reward)
ep_ave_max_q /= j
ave_max_q.append(ep_ave_max_q)
@@ -276,8 +278,10 @@ def train(self):
msg2 = "Max single reward: "+str(best_r)
msg3 = "Max reward happened on lines: "+str(best_reward_logical)
+ msg4 = "The optimal action was: "+str(optimal_action)
end = "\n--------------------------------------------------------"
self.logger.info(msg2)
+ self.logger.info(msg4)
self.logger.info(msg3 + end)
fig, ax = plt.subplots(nrows=3, sharex=True)
diff --git a/virtual_microgrids/configs/six_bus_mvp1.py b/virtual_microgrids/configs/six_bus_mvp1.py
index 8e6b8fb..a81dca2 100644
--- a/virtual_microgrids/configs/six_bus_mvp1.py
+++ b/virtual_microgrids/configs/six_bus_mvp1.py
@@ -44,4 +44,4 @@ def __init__(self, use_baseline, actor):
# reward function
self.reward_epsilon = 0.001
- self.cont_reward_lambda = 0.1
\ No newline at end of file
+ self.cont_reward_lambda = 0.1
diff --git a/virtual_microgrids/configs/standard_lv_network.py b/virtual_microgrids/configs/standard_lv_network.py
index 5fbce09..34cd9ac 100644
--- a/virtual_microgrids/configs/standard_lv_network.py
+++ b/virtual_microgrids/configs/standard_lv_network.py
@@ -1,7 +1,9 @@
import numpy as np
from pandapower.networks import create_synthetic_voltage_control_lv_network as mknet
+from virtual_microgrids.configs.config_base import ConfigBase
-class StandardLVNetwork(object):
+
+class StandardLVNetwork(ConfigBase):
"""The configurations for using any of the standard low voltage (LV) test networks shipped with pandapower.
Options in this set up include choices to remove the generation and load elements built in to the test network, and
@@ -18,38 +20,10 @@ class StandardLVNetwork(object):
"""
def __init__(self, env_name, use_baseline, actor):
self.env_name = env_name
+ super().__init__(use_baseline, actor, self.env_name)
- # output config
- baseline_str = 'baseline' if use_baseline else 'no_baseline'
- self.output_path = "results/{}-{}-{}/".format(self.env_name, baseline_str, actor)
- self.model_output = self.output_path + "model.weights/"
- self.log_path = self.output_path + "log.txt"
- self.plot_output = self.output_path + "scores.png"
- self.record_path = self.output_path
- self.record_freq = 5
- self.summary_freq = 1
- self.summary_freq2 = 1000
-
- # model and training - general
- self.gamma = 0.9 # the discount factor
-
- # model and training config - PG
- self.num_batches = 500 # number of batches trained on
- self.batch_size = 1000 # number of steps used to compute each policy update
- self.max_ep_len = 60 # maximum episode length
- self.learning_rate = 3e-2
- self.use_baseline = use_baseline
- self.normalize_advantage = True
-
- # model and training config - DDPG
- self.tau = 0.001
- self.reward_epsilon = 0.001
- self.actor_learning_rate = 1e-3
- self.critic_learning_rate = 1e-2
- self.buffer_size = 1e6
- self.minibatch_size = 64
- self.max_episodes = 500
- self.max_ep_steps = self.max_ep_len
+ self.reasonable_max_episodes = 1000
+ self.max_episodes = 2000
self.remove_q = True
self.clear_loads_sgen = False
@@ -65,38 +39,62 @@ def __init__(self, env_name, use_baseline, actor):
self.static_feeds = {}
else:
self.static_feeds = self.static_feeds_new.copy()
+
+ n = self.max_ep_len + 1
net = mknet(network_class=env_name)
if not self.clear_loads_sgen:
if net.load.shape[0] > 0:
for idx, row in net.load.iterrows():
- self.static_feeds[row['bus']] = row['p_kw'] * np.ones(self.max_ep_len)
+ if row['bus'] in self.static_feeds:
+ self.static_feeds[row['bus']].update({0: row['p_kw'] * np.ones(n)})
+ else:
+ self.static_feeds[row['bus']] = {0: row['p_kw'] * np.ones(n)}
if net.sgen.shape[0] > 0:
for idx, row in net.sgen.iterrows():
- self.static_feeds[row['bus']] = row['p_kw'] * np.ones(self.max_ep_len)
+ if row['bus'] in self.static_feeds:
+ self.static_feeds[row['bus']].update({1: row['p_kw'] * np.ones(n)})
+ else:
+ self.static_feeds[row['bus']] = {1: row['p_kw'] * np.ones(n)}
- self.battery_locations = None # Specify specific locations, or can pick options for random generation:
+ self.battery_locations = [19, 23, 24, 22, 8, 10] # None # Specify specific locations, or can pick options for random generation:
self.percent_battery_buses = 0.5 # How many of the buses should be assigned batteries
self.batteries_on_leaf_nodes_only = True
# Action space
- self.gen_p_min = -50.0
+ self.gen_p_min = -10.0
self.gen_p_max = 0.0
- self.storage_p_min = -50.0
- self.storage_p_max = 50.0
+ self.storage_p_min = -20.0
+ self.storage_p_max = 20.0
- # Generation
- self.gen_locations = [4]
- self.gen_max_p_kw = [20.0]
+ # # Generation
+ self.gen_locations = None
+ # self.gen_locations = [4]
+ self.gen_max_p_kw = 20.0
self.init_soc = 0.5
- self.energy_capacity = 20.0
-
- # parameters for the policy and baseline models
- self.n_layers = 1
- self.layer_size = 16
- self.activation = None
-
- # since we start new episodes for each batch
- assert self.max_ep_len <= self.batch_size
- if self.max_ep_len < 0:
- self.max_ep_len = self.batch_size
\ No newline at end of file
+ self.energy_capacity = 50.0
+
+ # state space
+ self.with_soc = False
+
+ # reward function
+ self.reward_epsilon = 0.01
+ self.cont_reward_lambda = 0.1
+
+ self.moving = True
+ self.randomize_env = True # If this is true, fix the buses where the storage is
+
+ if self.moving:
+ for bus, feed in self.static_feeds.items():
+ if isinstance(feed, dict):
+ for idx, feed2 in feed.items():
+ a = np.random.uniform(-1, 1)
+ scale = np.random.uniform(0.5, 2)
+ feed2 += a * np.sin(2 * np.pi * np.arange(n) * scale / n)
+ else:
+ a = np.random.uniform(-1, 1)
+ scale = np.random.uniform(0.5, 2)
+ feed += a * np.sin(2 * np.pi * np.arange(n) * scale / n)
+
+ self.n_layers = 2
+ self.layer_size = 128
diff --git a/virtual_microgrids/powerflow/network_generation.py b/virtual_microgrids/powerflow/network_generation.py
index ffb619f..647b1fd 100644
--- a/virtual_microgrids/powerflow/network_generation.py
+++ b/virtual_microgrids/powerflow/network_generation.py
@@ -122,12 +122,21 @@ def six_bus(vn_high=20, vn_low=0.4, length_km=0.03, std_type='NAYY 4x50 SE', bat
else:
if len(static_feeds) > 0:
for key, val in static_feeds.items():
- init_flow = val[0]
- print('init_flow: ', init_flow, 'at bus: ', key)
- if init_flow > 0:
- pp.create_load(net, bus=key, p_kw=init_flow, q_kvar=0)
+ if isinstance(val, dict):
+ for key2, val2 in val.items():
+ init_flow = val2[0]
+ print('init_flow: ', init_flow, 'at bus: ', key)
+ if init_flow > 0:
+ pp.create_load(net, bus=key, p_kw=init_flow, q_kvar=0)
+ else:
+ pp.create_sgen(net, bus=key, p_kw=init_flow, q_kvar=0)
else:
- pp.create_sgen(net, bus=key, p_kw=init_flow, q_kvar=0)
+ init_flow = val[0]
+ print('init_flow: ', init_flow, 'at bus: ', key)
+ if init_flow > 0:
+ pp.create_load(net, bus=key, p_kw=init_flow, q_kvar=0)
+ else:
+ pp.create_sgen(net, bus=key, p_kw=init_flow, q_kvar=0)
return net
@@ -186,6 +195,7 @@ def standard_lv(env_name, remove_q=True, static_feeds_new=None, clear_loads_sgen
applied_battery_locations = np.random.choice(net.bus.shape[0],
int(percent_battery_buses * net.bus.shape[0]), replace=False)
if len(applied_battery_locations) > 0:
+ print('Storage applied on nodes: ', applied_battery_locations)
num_batteries = len(applied_battery_locations)
for idx, bus_number in enumerate(applied_battery_locations):
energy_capacity_here = energy_capacity
@@ -209,14 +219,24 @@ def standard_lv(env_name, remove_q=True, static_feeds_new=None, clear_loads_sgen
if static_feeds_new is None:
print('No loads or generation added to network')
else:
+ print('Didnt think static_feeds_new was None')
if len(static_feeds_new) > 0:
for key, val in static_feeds_new.items():
- init_flow = val[0]
- print('init_flow: ', init_flow, 'at bus: ', key)
- if init_flow > 0:
- pp.create_load(net, bus=key, p_kw=init_flow, q_kvar=0)
+ if isinstance(val, dict):
+ for key2, val2 in val.items():
+ init_flow = val2[0]
+ print('init_flow: ', init_flow, 'at bus: ', key)
+ if init_flow > 0:
+ pp.create_load(net, bus=key, p_kw=init_flow, q_kvar=0)
+ else:
+ pp.create_sgen(net, bus=key, p_kw=init_flow, q_kvar=0)
else:
- pp.create_sgen(net, bus=key, p_kw=init_flow, q_kvar=0)
+ init_flow = val[0]
+ print('init_flow: ', init_flow, 'at bus: ', key)
+ if init_flow > 0:
+ pp.create_load(net, bus=key, p_kw=init_flow, q_kvar=0)
+ else:
+ pp.create_sgen(net, bus=key, p_kw=init_flow, q_kvar=0)
# Name buses for plotting
for i in range(net.bus.name.shape[0]):
diff --git a/virtual_microgrids/powerflow/pp_network.py b/virtual_microgrids/powerflow/pp_network.py
index 7a12cb1..b012fbc 100644
--- a/virtual_microgrids/powerflow/pp_network.py
+++ b/virtual_microgrids/powerflow/pp_network.py
@@ -45,9 +45,13 @@ def __init__(self, config=None, env_name='Six_Bus_POC', baseline=True,
self.graph = Graph(len(self.net.bus))
for idx, entry in self.net.line.iterrows():
self.graph.addEdge(entry.from_bus, entry.to_bus)
+ for idx, entry in self.net.trafo.iterrows():
+ self.graph.addEdge(entry.hv_bus, entry.lv_bus)
+
self.current_state = None
self.last_state = None
+
def reset(self):
"""Reset the network and reward values back to how they were initialized."""
if not self.config.randomize_env:
@@ -76,11 +80,19 @@ def step(self, p_set):
new_loads = pd.Series(data=None, index=self.net.load.bus)
new_sgens = pd.Series(data=None, index=self.net.sgen.bus)
for bus, feed in self.config.static_feeds.items():
- p_new = feed[self.time]
- if p_new > 0:
- new_loads[bus] = p_new
+ if isinstance(feed, dict):
+ for idx, feed2 in feed.items():
+ p_new = feed2[self.time]
+ if p_new > 0:
+ new_loads[bus] = p_new
+ else:
+ new_sgens[bus] = p_new
else:
- new_sgens[bus] = p_new
+ p_new = feed[self.time]
+ if p_new > 0:
+ new_loads[bus] = p_new
+ else:
+ new_sgens[bus] = p_new
self.update_loads(new_p=new_loads.values)
self.update_static_generation(new_p=new_sgens.values)
# Update controllable resources
@@ -301,7 +313,7 @@ def calculate_reward(self, eps=0.001, type=4):
line_flow_values = np.maximum(np.abs(self.net.res_line.p_to_kw),
np.abs(self.net.res_line.p_from_kw)) - self.net.res_line.pl_kw
self.reward_val -= self.config.cont_reward_lambda * np.sum(np.minimum(np.abs(line_flow_values),
- 1.0*np.ones(np.shape(line_flow_values)[0])))
+ 3.0*np.ones(np.shape(line_flow_values)[0])))
# Costs for running batteries
cap_costs = self.net.storage.cap_cost
max_e = self.net.storage.max_e_kwh
@@ -313,8 +325,9 @@ def calculate_reward(self, eps=0.001, type=4):
return self.reward_val
if __name__ == "__main__":
- env1 = NetModel(env_name='Six_Bus_POC')
- #env1 = NetModel(env_name='Six_Bus_MVP3')
- env1.config.reward_epsilon = 0.1
- env1.reset()
- env1.step([-0.02, -0.02])
+ env1 = NetModel(env_name='rural_1') # 'Six_Bus_POC')
+ # env1.config.reward_epsilon = 0.1
+ # env1.reset()
+ env1.step([-20.17500389, -20.46192559, -19.49983787, 19.80725726, 20.07191253, 20.18946847])
+ # env1.step([-0.02, -0.02])
+