Skip to main content

IEEE 33-Bus single-line diagram drawing primitives based on Baran.1989 (Main Version)

Project description

IeeeTopologyDiagrams

Author: 黎湛联 (Zhanlian Li)

电力系统配电网络单线图(One-Line Diagram / Single-Line Diagram)绘图库,基于 IEEE 33-Bus 标准测试系统。

实现 Baran & Wu (1989) 提出的配电网络重构经典算例的拓扑可视化,涵盖变电站(Substation)、母线(Bus)、断路器(Circuit Breaker, CB)、配电馈线(Distribution Feeder)、支路功率流(Branch Power Flow)及负荷注入(Load Injection)等电力系统标准图元。

每个绘图脚本头部包含完整参数字段表 + 中英文绘制步骤,可独立运行或作为 AI 提示词独立复现同样的拓扑图。

出处:M.E. Baran, F.F. Wu, "Network Reconfiguration in Distribution Systems for Loss Reduction and Load Balancing," IEEE Trans. Power Delivery, Vol. 4, No. 2, pp. 1401-1407, 1989.

安装

pip install IeeeTopologyDiagrams

电力系统绘图基元 (Drawing Primitives)

开关设备 / Switchgear

函数 电力符号 学术说明
draw_switch(ax, x, y, size) 水平闭合开关 常闭断路器 (Normally-Closed Circuit Breaker, NCB) — 方框内水平贯穿线
draw_switch_vertical(ax, x, y, size) 垂直闭合开关 常闭断路器竖直方向 — 方框内竖直贯穿线
draw_switch_open(ax, x, y, size) 水平断开开关 常开断路器 (Normally-Open Circuit Breaker, NOCB) — 方框内斜线断开
draw_switch_open_vertical(ax, x, y, size) 垂直断开开关 常开断路器竖直方向 — 方框内斜线断开

变电站 / Substations

函数 电力符号 学术说明
draw_substation_vertical(ax, x, y_bottom, y_top, ...) SS1 (垂直) 配电变电站 (Distribution Substation) — 实心黑色矩形
draw_substation_horizontal(ax, x, y, label) SS2 (水平) 配电变电站 — 空心双竖线 + 矩形框

母线节点 / Bus Nodes

函数 电力符号 学术说明
draw_bar_node(ax, x, y_top, y_bottom, width, label) 实心竖条 母线节点 (Bus Bar Node) — 实心黑色垂直矩形
draw_bar_node_switched(ax, x, y_bar, ...) 横条 + 开关 水平母线节点带竖直开关模块 — 含拐角出线和负荷箭头
draw_solid_node(ax, x, y, r) 实心圆点 母线连接点 (Bus Connection Point) — 实心黑色圆点,半径 0.04
draw_branch(ax, x, y, width, height) 实心竖矩形 配电支路 / 配电侧馈线引出 (Lateral Branch)

环路节点 / Loop Nodes (Figure 4)

函数 电力符号 学术说明
draw_node_i_minus_1(ax, x, y, ...) 竖条 + 左拐角 + 虚线 i-1 节点 — 含左出线拐角和向下虚线延伸
draw_node_k_minus_1(ax, x, y, next_x, ...) 裸竖条 + Pk-1 箭头 k-1 节点子图 — 含 (k) 支路标签和 Pk-1 功率箭头
draw_node_k(ax, x, y, ...) 竖条 + 左拐角 + 虚线 k 节点 — L侧末端,无右侧出线,含 Pk 垂直箭头
draw_node_n(ax, x, y, ...) 竖条 + 右拐角 + 虚线 n 节点 — 含右出线拐角和 ΔPn 水平箭头
draw_common_node_o(ax, x, y, ...) 横母线 + 垂线 公共节点 0 — 图4顶部节点
draw_common_node_o_left(ax, x, y, ...) 左侧竖母线 左侧竖母线 — stubs 向右
draw_common_node_o_right(ax, x, y, corner, ...) 右侧竖母线 右侧竖母线 — stubs 向左,可选右拐角

功率标注 / Power Flow Labels (Figure 4)

