The various software tools required for this project are included in a docker image built by the Dockerfile given in roi-uncc/docker. This image is built by executing:
docker build -t roi-img .in the directory Dockerfile exists in.
The image can be run using :
docker run --rm -v /ABSOLUTE/PATH/ON/HOST:/ABSOLUTE/PATH/ON/CONTAINER -i -t roi-img /bin/bashThis binds a local host directory to a directory in the container and is a good way to persist files between different invocations of this image.
The included open source softwares are: HELICS, GridLab-D and GridPACK.
To run the simulation
docker run --rm -it \
-v "$PWD":/work \
-w /work \
roi-img \
/bin/bash -lc 'rm -rf build && cmake -S . -B build && cmake --build build -j4 && helics run --path=ieee8500_gpk_cosim_runner.json'
For plot:
python plot_gpk_118.py --in gpk_118.csv --out_dir plots
To also plot the distribution-side voltage recorder output in the same run:
python plot_gpk_118.py --in gpk_118.csv --out_dir plots --dist-voltage sub_voltage.csv
If you also want a downstream node voltage plot:
python plot_gpk_118.py --in gpk_118.csv --out_dir plots --dist-voltage sub_voltage.csv --downstream-voltage downstream_voltage_A.csv
- The feeder power is the summed power
- GridPACK solves the 118-bus case once per time step.
- The solved positive sequence bus voltage is republished to GridLAB-D as a balanced three phase voltage.
- Keep the unit dimension consistency while exchanging the date.
- Relocate the bus target. After partioning, relocate to bus number 2 to secure the right bus number.
- Form the iterative loop for convergence during the outer iteration. More specifically, the lines 17-90 in the
powerflow_ex.cppare added for the iterative loop.
One can dig into the aggregated_cosim_118 folder for more information.