# EGM - 输电线路绕击跳闸率计算程序 基于电气几何模型(Electro-Geometric Model, EGM)的架空输电线路雷电防护性能计算工具,用于评估输电线路的绕击跳闸率。 ## 功能特点 - 支持单回和双回输电线路的绕击跳闸率计算 - 考虑工作电压对雷电击距的影响 - 支持地面倾角参数 - 支持自定义地闪密度和雷电流概率密度曲线 - 支持交流/直流线路计算 - 输出CAD图形(DXF格式)可视化击距模型 - 提供动画演示模式(可选项) ## 安装 ### 环境要求 - Python >= 3.12 ### 安装依赖 ```bash # 使用 uv(推荐) uv sync # 或使用 pip pip install -r requirements.txt ``` ### 依赖包 - ezdxf - DXF文件生成 - loguru - 日志记录 - matplotlib - 数据可视化和动画 - numpy - 数值计算 - tomli - TOML配置文件解析 ## 使用方法 ### 基本使用 ```bash # 使用默认配置文件 python main.py # 指定配置文件 python main.py <配置文件路径>.toml ``` ### 批量计算 批量计算不同保护角下的跳闸率: ```bash python main-batch.py <配置文件路径>.toml ``` 结果将输出到 `r.txt` 文件中。 ### 打包为可执行文件 使用 Makefile 打包: ```bash make ``` 生成的可执行文件位于 `dist/Lightening.exe` ## 配置文件格式 配置文件使用 TOML 格式,包含三个主要部分: ### [parameter] - 基本参数 ```toml [parameter] rated_voltage = 750 # 额定电压等级 (kV) h_c_sag = 14.43 # 导线弧垂 (m) h_g_sag = 11.67 # 地线弧垂 (m) insulator_c_len = 7.02 # 导线串子绝缘长度 (m) string_c_len = 9.2 # 导线串长 (m) string_g_len = 0.5 # 地线串长 (m) h_arm = [150, 130] # 导、地线挂点垂直距离 (m),第一个值为地线挂点高度 gc_x = [17.9, 17] # 导、地线水平坐标 (m) ground_angels = [0] # 地面倾角 (°),向下为正,支持多个角度 altitude = 1000 # 海拔高度 (m) td = 20 # 雷暴日 (d) ``` ### [advance] - 高级参数 ```toml [advance] ng = -1 # 地闪密度 (次/(km²·a)),大于0时使用此值,否则通过雷暴日计算 Ip_a = -1 # 雷电流概率密度曲线系数a,大于0时使用此值 Ip_b = -1 # 雷电流概率密度曲线系数b,大于0时使用此值 ``` 注意:当 `ng` > 0 时,不会通过雷暴日计算地闪密度;当 `Ip_a` 和 `Ip_b` > 0 时,不会使用默认雷暴日对应的概率密度。 ### [optional] - 可选参数 ```toml [optional] voltage_n = 3 # 计算时电压分成多少份(考虑电压波动影响) max_i = 200 # 最大尝试雷电流 (kA) ``` ## 计算原理 ### 击距模型 程序使用基于电气几何模型的方法计算绕击跳闸率,主要涉及以下击距公式: 1. **地线击距**:$r_s = 10 \times I^{0.65}$ 2. **导线击距**:$r_c = 1.63 \times (5.015 \times I^{0.578} - 0.001 \times U_{ph})^{1.125}$ 3. **地面击距**: - $h_{av} < 40m$: $r_g = (3.6 + 1.7 \ln(43 - h_{av})) \times I^{0.65}$ - $h_{av} \ge 40m$: $r_g = 5.5 \times I^{0.65}$ ### 地闪密度计算 根据 Q/GDW 11452-2015 导则: $N_g = 0.023 \times T_d^{1.3}$ ### 跳闸率计算 通过积分暴露弧面积与雷电流概率密度的乘积得到最终跳闸率,并考虑建弧率。 ## 输出结果 1. **控制台日志**:显示详细的计算过程和中间结果 2. **DXF文件**:egm1.dxf、egm2.dxf 等,可视化击距模型 3. **跳闸率结果**:单位为 次/(100km·a) ## 项目结构 ``` EGM/ ├── main.py # 主程序入口 ├── main-batch.py # 批量计算程序 ├── core.py # 核心计算模块 ├── animation.py # 动画演示模块 ├── article.toml # 示例配置文件 ├── Makefile # 构建脚本 ├── pyproject.toml # 项目配置 ├── README.md # 说明文档 └── CSharp/ # C# 版本实现 ``` ## 技术支持 程序基于新版大手册公式和 Q/GDW 11452-2015《架空输电线路防雷导则》实现。 ## 许可证 请参考项目许可证文件。