diff --git a/README.md b/README.md index bd8e82b..ebb95c5 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ - Network, load flow calculation, security analysis and sensitivity analysis [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/powsybl/pypowsybl-notebooks/main?labpath=pypowsybl_lf_security_sensitivity_analysis.ipynb) - Operator strategy notebook: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/powsybl/pypowsybl-notebooks/main?labpath=operator_strategy.ipynb) - Computation using Dynaflow : [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/powsybl/pypowsybl-notebooks/main?labpath=dynaflow/pypowsybl_dynaflow.ipynb) +- Dynamic simulation using dynawo: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/powsybl/pypowsybl-notebooks/dynawo_simulation_nordic_case?labpath=dynawo/nordic_case/pypowsybl_dynawo.ipynb) - Sensitivity analysis and PTDF calculation [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/powsybl/pypowsybl-notebooks/main?labpath=sensitivity_analysis.ipynb) - Pypowsybl-Jupyter widgets notebook : [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/powsybl/pypowsybl-notebooks/main?labpath=pypowsybl_jupyter_widgets_demo.ipynb) diff --git a/dynawo/nordic_case/Network.par b/dynawo/nordic_case/Network.par new file mode 100644 index 0000000..fe37dfe --- /dev/null +++ b/dynawo/nordic_case/Network.par @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dynawo/nordic_case/Nordic.par b/dynawo/nordic_case/Nordic.par new file mode 100644 index 0000000..424ba18 --- /dev/null +++ b/dynawo/nordic_case/Nordic.par @@ -0,0 +1,1023 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dynawo/nordic_case/Nordic.xiidm b/dynawo/nordic_case/Nordic.xiidm new file mode 100644 index 0000000..753b35b --- /dev/null +++ b/dynawo/nordic_case/Nordic.xiidm @@ -0,0 +1,2207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dynawo/nordic_case/Solver.par b/dynawo/nordic_case/Solver.par new file mode 100644 index 0000000..88201fd --- /dev/null +++ b/dynawo/nordic_case/Solver.par @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dynawo/nordic_case/config.yml b/dynawo/nordic_case/config.yml new file mode 100644 index 0000000..35df1ce --- /dev/null +++ b/dynawo/nordic_case/config.yml @@ -0,0 +1,10 @@ +dynawo: + homeDir: "WORKING_DIR/dynawo" + +dynawo-simulation-default-parameters: + parametersFile: "WORKING_DIR/Nordic.par" + network.parametersFile: "WORKING_DIR/Network.par" + network.parametersId: "Network" + solver.type: SIM + solver.parametersFile: "WORKING_DIR/Solver.par" + solver.parametersId: "Solver" diff --git a/dynawo/nordic_case/pypowsybl_dynawo.ipynb b/dynawo/nordic_case/pypowsybl_dynawo.ipynb new file mode 100644 index 0000000..9b3c003 --- /dev/null +++ b/dynawo/nordic_case/pypowsybl_dynawo.ipynb @@ -0,0 +1,393 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Dynawo simulation - Nordic case" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Nordic test system is a variation of the so-called Nordic 32-bus system, which was created by the CIGRE Task Force 38-02-08 in 1995 to illustrate the voltage collapse in Sweden that happened in the year 1983. \n", + "The test case consists of four areas: an equivalent simplified network that has the biggest generators and therefore serves usually as the system reference, the northern region with few loads and more generation, a central area with more load than generation and a southern region loosely connected to the rest of the system.\n", + "One important characteristic of the system is the high power transfer from the North to the Central area. This characteristic is what ultimately results in long-term voltage collapse if the power transfer capability is affected, e.g. by losing one of the transmission lines that connect both areas.\n", + "The system comprises 20 generators (nineteen generators and one synchronous condenser) that are hydro and thermal generations. All loads are connected to 20 kV buses and controlled by Load Tap Changers (LTC)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1 - Dynawo install" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**For Windows**\n", + "Follow [this link](https://github.com/dynawo/dynawo?tab=readme-ov-file#installation) to install Dynawo.\n", + "**For Linux**\n", + "You can launch the following commands to download the latest distribution:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!curl -L $(curl -s -L -X GET https://api.github.com/repos/dynawo/dynawo/releases/latest | grep \"Dynawo_Linux\" | grep url | cut -d '\"' -f 4) -o Dynawo_Linux_latest.zip\n", + "!unzip Dynawo_Linux_latest.zip > /dev/null 2>&1\n", + "!rm Dynawo_Linux_latest.zip \n", + "!./dynawo/dynawo.sh help" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2 - Powsybl install" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pip install pypowsybl matplotlib pypowsybl-jupyter" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `config.yml` file provided with the notebook has to be edited for some properties:\n", + "- `dynawo/homeDir` with the Dynawo installation path\n", + "- `dynawo-simulation-default-parameters` properties with the path of the provided parameters files:\n", + " - `parametersFile` with `Nordic.par`\n", + " - `network.parametersFile` with `Network.par`\n", + " - `solver.parametersFile` with the path of `Solver.par`\n", + "\n", + "For Linux users, you can run the following commands:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!mkdir /home/$USER/.itools/\n", + "!cp config.yml /home/$USER/.itools/\n", + "!sed -i \"s|WORKING_DIR|$(pwd)|g\" /home/$USER/.itools/config.yml\n", + "!cat /home/$USER/.itools/config.yml" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3 - Base case" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pypowsybl as pp\n", + "import pypowsybl.dynamic as dyn\n", + "import pandas as pd\n", + "import os.path\n", + "from pypowsybl_jupyter import display_nad\n", + "\n", + "def plot(df):\n", + " df.plot(xlabel='Time').xaxis.set_major_formatter(lambda x, pos: '{:.0f} s'.format(x/1000))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Load initial situation" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c70975f73f56400dbdb07d2941360af0", + "version_major": 2, + "version_minor": 1 + }, + "text/plain": [ + "NadWidget(diagram_data={'svg_data': '\\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot(res.curves())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Comment on the result:\n", + "The line 4032-4044 is tripped at 1.1s, 0.1 s after the fault occurred. The system tends to settle to a new equilibrium around 30 s, where the voltage rate of change is slow. At around 34 s, the LTCs start acting, by changing taps several times, attempting to restore the distribution voltage and hence the load consumption. It can be seen in the figure with the different spikes where the LTC action, leads to an increase in the voltage level. The action of the LTC forces the generators to increase their reactive power injection and therefore their field current. Due to the actions of the LTCs, the OELs of some generators limit the field current. This leads to the voltage collapse depicted in the figure." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4 - Second simulation with tap changer blocking automation system" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Add a tap changer blocking automaton that will block the transformer when the monitored voltage is below a certain threshold" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "tcb_df = pd.DataFrame.from_records(\n", + " index='dynamic_model_id',\n", + " columns=['dynamic_model_id', 'parameter_set_id'],\n", + " data=[('TCB', 'TCB')])\n", + "# Transformers\n", + "tfo_ids = ['Tr11-1011', 'Tr12-1012', 'Tr13-1013', 'Tr22-1022', 'Tr1-1041', 'Tr2-1042', 'Tr3-1043', 'Tr4-1044', 'Tr5-1045', 'Tr31-2031',\n", + " 'Tr32-2032', 'Tr41-4041', 'Tr42-4042', 'Tr43-4043', 'Tr46-4046', 'Tr47-4047', 'Tr51-4051', 'Tr61-4061', 'Tr62-4062', 'Tr63-4063'\n", + " 'Tr71-4071', 'Tr72-4072']\n", + "tfo_df = pd.DataFrame.from_records(\n", + " index='dynamic_model_id',\n", + " columns=['dynamic_model_id', 'transformer_id'],\n", + " data={'dynamic_model_id': ['TCB' for tfo in tfo_ids],\n", + " 'transformer_id': tfo_ids})\n", + "# Measurement point\n", + "measurement1_df = pd.DataFrame.from_records(\n", + " index='dynamic_model_id',\n", + " columns=['dynamic_model_id', 'measurement_point_id'],\n", + " data=[('TCB', '1042_131')])\n", + "model_mapping.add_tap_changer_blocking_automation_system(df=tcb_df,\n", + " tfo_df=tfo_df,\n", + " mp1_df=measurement1_df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Run second simulation" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "network = pp.network.load('Nordic.xiidm')\n", + "res = sim.run(network, model_mapping, event_mapping, variables_mapping, 0, 300)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Display curve" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot(res.curves())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Comment on the result :\n", + "When adding a Tap Changer Blocking automation system, that blocks the LTCs when the voltage at bus 1042 is below 120kV, the voltage collapse is avoided, as shown in the figure." + ] + } + ], + "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.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}