标签 箭头方向 说明
Pm → 水平向右 左竖母线到 i-1 的功率流
Pk-1 → 水平向右 k-1 节点的功率注入
Pk ↓ 垂直向下 k 节点竖线正下方的功率
ΔPn ← 水平向左 n 节点左侧的功率变化
Pio ↓ 垂直向下 右竖母线拐角虚线末端下方的功率
Pok 斜向 顶部 node 0 左斜线功率流
Pon 斜向 顶部 node 0 右斜线功率流

负荷与变压器 / Load & Transformer

函数 电力符号 学术说明
draw_node(ax, x, y, label) 负荷节点 含编号 + 短竖线 + 空心负荷框 + 向下箭头
draw_tf_node(ax, x, y, main_label, tf_label, dx) 配变节点 配电变压器节点 (Distribution Transformer Node) — 含变压器绕组符号

馈线延伸 / Feeder Extension

函数 电力符号 学术说明
draw_feeder_extension(ax, x, y_start, y_end, ...) 垂直虚线 垂直馈线延伸虚线 (Vertical Feeder Extension) — 表示下游省略
draw_feeder_extension_horizontal(ax, x_start, x_end, y, ...) 水平虚线 水平馈线延伸虚线 — 表示横向下游省略

样式常量

常量 学术含义
BUS_LW 2.2 母线 / 馈线线宽 (Bus Line Width)
NODE_LW 1.1 节点 / 开关边框线宽 (Node Line Width)
TEXT_FS 20 节点编号字号 (Node Label Font Size)
LABEL_FS 18 设备标签字号 (Equipment Label Font Size)
TITLE_FS 22 图标题字号 (Figure Title Font Size)
SW_SIZE 0.18 断路器 (CB) 符号尺寸 (Switch Symbol Size)
_DASH_ON 1.5 虚线绘制长度 (Dash On Length)
_DASH_OFF 1.5 虚线间隔长度 (Dash Off Length)

使用示例

import matplotlib.pyplot as plt
from IeeeTopologyDiagrams import (
    draw_switch, draw_solid_node,
    draw_substation_vertical,
    draw_feeder_extension,
    BUS_LW, SW_SIZE,
)

fig, ax = plt.subplots(figsize=(5, 3))
# 配电变电站 SS1
draw_substation_vertical(ax, x=0, y_bottom=-0.9, y_top=0, label='SS1')
# 常闭断路器 CB1
draw_switch(ax, x=0.5, y=-0.225, SW_SIZE)
# 母线连接点
draw_solid_node(ax, x=1.0, y=-0.225)
# 馈线延伸(表示下游省略)
draw_feeder_extension(ax, x=1.0, y_start=-0.5, y_end=-0.8)

ax.set_aspect('equal'); ax.axis('off')
plt.savefig('output.png', dpi=200, bbox_inches='tight')

绘图脚本 (drawingScripts/)

每个脚本文件头部包含完整参数字段表 + 中英文绘制步骤,可直接作为 AI 提示词复现。

完整单线图 (One-Line Diagrams)

脚本 输出 学术说明
reproduce_fig1.py Figure 1 配电系统一次回路原理图 (Primary Circuit Schematic) — SS1 + CB1 + 辐射状馈线节点
reproduce_fig2.py Figure 2 小型配电系统单线图 (IEEE 33-Bus System) — 含 SS1/SS2、CB/cb、联络开关、左/右出线负荷节点
reproduce_fig3.py Figure 3 辐射状网络支路功率流图 (Radial Network Branch Power Flow) — 支路有功功率 P 和无功功率 Q 的向量标注
reproduce_fig3_from_steps.py Fig3 的纯步骤提示文件(无代码实现,供 AI 复现验证用)
reproduce_fig4.py Figure 4 环路关联常开支路 b 的示意图 (Loop with Open Branch b) — 完整的 L侧/R侧路径、节点标注、功率箭头

负荷节点 / Load Node(左/右出线)

采用 实心母线节点 + 直角拐角 + 向下箭头 的负荷注入表示:

