Skip to main content

A Distflow PDN solver based on Gurobi.

Project description

FPowerKit 配电网运算组件

本仓库已上线PyPI,您可以通过pip install fpowerkit直接以Python包的形式安装使用本仓库的代码!(但不包括IEEE33等内置模型)

简介

  • 依赖于feasytools和gurobipy: pip install feasytools gurobipy(请自行安装Gurobi并申请许可证)
  • 包含电网的描述(含母线、发电机、线路等)和基于gurobipy的配电网求解
  • 内含IEEE 33节点配电网DistFlow模型
  • 优化目标为“发电成本最小”。发电成本模型为二次函数$f(x)=ax^2+bx+c$。

使用

输入以下命令开始仿真:

python main.py -g cases/ieee33.grid.zip

ieee33描述了IEEE 33节点配电网模型。换成nodes3则是一个极简版3节点辐射形配电网模型,结构如下:

G0  G1
|   |
B0->B1->B2
    |   |
    L1  L2

您也换成自己的.zip文件来仿真,例如python main.py -g path/to/your_zipfile.zip

文件格式

若要配置您自己的.zip文件来仿真,您需要确保该zip压缩文件有且仅有如下文件(区分大小写),不能包含任何文件夹:

<your_file>.zip
    info.txt
    buses.csv
    lines.csv
    gens.csv

具体范例参见PowerKit/cases/nodes3.zip

info.txt

该文件示例如下:

S_base_MVA: 10
U_base_kV: 10
buses_loop: 86400, 8
buses_unit: MVA
lines_unit: ohm
gens_unit: MVA

S_base_MVA表示复功率标幺值,单位为MVA; U_base_kV表示电压标幺值,单位为kV; buses_loop表示buses.csv中功率的循环周期(秒)和循环次数; buses_unit表示buses.csv中功率值的单位,可选pu(标幺值),kVA,MVA; lines_unit表示lines.csv中功率值的单位,可选pu(标幺值),ohm; gens_unit表示gens.csv中功率值的单位,可选pu(标幺值),kVA,MVA;

buses.csv

该文件示例如下:

time,0
B0,0|0
B1,10.2|3.2
B2,3.8|0.7

首行表示时间线,内容用英文逗号分隔。第1个内容必定是小写time,从第2个内容开始为整数,表示从这一开始的负载功率; 从第2行开始,每行的第1个内容表示母线名称,从第二个内容开始表示复功率,以有功功率|无功功率的形式出现,单位为info.txt中的指定值。

gens.csv

该文件示例如下:

time,0
G0|B0|0.002|0.3|5,0|100|-100|100
G1|B1|0.0025|0.4|15,0|100|-100|100

首行表示时间线,内容用英文逗号分隔。第1个内容必定是小写time,从第2个内容开始为整数,表示从这一开始的发电功率最值; 从第2行开始,每行的第1个内容为发电机ID|所在母线|成本系数a|成本系数b|成本系数c,从第二个内容开始表示发电功率最值,以最小有功功率|最大有功功率|最小无功功率|最大无功功率的形式出现,单位为info.txt中的指定值。

lines.csv

该文件示例如下:

id,fBus,tBus,R,X
L0-1,B0,B1,0.08,0.2
L1-2,B1,B2,0.06,0.12

首行内容必须是id,fBus,tBus,R,X,区分大小写; 从第2行开始,每行的内容为线路名称,起始母线,终止母线,线路电阻,线路电抗。请注意线路功率的正方向为“起始母线->终止母线”,填反有可能需要在仿真时修改边界条件。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fpowerkit-0.0.8.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

fpowerkit-0.0.8-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file fpowerkit-0.0.8.tar.gz.

File metadata

  • Download URL: fpowerkit-0.0.8.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.6

File hashes

Hashes for fpowerkit-0.0.8.tar.gz
Algorithm Hash digest
SHA256 5c90c6bae1f04811434929890b2f2dd62d14f13264d41c67c4bc31c1ccf88545
MD5 426677a5a85d634b4323d7fa77f25118
BLAKE2b-256 856c9e0cdaff890f0f7067ed5bf13c53e8379c8732a369b49dd4159a04ece2e4

See more details on using hashes here.

File details

Details for the file fpowerkit-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: fpowerkit-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.6

File hashes

Hashes for fpowerkit-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f73422f4fa45c2aa68624d17c4dd12d6398cf16a9fca675bdd2e1a6553c7ac96
MD5 3126a439695daf6a005807b3697035be
BLAKE2b-256 da85917565d37a7bc7f9fec798dcfc140acddad8d5bec2fcbaa1fcb9ca5412f4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page