{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Hosting Capacity\n", "\n", "The term PV hosting capacity is defined as the maximum PV capacity which can be connected to a specific grid, while still complying with relevant grid codes and grid planning principles. \n", "\n", "Here we will introduce a basic algorithm to calculate PV hosting capacity with pandapower.\n", "\n", "The basic idea of calculating hosting capacity is to increase PV installation until a violation of any planning principle or constraint occurs. To analyse hosting capacity, we need three basic building blocks:\n", "1. Evaluating constraint violations\n", "2. Chosing connection points for new PV plants\n", "3. Defining the installed power of new PV plants " ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### Evaluation of constraint violations\n", "\n", "Our example function that evaluates constraint violation is defined as:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandapower as pp\n", "\n", "def violations(net):\n", " pp.runpp(net)\n", " if net.res_line.loading_percent.max() > 50:\n", " return (True, \"Line \\n Overloading\")\n", " elif net.res_trafo.loading_percent.max() > 50:\n", " return (True, \"Transformer \\n Overloading\")\n", " elif net.res_bus.vm_pu.max() > 1.04:\n", " return (True, \"Voltage \\n Violation\")\n", " else:\n", " return (False, None)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The function runs a power flow and then checks for line loading and transformer loading (both of which have to be below 50%) and for voltage rise (which has to be below 1.04 pu). The function returns a boolean flag to signal if any constraint is violated as well as a string that indicates the type of constraint violation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Chosing a connection bus\n", "\n", "If new PV plants are installed, a connection bus has to be chosen. Here, we chose one random bus of each of the buses that have a load connection:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from numpy.random import choice\n", "\n", "def chose_bus(net):\n", " return choice(net.load.bus.values)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Chosing a PV plant size\n", "\n", "The function that returns a plant size is given as:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from numpy.random import normal\n", "\n", "def get_plant_size_mw():\n", " return normal(loc=0.5, scale=0.05)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This function returns a random value from a normal distribution with a mean of 0.5 MW and a standard deviation of 0.05 MW. Depending on the existing information, it would also be possible to use other probability distributions, such as a Weibull distribution, or to draw values from existing plant sizes." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Evaluating Hosting Capacity\n", "\n", "We now use these building blocks to evaluate hosting capacity in a generic network. We use the MV Oberrhein network from the pandapower networks package as an example:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import pandapower.networks as nw\n", "def load_network():\n", " return nw.mv_oberrhein(scenario=\"generation\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The hosting capacity is then evaluated like this:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "iterations = 50\n", "results = pd.DataFrame(columns=[\"installed\", \"violation\"])\n", "\n", "for i in range(iterations):\n", " net = load_network()\n", " installed_mw = 0\n", " while 1:\n", " violated, violation_type = violations(net)\n", " if violated:\n", " results.loc[i] = [installed_mw, violation_type]\n", " break\n", " else:\n", " plant_size = get_plant_size_mw()\n", " pp.create_sgen(net, chose_bus(net), p_mw=plant_size, q_mvar=0)\n", " installed_mw += plant_size" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This algorithm adds new PV plants until a violation of any constraint occurs. Then, it saves the installed PV capacity. This is carried out for a number of iteration (here: 50) to get a distribution of hosting capacity values depending on connection points and plant sizes.\n", "\n", "The results can be visualized using matplotlib and seaborn:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\mmilovic\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", " warnings.warn(\n", "C:\\Users\\mmilovic\\anaconda3\\lib\\site-packages\\seaborn\\_core.py:1326: UserWarning: Vertical orientation ignored with only `x` specified.\n", " warnings.warn(single_var_warning.format(\"Vertical\", \"x\"))\n", "C:\\Users\\mmilovic\\AppData\\Local\\Temp\\ipykernel_20740\\1254395083.py:14: UserWarning: FixedFormatter should only be used together with FixedLocator\n", " ax.set_xticklabels([\"\"])\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA8sAAAHLCAYAAAD/bgqGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAACbJklEQVR4nOzdd3xUZdrG8d+ZSU8oIbTQm/ReRMCCFCkqRRQQRcVX0EVUdHXtuq5t1RUVsSsWsNGkKkiRrhBKQGpogdACIYT0MjPn/SNmJBBgMkk4Kdf388luOHPOnCthiLnneZ77MUzTNBERERERERERN5vVAURERERERESKGxXLIiIiIiIiIudQsSwiIiIiIiJyDhXLIiIiIiIiIudQsSwiIiIiIiJyDhXLIiIiIiIiIudQsSwiIiIiIiJyjlJTLJumidPpRNtGi4iIiIiISEGVmmLZ5XIRGRmJy+WyOoqIiIiIiIiUcKWmWBYREREREREpLCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM6hYllERERERETkHCqWRURERERERM7hY3UAEREREZGzmaaJy8z+f9ME86/jxl//YwCGAYZhYDMM64KKSKmmYllEREREioRpmjhcJgbgY889oTE9y0mGw5X9/1ku0rIcpGU5SclwkpbpJC3LSXpWzv+7cJkm/j42/Ow2fP/6fz8fG0F+dsoH+FIuwIdg/+yPQF87fj42j3KIiFyIimURERER8VqW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eCMTJkywOo4UoZxCY/2BeB6fvoVD8doKSkqOoR1r8+LNzfH3sWmUWeQc+do6qkaNGgwcOJCBAwcCcOrUqVzF8549e0hLS2P16tWsWbMGgMqVK7unbHfr1o2wsLDC/ypERESKmdOnTwPZU8ul9HI4XThcJq8u2MnUdQfxfAhCpHiYtiGG5btP8NrgVvRqXg2XaWLTKLMIUMB9lsPCwujbty99+/YFICkpiY0bN7qL5+3bt3Py5EnmzJnD3LlzAWjSpAmzZ88ucHAREZHizOVyAWhpUim38dBpHp++hZj4NKujiHjtRFIG932zgRtbhfPq4JaEBPjgo21dRfI3DTu/MjIyWLlyJT/++CNr167F5XJhGAY7d+4s9HtpGraISPHn6TTsJk2aALBmzRr++9//snTpUmw2Gy1atGDy5Mn4+PjgcDiYP38+CxcuZPv27SQkJODj40PVqlXp3Lkzo0aNon79+rmed+TIkaxfv57PPvuMqlWr8tFHHxEREUFiYiLVqlWjZ8+ePPDAA3k2rpw/fz4zZ85k+/btpKamUq5cOZo3b87AgQO56aabsP31i2XOPc517tccGxvLV199xYoVKzhy5Ag2m406derQu3dv7rrrLsqXL5/n92706NG0bduWt956iyNHjlC1alX++c9/0qZNG3r27Em1atVYvnw533//PdOnT+fAgQMEBgbSoUMHHnvsMRo2bEh8fDwffPABS5cuJS4ujrCwMHr27Mmjjz5KuXLlzsuenJzM119/zeLFizl48CCmaVK7dm169+7NPffcc17WnAZv/fv358477+Q///kP+/bto2LFitx3333cc889F/y7LwkcLheY8OrPO/lqbbRGk6VUqRjkyyuDWnJT6xpayyxlXoFGlvOya9cu1q9fz/r169m2bRuxsbFA9noegMDAwMK+pYiIlFIPPfQQmzdvpnHjxsTHx1OlShV8fHxIT09nzJgxrFu3DsguRBs3bsypU6eIjo4mOjqaefPm8e2339K8efPznnflypX88MMPmKZJvXr1CA4O5tChQ3z99dcsX76cWbNmERIS4j7/9ddf56uvvnLfq3bt2pw4cYLVq1e7P958800gu0mZw+Fg27ZtZGZmUq9ePSpVqkSVKlXcz/f777/z0EMPkZSUhK+vL40aNcLhcBAVFcWuXbuYMWMGn3zyiftNg7NFREQwefJkKlSoQMOGDdm3bx/NmjVzP+5yuXjkkUf49ddfqVatGnXr1mX//v0sWbKEiIgIPvnkEx5++GHi4uKoW7cuNWrU4ODBg3z77bfs2LGD77//Ptcvx/v27WP06NEcOXIEu91O7dq1CQgIYO/evXzwwQfMnj2bzz77jIYNG56Xdf/+/dx3333Y7XauuOIK9u3bVyy3n8wPh8tFXFImD0zdqE7XUiolpGYx7rvNrNoTx8sDW2IzTK1lljKrwMXyiRMnWLVqFatWreKPP/7gzJkzwN/FsWEYNG3alKuvvtrdLVtERMQT27ZtY8qUKXTq1AmXy0ViYiIAn332GevWrSM0NJRPP/2U1q1bu6/ZunUrY8eO5eTJk3z88cdMnDjxvOedMmUK3bt35+WXX6Zq1aoALF26lIceeoiDBw8yY8YM9+jnvn37+Oqrr/D39+ezzz6jc+fO7ueZPXs2Tz/9NHPmzGHEiBG0bduW559/HoAePXpw5MgR7r//fm655Rb3NUeOHGHs2LGkpqbSo0cPXn75ZSpXrgxATEwMTzzxBJs3b+aBBx5g7ty55430RkZG0rt3byZMmICfnx/x8fFUqlSJw4cPA3Dy5EmWLVvGf//7XwYNGoRhGERFRTF06FDOnDnDiBEjaNq0KVOmTKFevXoAzJw5k2eeeYbNmzcTERHhXmedmprKP/7xD44cOULPnj158cUXqVatmvs+zz33HMuXL2fs2LHMmTOHgICAXFl37dpF27Zt+fzzzylXrhynT5+mYsWKnr8AiqFVUXGM/zGSM2lZVkcRKVI/RsQQeSiBj0d2oE6lIOw2jTBL2ZPvt4kcDgd//PEHb731FgMGDOC6667jueeeY9GiRSQkJGCaJmFhYQwcOJC33nqLNWvW8NNPP/HPf/6Tq666Cl9f36L4OkREpBTq168fnTp1AsBms7kLrbVr12Kz2Rg3blyuQhmgdevW3H777QBERUXl+bxhYWFMnDjRXSgD9OzZk2uvvRaATZs2uY/v3r0bgPr16+cqlAEGDRrE7bffzk033URmZqZHX9Mnn3xCamoqjRs35r333nMXygC1a9fmk08+oUqVKhw9evSCe04/+eST7rXQeU0Zv/XWWxk8eLB7hLhx48b07NkTyH4z+7333nMXygBDhgyhZs2aAOzYscN9fPr06Rw8eJAWLVrw/vvvuwtlgCpVqvDee+9Rs2ZNoqOjmTVrVp5Zx48f7y74Q0NDS+SUTqfLhctl8sYvu7j36wgVylJm7I5Nov97q/hp8xHg78EwkbLCo5HlmJgY9+jxunXrSEvLbmKR8w/Gz8+Pjh070q1bN66++uo8p42JiIjk14VmI33//fdkZWVdsPDKWfKTnp6e5+NdunTB39//vOMNGzbkt99+IykpyX2sbt26QPYo6RtvvMGwYcNyFZovvPCCR19LjuXLlwNw++2359n8q0KFCgwZMoSPP/6YJUuWMHbs2FyPV6lShdq1a1/0Ht27dz/vWE4xXL9+ferUqXPe41WrVuXIkSMkJye7jy1ZsgSA/v3759kPJCAggD59+jB58mR+++03RowYketxm81Gu3btLpq1uHM4XSSkZfHgt5tYdyDe6jgil11alpPHp29h3f5TvDa4FYamZUsZ4lGx3Lt3b/cvJDkFcqNGjdxTq6+88so8f+kQEREpiLPX+Z7L19eXM2fOEBkZSXR0NDExMURHR7Nz507i4uKAvztSn+vsEdKz5Uwjdjgc7mMtWrTg5ptvZt68eUyePJnJkydTs2ZNunTpwtVXX80111yTa33zxSQnJ7t7ebRs2fKC57Vo0QKAAwcOnPfY2aPhFxIeHn7esZyZXXmNRJ/9+NkjRzkj89OnT2fp0qV5Xpfzvd6/f/95j5UvX/68qdkliWmabDh4mnHfbSIu2bOZAyKl1fSNh9lxLJHP7+5IlRB/FcxSJuRrzXJoaCijRo1i4MCBHv3HWkREpCAuVGglJyfz6quvMm/ePLKy/p4S6+vrS4sWLWjWrBmrVq264PPmd0nQW2+9xVVXXcX06dPZsmULR44cYcaMGcyYMQN/f3+GDh3Kv/71r0tuE5WSkuL+/GIFds5jqamp53Wj9eTN6Ys107TlYzuYnFHmnKZpF3P2aHyOkvpGutNlYhjw/rK9vLckCpdmnooAsP1oIv3eW8Wk29vRrVHlErmsQiQ/PC6WTdPk9OnTTJgwgQULFuRq2KU9JEVE5HIaO3Ys69atIyAggDvvvJM2bdpwxRVXULduXXx9fZk2bdpFi+X8MgyDW2+9lVtvvZX4+HjWrVvH+vXr3ds+5awtfu655y76PMHBwe7Pz57ufK6cZplBQUGW/jIaGBhIUlISH3/8Mddff71lOS4nh9NFWpaTcd9tZkXUSavjiBQ7CalZ3DV5PY/2bsxDPa7Q9lJSqnn09vKkSZMYNmwYNWpk77e2a9cuvvjiC+699146d+7MmDFj+Prrr9m3b19R5xURkTIuMjLSvWXUJ598wlNPPUW/fv1o1KiRe8T4+PHjhXa/5ORktm3b5p5mXKlSJfr168eLL77I0qVL3c3E5syZc8nnCgkJcU8t37Zt2wXPy3ns7LXRVsjZp3rPnj0XPCc6Opo///yT+PiSv57X4XQRl5zJoA/WqlAWuQiXCW//GsWjP0biMrNnY4iURh4Vy7169eKll15i6dKl/PLLLzzzzDNcffXV+Pv7k5aWxsqVK/nvf//LTTfdxPXXX89zzz3HwoUL3Vt8iIiIFJacLZIg73W/aWlpLFiwAACn01ng+02cOJEhQ4bwxhtvnPeYYRh06dIlX/fq0aMHkN2kLK8O2mfOnGH27NkA7u7cVskZTZ4xY0aezdIcDgdjx47l1ltvzfP7U5I4XC72nUxhwKTV7Dt54VF/EfnbT5uPcPfk9WQ6XDicefeIECnJ8r0yv379+tx111189tlnrF+/ni+++IJ77rmHBg0aYJomx44dY+bMmTz66KN06dKFYcOG8f7777Np06YLNloRERHxVIMGDdyff/DBB7nWLO/du5fRo0e719fm7N5QEAMGDMAwDJYvX87nn3+e635Hjx7l448/BuC6667z6PlGjx5NcHAwUVFRPPLII5w6dcr9WExMDPfffz9xcXFUq1aNu+++u8D5C+KOO+6gSpUqHDx4kH/84x8cPXrU/Vh8fDzjx49n3759+Pr6cu+991qYtGBcLpOIA/EM+WgtJ5IyrI4jUqKs3hvHrR+vJTHdoYJZSp18Nfg6l5+fH926daNbt2489dRTHD9+3L3F1O+//05SUhJbtmxh69atfPjhh4SEhNClSxcmTpxYWPlFRKSMad68Of369eOXX35h8uTJzJo1i1q1apGQkOAede7WrRtr1qwhJSWF5ORkj7tV56Vly5aMHz+ed955h7feeotPPvmEWrVqkZaWRkxMDA6Hgzp16vDUU0959Hy1a9dm4sSJPPLIIyxbtozrrruORo0a4XQ62bt3Ly6Xixo1ajBp0qQLdq6+XCpUqMBHH33EP/7xD9auXUvPnj1p1KgRhmFw4MABMjMz8fHxYcKECSV628i5W47yxIwtZDk1lVTEG9uPJjJg0mq+va8zNSsGqlO2lBoFKpbPVb16dW677TZuu+02XC4XO3bsICIigrVr17JmzRqSkpJYvHhxYd5SRETKoLfffpuuXbsybdo0Dh06xO7duwkNDeX6669n+PDhdO/eneuvv56jR4+ybNkyBgwYUKD7PfDAAzRq1Ihp06axfft2oqKiCAgIoFmzZvTu3ZuRI0cSFBTk8fNdffXVLFiwgC+//JIVK1Zw4MABfH19adasGX379mX48OGUL1++QJkLS6tWrZg3bx5Tpkxh2bJlHDx4kKysLKpUqcKVV17JqFGjaNq0qdUxvfbR8r28uWg3pupkkQI5fDqNQR+s4atRV9KyZgXsNjX9kpLPMM3C/8/D3r17iYyMZNu2be5fKjIzM93d8nbu3FnYt8TpdBIZGUnbtm2x2+2F/vwiIiJSOrhcJhjw77nb+eb3g1bHESlVAnxtfDCiPdc3rYpNXbKlhCvwyHJmZiZbt25l06ZNbNq0ic2bN7sbe+XU4TabjWbNmtG1a1d3IxQRERGRy83pcuFywbjvN7Noe+F1TReRbOlZLsZM2cgrg1py+5V1rI4jUiD5Lpbj4+PZtGkTGzduZPPmzWzfvh2HwwH8XRwD1K1bly5dutC1a1c6d+5MhQoVCi+1iIiISD45XS7SMl3c8+V6Nhw8bXUckVLL6TJ5etafHE1I4583lNx+BiIeFcvTp093jxwfOnTIffzs4rhy5cp06dLF/REeHl74aUVERES84HS5yHC4uOPzP9hy+IzVcUTKhPeX7SU9y8WzNzazOoqIVzwqlp9//nkMw8hVHIeEhNCpUyf36HGjRo2KLKSIiIiIt5wukyynyV1frFehLHKZfbZqP4F+Nh7rrRFmKXk8nobt4+ND27Zt3euOW7dujc2mtvAiIiJSfLlcJk6XyaivIjT1WsQiE5fuJdDXzj+6a3BNShaPiuUvvviCDh06EBAQUNR5RERERAqFy2XiMk1Gf7OB3/edsjqOSJn2xsLdBPjauadrPQx1yZYSwqNiuVu3bkWdQ0RERKTQuEwTExj77SZWRJ20Oo6IAC/N20GAr53hnWqrYJYSwaNi+ejRo4V60xo1ahTq84mISMmXmZnJ7NmzWbZsGbt27SI+Ph6bzUaNGjXo0KEDgwcPpn379lbHvKTDhw/Ts2dPAH799Vfq1q1rcaK8vf/++0yaNIn27dvz/fffu4+PHDmS9evX88ADD/Doo49amNB7pmmCCY/8sJlfd8RaHUdEzvLsT38S4GtnYNsa2odZij2PiuUePXoU2rs/hmGwY8eOQnkuEREpHVavXs1zzz3HsWPHAAgNDaVRo0YkJydz6NAh9u3bx7Rp0+jTpw+vvfYaISEhFieW4so0TQzD4PHpkczfeszqOCJyDpcJj0/fQqCvjRuaV8dmU8EsxZfHDb7O7oQtIiJSWGbPns0zzzyD0+mkY8eOPProo3To0MH9Jm1ycjLTp0/ngw8+YNGiRezdu5evv/6aKlWqWJy8dHrjjTdIS0sjNDTU6iheMQyDZ2b9ycxNR6yOIiIX4HSZPPT9Zj4d2ZFrG1fBroJZiimPi+WcX1oqV65Mv379aNZM+6WJiEjBbN++neeffx6n08nw4cN58cUXz9tpISQkhFGjRnH11Vdz7733sm/fPp555hk+++wzi1KXbiV9qdQrC3bw3fpDVscQkUvIcpo8MHUjX426kk71Q/HRLjtSDHlULI8cOZKFCxdy8uRJTp48yZQpU6hfvz433ngjN954I/Xq1SvimCIiUhq9+eabZGZm0qpVK1544YWLbkl4xRVX8J///IcHHniAlStXMnv2bAYNGnT5wkqx5jJNvv3jIJ+vOmB1FBHxUIbDxf1TNjDvoaupWTEQH7sKZilePHpFPvvss6xcuZKvv/6aoUOHUqFCBfbv38+kSZPo168fQ4YM4csvvyQ2Vk00RETEM3v27OGPP/4A4P/+7/+w2+2XvOb666+nXbt2AEydOhWA1NRU2rVrR5MmTVi8ePEFrx01ahRNmjTh3XffzXU8Li6ON998k/79+9OmTRvatWvHkCFDmDx5MhkZGec9z/vvv0+TJk343//+x5IlS+jTpw8tW7akR48eLFiw4JJfw4EDB3jxxRfp3bs3LVu2pEOHDgwdOpSvvvqK9PT0PK9xOBzMnj2bBx54gGuuuYZWrVrRrl07+vTpwwsvvMCBA3kXiC6Xi5kzZzJ8+HA6duxIx44dGTNmDFu3br1gvpEjR9KkSRPeeecd97HDhw/TpEkTunXrhmmaTJ8+ndtuu4127drRrl07hg0bxsyZMy+4ZGv//v0888wz9OzZk1atWtGjRw/eeOMNkpKS3Pdbt27dJb93F+J0mazZG8e/56knikhJk5juYNSXEaQ7XDhdWvYpxUu+pmF37tyZzp0788ILL7BmzRoWLFjAsmXL2L59Ozt27OCtt96iQ4cO3HjjjfTp06fErncSEZGit3btWgBsNhvXXHONx9f17t2bzZs3s23bNk6dOkVYWBh9+/Zl1qxZzJ07l969e593TWxsrLswv+WWW9zHN27cyNixY0lISMDX15d69ephmibbt29n27ZtzJkzh88//zzP9dERERFMnjyZChUq0LBhQ/bt23fJJUpz587l2WefJTMzk4CAABo3bkxKSgpbtmxhy5YtzJw5k88++4zq1au7r0lPT2fMmDHuYrJmzZo0btyYU6dOER0dTXR0NPPmzePbb7+lefPm7usyMzN59NFHWbJkCQB16tQhJCSEtWvXsnbtWlq1auXx9zyHaZo8+eSTzJkzh/Lly1O/fn1iYmKIjIwkMjKSAwcO8Pjjj+e6ZtWqVTz88MOkpqYSFBRE48aNiY2NZfLkyfz222/4+Hj8q0ieHE4XB0+lMnbqJv2iLVJC7Y9L4R9TN/L1qCutjiKSi1dzHXx8fLjuuut48803Wbt2Le+//z433HADfn5+RERE8NJLL3HNNdcwZswY5syZQ0pKSmHnFhGREm7Xrl1AdvGXn+7WOQWhaZpERUUBMGTIEACWL19OUlLSedfMmzcPl8tFx44dqVOnDpBdQOcUykOHDmXt2rXMnz+fBQsW8Ouvv9KmTRt27drF+PHj88wRGRlJjx49WLFiBXPmzGHlypU0aNDggrm3bNnC008/TWZmJkOHDmXNmjXMmjWLRYsWMXv2bOrVq0dUVBRjx47F4XC4r/vss89Yt24doaGhTJ8+nWXLljFz5kyWL1/O9OnTqVKlCqmpqXz88ce57vfFF1+wZMkSypUrx5dffsnixYv56aefWLp0Ke3atWPTpk0ef89znDp1ivnz5/Pss8/yxx9/MGvWLFavXs2AAQMA+PLLL4mPj891/mOPPUZqaiqDBw9m9erVzJw5k1WrVvHaa69x+PBh9uzZk+8cOZwuk6R0B3d/uZ6kDMelLxCRYmvVnjheWaDZIVK8FHhhgJ+fH7179+a9995j7dq1vPXWW1x33XUYhsHKlSt56qmn6NatGw8//DC//vormZmZhZFbRERKuNOnTwNQsWLFfF0XFhbm/jynMOvYsSN169YlMzOThQsXnnfNnDlzgNyjyl988QUJCQn06NGDl19+mfLly7sfq1OnDh9++CEhISFs2LCBFStW5JnlySefxM/PD4BKlSpdNPfEiRNxOBxcffXVvPzyy7neIGjWrBmff/45AQEBbN++Pdd07rVr12Kz2Rg3bhytW7fO9ZytW7fm9ttvB3C/cQCQlZXF559/DmQvperatav7sWrVqjFp0qR8f99zjBgxgrvuuss9bd7f359nnnkGwzBwOBy5pnhPnjyZxMREWrduzWuvvUZwcDCQPVttyJAhPPLII15lgOw3S0zT5P++3sDh02leP4+IFB+T10QzLSIGl2aJSDFRqKvog4KCuPnmm/n4449Zs2YNr776KldffTUOh4PFixfzyCOP0K1bt8K8pYiIlFA564F9fX3zdd3Za5vPXiM7ePBgIHuq89l27txJVFQUQUFB9O3b1308Z3pyzqjouSpXruz+b9Zvv/123uNVqlShdu3aHmVOTU11T6O+66678jyndu3a9OrVC4ClS5e6j3///fds3bqV4cOH53ldYGAgQK71zhs2bCA5ORl/f39uvPHG866pUKEC/fv39yj7ua6//vrzjoWGhrrfLEhMTHQfz/keDxs2LM/mbSNGjMj3338OwzB4bvY2Nh067dX1IlI8PTd7G5ExCTicLqujiHi+Zjm/ypcvz5AhQ6hfvz5VqlThp59+wjRNkpOTi+qWIiJSguSMbJ45cyZf1+WMSEPu0dzBgwczceJEIiIiOH78uHvdb86ocp8+fdwjmykpKRw5kr0P74cffsg333yT571yztm/f/95j1WtWtXjzDExMWRlZQHQsmXLC57XsmVL5s+ff17DLl9fX86cOUNkZCTR0dHExMQQHR3Nzp07iYuLA7KbeeXIub5u3bruke9zebsFZLVq1fI8HhAQAIDT6QSy10xHR0cD0LRp0zyvCQ4Opn79+rlGxT3hcpl8t/4QP0TE5Os6ESn+Mp0uRn+zgQUPX0PlED91yBZLFUmxvGnTJn755Rd+/fVXTpw4AWS/+2+z2ejYsWNR3FJEREqYpk2b8vPPP3Po0CHS0tLcI6SXsnPnTvfnjRs3dn9evXp1unbtyurVq5k3bx6jR4/G6XQyf/58IPcU7LPfuPWkUMtrHbS/v79Hec+9X7ly5S54Xs7U7LN7fSQnJ/Pqq68yb948d8EN2QV0ixYtaNasGatWrcr1PDmju0FBQRe819nTzvPjUiPBOaP9Z7+pcbEc+VmvDtkNvbYcPsNL87bn6zoRKTlOpWRy71cRzBrbFZthYrMZVkeSMqrQiuVNmzaxcOFCFi1alKtANgyDtm3b0r9/f/r27ZtnR1ERESl7unfvzoQJE8jKymL58uX069fPo+typva2aNGCypUr53psyJAhuYrltWvXcvLkSWrXrk2nTp3c551dmM+bNy9X0V0Ucka0IbvwPnvd9dlyRtnPPn/s2LGsW7eOgIAA7rzzTtq0acMVV1xB3bp18fX1Zdq0aecVyzmj9hebzXWhbaoKy9kF8sVy5KcJqNNlcjo1i/unbCDLqTWNIqXZjmOJPPJDJJ+M7GB1FCnDClQsb9682T2CnLPHcs47yq1ataJ///7069cv1xYYIiIiAE2aNKFz586sW7eOjz/+mJ49e15wynCOiIgI9xZQd95553mP9+rViwoVKrB79273lkoAgwYNwjD+HpkoX748lStXJi4ujr17916wWN69ezcul4saNWpQoUIFb79U6tSpg4+PDw6Hg23btnHdddfled62bduA7OnTkN1xO2et8yeffMJVV1113jXHjx8/71j9+vUBOHjwoHvLpnPt3bvXuy/GQ+XKlSM8PJxjx46xe/fu85qTQfa69Zyp2p4wDBj33SbiktUsVKQsWLT9OB8t38v91zXEZmh0WS6/fC8C2Lx5M6+//jrdu3dnxIgRTJkyhePHj2OaJk2aNOGxxx5j8eLFTJ8+nVGjRqlQFhGRC3r55ZcJCgpi165dvPjii+71rnk5dOgQTzzxBADdunVzN/Q6m5+fHzfddBMAP//8M0uXLsUwjDzP7d69OwBTp07Ntd43R1JSEnfddReDBg3i66+/9ubLcwsKCnIXuhdaHx0TE8OyZcsAuPbaawE4fPiw+/G81jqnpaW5O2ef/b3r2LEjYWFhZGVlMX369Dyvy5meXpRy9ryeOXNmrmZsOX766Sd3o7dLcZkmHy/fx7oD8Zc+WURKjbd/jWL70UQ1/BJLeFQsR0ZG8vrrr3P99dczYsQIvvnmG3eB3LBhQx566CF++eUXZs+ezZgxYzzuDioiImVb3bp1efXVV/Hz82PWrFncfffdbN68Odc5qamp/PjjjwwdOpRjx45Rp04d3njjjVwjxWfLWZv8+eefk5ycTOfOnalZs+Z5540ZM4agoCA2btzIE088kWt/4CNHjjBmzBgSEhIoV64cd9xxR4G/1nHjxuHj48Pq1at5/vnnc01N3rVrF6NHjyYjI4OmTZsyaNAggFz7Nn/wwQe51izv3buX0aNHu0dm09L+3j7Jbre7t2V6++23c21Fdfr0acaPH8+xY8cK/DVdyr333ktwcDCbN2/m3//+d66Mixcv5o033vDoeRxOF7uOJfHOkvw1AhORks/hMnnw201kOU1cebzpJlKUPJqGPXz4cAzDcL8rXLduXfr378+NN95Io0aNijSgiIiUbv3796dmzZqMHz+eiIgIhg8fTlhYGOHh4WRkZHDw4EEyM7On3fbr149XXnnlok2hWrZsSePGjd2Nu85u7HW2unXr8u677/Loo48yf/58Fi1aRKNGjcjKyiI6OhqHw0FQUBCffvrpBdcY50e7du149dVXee6555g2bRpz586lYcOGpKamurtXN27cmEmTJrmnozdv3px+/frxyy+/MHnyZGbNmkWtWrVISEhwjzp369aNNWvWkJKSQnJysvt7M2zYMKKiopg6dSqPPfYY//vf/6hUqRJ79uwhMzOTXr16udd/F5Xw8HDefPNNxo8fzw8//OD+mk+dOsXRo0dp1qwZe/fuJSsrK9eWYGczTROnafLQ95u0TlmkjDoUn8ozP/3JO8PaWh1Fyph8rVk2DIPGjRvTvHlzjh8/zhdffJHvGxqGwWuvvZbv60REpPRq06YNixYtYs6cOSxevJgdO3awe/du7HY7derUoWPHjgwePJi2bdt69HxDhgzh9ddfJyQkhBtuuOGC51133XUsWLCAr776ilWrVnHgwAGcTic1a9akW7du3HvvvYU6W2rQoEG0atWKr776irVr17Jnzx6CgoJo3749N910E7feeut5XbbffvttunbtyrRp0zh06BC7d+8mNDSU66+/nuHDh9O9e3euv/56jh49yrJly3LtG/3888/TpUsXpkyZwq5du0hISKBVq1aMHTuWuLi4Ii+WIXsd+cyZM/n444+JiIhg165dVKtWjfvvv5/777+fzp07A1ywG7phGLw8bwf7TnreCExESp+fNh/husZVuLlNDezqji2XiWHmtYjoHE2bNr3gdLf8yOmOffa2H4XF6XQSGRlJ27ZtL/jutIiIiBQfqamptGvXDoCVK1eet4ezw+li1Z44Rn0VYUU8ESlmyvn7sPix66hSzg+7TfsvS9HzaGS5Ro0aRZ1DRERESplnn32Wbdu2cffd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DAAAAHBjhGU0esHBwXrttdc0e/Zsff3110pKStIXX3yho0ePqqKiQocPH1ZsbKy2b99eq+2jCgsLNW3aNGVlZclisWjYsGGKjo5WRESEunbtqg4dOkiSJk+e3CBhuapRWHBwsJKSkm7p2qrp5pJjq6gbqVrbDQAAADQWhGXgKovFor59+6pv37567rnnlJeXpz//+c/asmWLzp49q127djm3k7qZf/7zn86GW0uXLtWYMWOue15+fn6D1B0aGuq8X3FxsbPzd22EhYU5v05PT1fPnj2ve15DhHoAAADAndANG43WsWPHNHnyZA0aNEhpaWk1Hg8KCtLs2bOd358/f75W9z169KgkxxrqGwXlc+fOOfc7ttvtt1h5ddHR0ZIcW0jt3bv3hudt3bpV/fv310MPPaTDhw9LcqxFrgrMu3fvvuG1+/btq1eNAAAAgLshLKPRCgkJ0bFjx3Tp0iW9//771z3nu+++c35tboBV1Xm7vLy82nGr1SpJunTpknOLpmuVlpZqzpw5zmZj5utv1ciRIxUcHCxJeuutt667FVVeXp7++te/qri4WDk5OdW2iKraFio+Pl779++vcW1mZqbee++9etUIAAAAuBvCMhqt1q1bO6dVr1u3TrNmzdKxY8eUl5enzMxMbdy40bkFVEhIiEaMGFHt+sDAQEmOEdm8vDzntOr7779fkmPE+Omnn9b+/fuVm5urzMxMffzxxxo/frw+//xz531utNVTbfn4+GjOnDmSHI3Fxo8fry1btuj8+fM6f/68du7cqWnTpun06dOSHHsxBwQEOK+fMWOGOnXqJLvdrmeffVb/+Mc/lJ2drZycHG3ZskWTJ0+useUWAAAA4OlYs4xGbfbs2UpPT1dycrI2bdqkTZs21TgnODhYK1ascG4/VWXw4MHatm2bEhISNGTIEIWFhWnPnj0aP3684uPjdejQIX377beKjY2tcc8uXbooMjJScXFxysrKUnl5eZ26eVcZO3asCgsLtWDBAmVlZWnmzJk1zjEMQ88//7wmTpxY7bivr69WrlypGTNmKD09XYsWLdKiRYucj1ssFs2cOVMLFy6sc30AAACAuyEso1Fr1qyZ1q5dq48++kjbt29XamqqLl++rICAAIWHh2vEiBF68sknr7t10rx58+Tl5aWEhARnJ+nS0lL5+vpq1apVWrNmjeLj43Xy5EmVl5erefPm6tatm375y1/q8ccf1zfffKO4uDiVlJTo888/rzFyfasmTZqkoUOHas2aNdq/f7+ys7NVXl6uNm3aKDo6WlOnTlVUVNR1r23fvr02bNig9evXa+vWrTp16pSsVqv69u2rZ555Rh07diQsAwAAoFExKqsWTgIAAAAAAEmsWQYAAAAAoAbCMgAAAAAAJoRlAAAAAABMCMsAAAAAAJgQlgEAAAAAMCEsAwAAAABgQlgGAAAAAMCEsAwAAAAAgAlhGQAAAAAAE8IyAAAAAAAmhGUAAAAAAEwIywAAAAAAmBCWAQAAAAAwISwDAAAAAGDy/wHn1imKpgg0/gAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "plt.rc('xtick', labelsize=18) # fontsize of the tick labels\n", "plt.rc('ytick', labelsize=18) # fontsize of the tick labels\n", "plt.rc('legend', fontsize=18) # fontsize of the tick labels\n", "plt.rc('axes', labelsize=20) # fontsize of the tick labels\n", "plt.rcParams['font.size'] = 20\n", "\n", "import seaborn as sns\n", "sns.set_style(\"whitegrid\", {'axes.grid' : False})\n", "fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(10,5))\n", "ax = axes[0]\n", "sns.boxplot(results.installed, width=.1, ax=ax, orient=\"v\")\n", "ax.set_xticklabels([\"\"])\n", "ax.set_ylabel(\"Installed Capacity [MW]\")\n", "\n", "ax = axes[1]\n", "ax.axis(\"equal\")\n", "results.violation.value_counts().plot(kind=\"pie\", ax=ax, autopct=lambda x:\"%.0f %%\"%x)\n", "ax.set_ylabel(\"\")\n", "ax.set_xlabel(\"\")\n", "sns.despine()\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Note that this is only an example for a basic algorithm in order to demonstrate how such problems can be tackled with pandapower. Algorithms applied in real case studies might include Q-control of PV plants, transformer tap controllers, more sophisticated distribution of PV plants, probability distribution different buses, binary search for the hosting capacity evaluation etc." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 2 }