脚本 出线 输出 关键参数
save_load_node_left.py ← 左 load_node_left.png BAR_H=0.44, BAR_W=0.03, DX=0.06, DY=0.128
save_load_node_right.py → 右 load_node_right.png 同左出线,仅拐角方向相反

母线节点基元 / Bus Bar Primitives

脚本 输出 关键参数
save_bar_node_short.py 竖形母线节点(左出线) H=0.6, W=0.08, DX=0.16, DY=0.35
save_bar_node_horizontal.py 横形母线节点(下出线) W=0.55, H=0.03, DY=0.128

断路器符号 / Circuit Breakers

脚本 输出 状态 关键参数
save_switch_symbol.py 水平 CB(常闭) NCB SW_SIZE=0.18
save_switch_vertical.py 垂直 CB(常闭) NCB SW_SIZE=0.18
save_switch_open_h.py 水平 CB(常开) NOCB SW_SIZE=0.18
save_switch_open_v.py 垂直 CB(常开) NOCB SW_SIZE=0.18
save_switch_open.py 开/闭对比(水平+垂直) NCB + NOCB 四合一对比图

变电站 / Distribution Substations

脚本 输出 符号形式 关键参数
save_ss1_symbol.py SS1 实心黑色垂直矩形 W=0.10, H=1.40
save_ss2_symbol.py SS2 空心双竖线 + 方框 双竖线间距 0.12, 框高 0.56

其他电力元件 / Miscellaneous Components

脚本 输出 学术说明 关键参数
save_solid_node.py 母线连接点 Bus Connection Point — 实心圆点 R=0.04
save_branch.py 配电支路 Lateral Branch / 侧馈线引出 W=0.0375, H=0.28125
save_tf_node.py 配变节点 Distribution Transformer Node — 变压器绕组符号 DX=0.40, 变压器方框 0.26
save_node15.py 水平节点 + 竖形 CB Bar Node with Vertical Switch Module BAR_W=0.44, SW_SIZE=0.18

学术术语速查 / Glossary

中文 English 缩写
单线图 One-Line Diagram / Single-Line Diagram SLD
变电站 Substation SS
断路器 Circuit Breaker CB
常闭断路器 Normally-Closed CB NCB
常开断路器 / 联络开关 Normally-Open CB / Tie Switch NOCB
母线 Bus / Bus Bar
配电馈线 Distribution Feeder
辐射状网络 Radial Network
支路功率流 Branch Power Flow
有功功率 Active Power P
无功功率 Reactive Power Q
负荷注入 Load Injection P_L, Q_L
配电变压器 Distribution Transformer TF
侧馈线 / 支路 Lateral Branch
母线连接点 Bus Connection Point

许可

参考库内源文件头部的引用信息。

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

ieeetopologydiagrams-4.0.6.tar.gz (72.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ieeetopologydiagrams-4.0.6-py3-none-any.whl (86.1 kB view details)

Uploaded Python 3

File details

Details for the file ieeetopologydiagrams-4.0.6.tar.gz.

File metadata

  • Download URL: ieeetopologydiagrams-4.0.6.tar.gz
  • Upload date:
  • Size: 72.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.1

File hashes

Hashes for ieeetopologydiagrams-4.0.6.tar.gz
Algorithm Hash digest
SHA256 221b77de15903e4ccd569efa4444bf897a176846e6cca7962e96185bc46fa88d
MD5 f0e3b303b96b90013cf349be18b488e8
BLAKE2b-256 c53bd3840654002875b251183808ada7aea201fe5e02cb12d2ac7ba0a31c0de8

See more details on using hashes here.

File details

Details for the file ieeetopologydiagrams-4.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for ieeetopologydiagrams-4.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f6a974947519daee291dbe439ea9493b989a66fad2276b81c4181c3d9b492ac9
MD5 e93f88e4e460632fabec5b24fec274b2
BLAKE2b-256 b1a16baa7ded56d118987649532e50daf9f6e82836ed8337050de422a894d630

See more details on using hashes here.

Supported by

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