Files
egm/README.md
2026-03-02 18:18:46 +08:00

161 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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《架空输电线路防雷导则》实现。
## 许可证
请参考项目许可证文件。