parent
6a123b6213
commit
cc98c27800
6
core.py
6
core.py
|
|
@ -21,6 +21,7 @@ class Parameter:
|
||||||
h_arm: float # 导、地线垂直坐标
|
h_arm: float # 导、地线垂直坐标
|
||||||
altitude: int # 海拔,单位米
|
altitude: int # 海拔,单位米
|
||||||
max_i: float # 最大尝试电流,单位kA
|
max_i: float # 最大尝试电流,单位kA
|
||||||
|
rated_voltage: float # 额定电压
|
||||||
|
|
||||||
|
|
||||||
para = Parameter()
|
para = Parameter()
|
||||||
|
|
@ -186,7 +187,10 @@ def solve_circle_line_intersection(
|
||||||
def min_i(string_len, u_ph):
|
def min_i(string_len, u_ph):
|
||||||
# 海拔修正
|
# 海拔修正
|
||||||
altitude = para.altitude
|
altitude = para.altitude
|
||||||
k_a = math.exp(altitude / 8150) # 气隙海拔修正
|
if altitude > 1000:
|
||||||
|
k_a = math.exp(altitude / 8150) # 气隙海拔修正
|
||||||
|
else:
|
||||||
|
k_a = 1
|
||||||
u_50 = 1 / k_a * (530 * string_len + 35) # 50045 上附录的公式,实际应该用负极性电压的公式
|
u_50 = 1 / k_a * (530 * string_len + 35) # 50045 上附录的公式,实际应该用负极性电压的公式
|
||||||
z_0 = 300 # 雷电波阻抗
|
z_0 = 300 # 雷电波阻抗
|
||||||
z_c = 251 # 导线波阻抗
|
z_c = 251 # 导线波阻抗
|
||||||
|
|
|
||||||
35
main.py
35
main.py
|
|
@ -5,29 +5,25 @@ from loguru import logger
|
||||||
from core import *
|
from core import *
|
||||||
import timeit
|
import timeit
|
||||||
|
|
||||||
|
# 打印参数
|
||||||
|
def parameter_display(para: Parameter):
|
||||||
|
logger.info(f"额定电压 kV {para.rated_voltage}")
|
||||||
|
logger.info(f"导线弧垂 m {para.h_c_sag}")
|
||||||
|
logger.info(f"地线弧垂 m {para.h_g_sag}")
|
||||||
|
logger.info(f"全塔高 m {para.h_whole}")
|
||||||
|
logger.info(f"串绝缘距离 m {para.insulator_c_len}")
|
||||||
|
logger.info(f"导线串长 m {para.string_c_len}")
|
||||||
|
logger.info(f"地线串长 m {para.string_g_len}")
|
||||||
|
logger.info(f"挂点垂直坐标 m {para.h_arm}")
|
||||||
|
logger.info(f"挂点水平坐标 m {para.gc_x}")
|
||||||
|
logger.info(f"地面倾角 ° {[an*180/math.pi for an in para.ground_angels]}")
|
||||||
|
logger.info(f"海拔高度 m {para.altitude}")
|
||||||
|
logger.info(f"雷暴日 d {para.td}")
|
||||||
|
|
||||||
|
|
||||||
def egm():
|
def egm():
|
||||||
if len(sys.argv) < 2:
|
if len(sys.argv) < 2:
|
||||||
toml_file_path = "default.toml"
|
toml_file_path = "default.toml"
|
||||||
# # logger.info('没指定计算文件!程序结束。')
|
|
||||||
# # sys.exit(0)
|
|
||||||
# h_g_sag = 20 # 地线弧垂
|
|
||||||
# h_c_sag = 20 # 导线弧垂
|
|
||||||
# h_whole = 106.1 # 杆塔全高
|
|
||||||
# voltage_n = 3 # 工作电压分成多少份来计算
|
|
||||||
# td = 20 # 雷暴日
|
|
||||||
# insulator_c_len = 6.98 # 串子绝缘长度
|
|
||||||
# string_c_len = 9.2
|
|
||||||
# string_g_len = 0.63
|
|
||||||
# gc_x = [32.2 / 2, 32.2 / 2, 15, 17.0] # 导、地线水平坐标
|
|
||||||
# ground_angels = [40 / 180 * math.pi] # 地面倾角,向下为正
|
|
||||||
# h_arm = 34
|
|
||||||
# gc_y = [
|
|
||||||
# h_whole - string_g_len - h_g_sag * 2 / 3, # 地线对地平均高
|
|
||||||
# # h_whole - string_c_len - h_c_sag - 2.7, # 导线对地平均高
|
|
||||||
# h_whole - string_c_len - h_c_sag * 2 / 3 - h_arm, # 导线对地平均高
|
|
||||||
# # h_whole - string_c_len - h_c_sag - 35.7, # 导线对地平均高
|
|
||||||
# ]
|
|
||||||
else:
|
else:
|
||||||
toml_file_path = sys.argv[1]
|
toml_file_path = sys.argv[1]
|
||||||
logger.info(f"读取文件{toml_file_path}")
|
logger.info(f"读取文件{toml_file_path}")
|
||||||
|
|
@ -53,6 +49,7 @@ def egm():
|
||||||
para.voltage_n = toml_optional["voltage_n"] # 工作电压分成多少份来计算
|
para.voltage_n = toml_optional["voltage_n"] # 工作电压分成多少份来计算
|
||||||
#########################################################
|
#########################################################
|
||||||
# 以上是需要设置的参数
|
# 以上是需要设置的参数
|
||||||
|
parameter_display(para)
|
||||||
h_whole = para.h_whole
|
h_whole = para.h_whole
|
||||||
string_g_len = para.string_g_len
|
string_g_len = para.string_g_len
|
||||||
string_c_len = para.string_c_len
|
string_c_len = para.string_c_len
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ class CalculationParameter(BaseModel):
|
||||||
h_whole: float # 杆塔全高
|
h_whole: float # 杆塔全高
|
||||||
gc_x: tuple[float] # 导、地线水平坐标
|
gc_x: tuple[float] # 导、地线水平坐标
|
||||||
ground_angels: tuple[float] # 地面倾角,向下为正
|
ground_angels: tuple[float] # 地面倾角,向下为正
|
||||||
|
rated_voltage: float # 额定电压
|
||||||
|
|
||||||
|
|
||||||
fastapi_app = FastAPI()
|
fastapi_app = FastAPI()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue