Volt-Var Optimization (WSU)
This repository contains the restoration application for IEEE 9500-node model (https://github.com/GRIDAPPSD/Powergrid-Models/tree/develop/blazegraph/test/dss/WSU). The application is hosted on GridAPPS-D platform.
Layout
Please clone the repository https://github.com/GRIDAPPSD/gridappsd-docker (refered to as gridappsd-docker repository) next to this repository (they should both have the same parent folder)
Creating the restoration application container
From the command line execute the following commands to build the wsu-restoration container
osboxes@osboxes> cd WSU-VVO-app osboxes@osboxes> docker build --network=host -t wsu-vvo-app .
Add the following to the gridappsd-docker/docker-compose.yml file
wsu_vvo: image: wsu-vvo-app depends_on: gridappsd
Run the docker application
osboxes@osboxes> cd gridappsd-docker osboxes@osboxes> ./run.sh # you will now be inside the container, the following starts gridappsd gridappsd@f4ede7dacb7d:/gridappsd$ ./run-gridappsd.sh
Run the application container
osboxes@osboxes> cd WSU-VVO-app osboxes@osboxes> docker exec -it gridappsddocker_wsu_vvo_1 bash # you will now be inside the application container, the following runs the application from terminal root@1b762c641f24:/usr/src/gridappsd-vvo# cd wsu_vvo root@1b762c641f24:/usr/src/gridappsd-vvo/wsu_vvo# python main.py 1234 '{"power_system_config": {"Line_name":"_AAE94E4A-2465-6F5E-37B1-3E72183A4E44"}}'
Next to start the application through the viz follow the directions here: https://gridappsd.readthedocs.io/en/latest/using_gridappsd/index.html#start-gridapps-d-platform
Forming optimization problem
In the optimization problem, test feeders are modeled as graph; G (V, E), where V is set of nodes and E is set of edges. The graph and line parameters of the test feeder can be extracted from (https://github.com/shpoudel/D-Net).
Get real-time topology and load data of the test case
First, the real time topology of the test case is extracted from the operating feeder in platform (top_identify.py). Then, load data for each node is obtained (get_Load.py) and stored in json format to be used in linear power flow while writing constraints for optimization problem.