A PDN solver with multiple solutions.
Project description
FPowerKit - A power distribution network calculation component
This is a package designed for power distribution network description and solving.
This package is affiliated to V2Sim, an open-aource microscopic V2G simulation platform in urban power and transportation network. If you are using the modified DistFlow model in this package, please cite the paper:
@ARTICLE{10970754,
author={Qian, Tao and Fang, Mingyu and Hu, Qinran and Shao, Chengcheng and Zheng, Junyi},
journal={IEEE Transactions on Smart Grid},
title={V2Sim: An Open-Source Microscopic V2G Simulation Platform in Urban Power and Transportation Network},
year={2025},
volume={16},
number={4},
pages={3167-3178},
keywords={Vehicle-to-grid;Partial discharges;Microscopy;Batteries;Planning;Discharges (electric);Optimization;Vehicle dynamics;Transportation;Roads;EV charging load simulation;microscopic EV behavior;vehicle-to-grid;charging station fault sensing},
doi={10.1109/TSG.2025.3560976}}
Solvers available
There are multiple solvers can be used in FPowerKit.
- Power flow calculation
- Newton-Raphson: Classical method for power flow calculation. (GIL-free Compatible)
- OpenDSS: Call external OpenDSS for distribution network solving.
- Optimal power flow (OPF)
- DistFlow: A classical OPF model for radial distribution network, with both quadratic and linear objective of minimal active generation cost.
- LinDistFlow: A typical simplification of DistFlow.
- LinDistFlow2: A GIL-free compatible version of LinDistFlow, only supporting linear objective.
There are also some abstract solvers for users to customize:
- Combined Solver: Combine two solvers to accomplish both OPF and accuracte power flow calculation. For example, use LinDistFlow + OpenDSS to get the optimal generation and the accurate power flow. The only GIL-free compatible combination is LinDistFlow2 + Newton.
- Manual Solver: Allow user to customize constraints
Installation options
If you want to use different features, install with different command:
| Feature | Command |
|---|---|
| Only grid description | pip install fpowerkit |
| Y matrix & Newton | pip install fpowerkit[newton] |
| OpenDSS | pip install fpowerkit[dss] |
| DistFlow | pip install fpowerkit[distflow] |
| LinDistFlow | pip install fpowerkit[ldf] |
| All | pip install fpowerkit[full] |
Secondary development on this package requires all features.
Introduction
There are 3 modes for this package to work:
-
Optimal power flow (OPF): Use cvxpy to solve the optimal power flow and determine the output of the generators.
-
Power flow calculation: Use OpenDSS/Newton-Raphson method to solve the power flow.
-
Hybrid: Use OPF to determine the initial value, and then use OpenDSS/Newton-Raphson to perform accurate calculation.
Please visit https://gitee.com/fmy_xfk/fpowerkit to read the detailed introduction and the usage.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fpowerkit-0.3.6.tar.gz.
File metadata
- Download URL: fpowerkit-0.3.6.tar.gz
- Upload date:
- Size: 40.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddb475d2614b3580f87d4395c8cbe33b2b272bb087585869b886011c44b3fe80
|
|
| MD5 |
74dd30f395dea197ec5c96b3bb03dad7
|
|
| BLAKE2b-256 |
6120a4123891c433cf01553fe6e1e4fa63eacf942c225cb95dccab4351066bc8
|
File details
Details for the file fpowerkit-0.3.6-py3-none-any.whl.
File metadata
- Download URL: fpowerkit-0.3.6-py3-none-any.whl
- Upload date:
- Size: 46.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db005a8c4056265fbba87f7a042a891d2d13b745094c53ce8b7b48d2c6f5e73f
|
|
| MD5 |
83f0be875a64368b307650df47320510
|
|
| BLAKE2b-256 |
d203dcf411b7558dfe66baa30f7a93c14f345d107c57721ef74add697604d078
|