Adding Distribution Network Models and Solvers
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.2k
- Forks
- 699
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 13
Description
Summary
I would like to propose extending PyPSA with several methods commonly used in medium‑ and low‑voltage distribution network analysis. These include the Backward–Forward Sweep algorithms, the Current/Power/Admittance Summation variants, and the DistFlow family of models. I am opening this issue to discuss whether this direction aligns with the project’s goals and to explore possible design approaches.
Motivation
PyPSA provides a strong foundation for AC power‑flow analysis and optimization of transmission networks. However, many distribution network studies require numerical methods that are better suited to radial or weakly meshed networks, high resistance‑to‑reactance ratios, and voltage‑dependent loads.
Commonly used distribution‑oriented methods include:
-
Current Summation:
D. Shirmohammadi, H. W. Hong, A. Semlyen and G. X. Luo, "A compensation-based power flow method for weakly meshed distribution and transmission networks," IEEE Transactions on Power Systems, vol. 3, no. 2, pp. 753-762, May 1988. https://doi.org/10.1109/59.192932
-
Power Summation:
G. X. Luo and A. Semlyen, "Efficient load flow for large weakly meshed networks," IEEE Transactions on Power Systems, vol. 5, no. 4, pp. 1309-1316, Nov. 1990. https://doi.org/10.1109/59.99382
D. Rajicic, R. Ackovski and R. Taleski, "Voltage correction power flow," IEEE Transactions on Power Delivery, vol. 9, no. 2, pp. 1056-1062, Apr 1994. https://doi.org/10.1109/61.296308
-
Admittance Summation:
Dragoslav Rajičić, Rubin Taleski, "Two novel methods for radial and weakly meshed network analysis", Electric Power Systems Research, Volume 48, Issue 2, Pages 79-87, 15 December 1998,
https://doi.org/10.1016/S0378-7796(98)00067-4 -
DistFlow and Linearized DistFlow:
M. E. Baran and F. F. Wu, "Network reconfiguration in distribution systems for loss reduction and load balancing," IEEE Transactions on Power Delivery, vol. 4, no. 2, pp. 1401-1407, April 1989.
https://doi.org/10.1109/61.25627
The DistFlow model in particular has seen a large increase in citations in recent years, especially in work involving mixed‑integer linear programming formulations for distribution network optimization. Its branch‑flow structure is attractive because it can be convexified and, with reasonable simplifications, even linearized while remaining close to the original physical model.
Together with my colleagues, I have used these models in recent publications: 1, 2.
A full list of my publications is available here, including several works related to distribution network modeling and optimization.
These methods are widely used in distribution‑system analysis and would expand PyPSA’s applicability for:
- hosting‑capacity studies, including integration of renewables and storage
- network reconfiguration
- voltage‑control analysis
- optimal power flow in active distribution networks
- microgrid and feeder planning
A longer‑term possibility is extending the models to support unbalanced three‑phase distribution networks.
I have previously implemented the Current Summation, Power Summation, and Admittance Summation methods in MATPOWER, which gave me practical experience with integrating these algorithms into an open-source power-system analysis framework. I would be glad to build on that experience to contribute similar capabilities to PyPSA.
Questions for the Maintainers
- Would adding these distribution‑network methods align with PyPSA’s development direction?
- Are there architectural considerations or constraints I should be aware of before drafting a prototype?
- Is there existing work or prior discussion that I should build upon?
- Would you prefer these features to be part of core PyPSA or developed as an extension package?
If the maintainers consider this direction appropriate, I would be glad to develop a minimal prototype with examples and documentation and collaborate with others interested in this topic.
I welcome your feedback and guidance on how to proceed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by reviewing PyPSA’s existing AC power-flow capabilities and the prior MATPOWER implementations, then confirm the maintainers’ preferred architecture and scope. Done would require an agreed prototype covering selected distribution methods, with examples and documentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100