Skip to content

eliagroup/DCPlus

CI

License: MPL 2.0 Python 3.11

DCPlus


About The Project

This repo builds DCPlus loadflow solver implementation from Elia Group. This DCPlus loadflow solver is based on the paper "Voltage-sensitive distribution factors for contingency analysis and topology optimization". It is a linearization around the N-0 AC loadflow and approximates the changes in the network by computing an equivalent to one AC Newton-Raphson iteration step.

Getting Started

If you want to get started with the engine, we recommend the test test_lodf_jax_full_rank_update_compare_powsybl to get an idea of how to use the solver. A more user-friendly introductory notebook will be added to the notebooks/ directory at a later point.

Prerequisites

If you want to contribute to this repository, we recommend using VS Code's Devcontainer Environment. This allows the developers to use the same environment to develop in.

For this setup, you need to install:

  1. uv
  2. Microsoft VS Code
  3. Docker

Installation

You can follow our installation guide on our Contributing page.

Usage

In order to understand the functionalities of this repo, please have a look at our examples in notebooks/. There you can find several Jupyter notebooks that explain how to use the engine. For example, you can load a grid file and compute the DC loadflow using our GPU-based loadflow solver. Or you can load an example grid and minimise the branch overload by running the topology optimizer.

You can also build the documentation and open it on your web browser by running

uv sync --all-groups
uv run mkdocs serve

Contributing

Please have a look at our CONTRIBUTING.md.


License

Distributed under MPL 2.0. See LICENSE.

Citation

If you use our work in scientific research, please cite our paper on loadflowsolving and soon also the work on the optimizer architecture, which is to be released soon.


Contact

Team – loadflowsolver@eliagroup.eu


Acknowledgments

Thanks to the Energy Transition Fund of the Federal Public Service Economy for their support of the OptOmni project, which led to the development of DC+.| SPF Economie

We credit the authors of JAX.

@software{jax2018github,
  author = {James Bradbury and Roy Frostig and Peter Hawkins and Matthew James Johnson and Chris Leary and Dougal Maclaurin and George Necula and Adam Paszke and Jake Vander{P}las and Skye Wanderman-{M}ilne and Qiao Zhang},
  title = {{JAX}: composable transformations of {P}ython+{N}um{P}y programs},
  url = {http://github.com/jax-ml/jax},
  version = {0.3.13},
  year = {2018},
}


About

DCPlus is a loadflow solver written in Python

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors