feat: 添加50%击穿电压参数支持
支持用户自定义50%击穿电压值,默认-1表示自动计算 在UI中添加相关配置开关
This commit is contained in:
10
core.py
10
core.py
@@ -2,7 +2,7 @@ import math
|
||||
import ezdxf
|
||||
import numpy as np
|
||||
from typing import List
|
||||
|
||||
from loguru import logger
|
||||
gCAD = None
|
||||
gMSP = None
|
||||
gCount = 1
|
||||
@@ -28,6 +28,7 @@ class Parameter:
|
||||
ac_or_dc: str # 交流或直流标识,"AC" 或 "DC",默认 "AC"
|
||||
z_0: float # 雷电波阻抗,默认 300
|
||||
z_c: float # 导线波阻抗,默认 251
|
||||
u_50: float # 50%击穿电压,-1表示自动计算
|
||||
|
||||
|
||||
def rg_line_function_factory(_rg, ground_angel): # 返回一个地面捕雷线的直线方程
|
||||
@@ -187,13 +188,16 @@ def solve_circle_line_intersection(
|
||||
return [_x, _y]
|
||||
|
||||
|
||||
def min_i(string_len, u_ph, altitude: float = 0, z_0: float = 300, z_c: float = 251):
|
||||
def min_i(string_len, u_ph, altitude: float = 0, z_0: float = 300, z_c: float = 251, u_50: float = None):
|
||||
# 海拔修正
|
||||
if altitude > 1000:
|
||||
k_a = math.exp((altitude - 1000) / 8150) # 气隙海拔修正
|
||||
else:
|
||||
k_a = 1
|
||||
u_50 = 1 / k_a * (530 * string_len + 35) # 50045 上附录的公式,实际应该用负极性电压的公式
|
||||
# 只有在u_50未提供时才使用公式计算
|
||||
if u_50 is None:
|
||||
u_50 = 1 / k_a * (530 * string_len + 35) # 50045 上附录的公式,实际应该用负极性电压的公式
|
||||
logger.info(f"50%击穿电压为: {u_50}kV")
|
||||
# u_50 = 1 / k_a * (533 * string_len + 132) # 串放电路径 1000m海拔
|
||||
# u_50 = 1 / k_a * (477 * string_len + 99) # 串放电路径 2000m海拔
|
||||
# u_50 = 615 * string_len # 导线对塔身放电 1000m海拔
|
||||
|
||||
Reference in New Issue
Block a user