Compare commits
2 Commits
efbf55d531
...
d7a7769a2e
| Author | SHA1 | Date |
|---|---|---|
|
|
d7a7769a2e | |
|
|
0e01470341 |
|
|
@ -0,0 +1,18 @@
|
||||||
|
loop_end = 100000 # 最大循环次数
|
||||||
|
# 架线时的状态
|
||||||
|
# 取外过无风
|
||||||
|
string_length = 9.2 # 串长 单位m
|
||||||
|
string_g = 60 * 9.8 # 串重 单位N
|
||||||
|
t_m = 15 # 导线架设时的气温。单位°C
|
||||||
|
t_e = 20 # 架线时考虑初伸长的降温,取正值。单位°C
|
||||||
|
alpha = 0.0000155 # 导线膨胀系数 1/°C
|
||||||
|
elastic = 95900 # 弹性系数 N/mm2
|
||||||
|
area = 154.48 # 导线面积 mm2
|
||||||
|
lambda_m = 14.8129 / area # 导线比载 N/(m.mm)
|
||||||
|
# 取400m代表档距下
|
||||||
|
sigma_m = 28517 / area # 架线时,初伸长未释放前的最低点水平应力。单位N/mm2
|
||||||
|
span_count = 3 # 几个档距
|
||||||
|
# n个档距,n-1个直线塔
|
||||||
|
h_array = [0, 0, 0]
|
||||||
|
l_array = [200, 400, 600]
|
||||||
|
t_array = [15, 15, 15]
|
||||||
72
main.py
72
main.py
|
|
@ -2,6 +2,7 @@
|
||||||
# 新版输电线路大手册 P328
|
# 新版输电线路大手册 P328
|
||||||
|
|
||||||
import math
|
import math
|
||||||
|
import data
|
||||||
|
|
||||||
# h_i 悬点高差
|
# h_i 悬点高差
|
||||||
# l_i 悬点档距
|
# l_i 悬点档距
|
||||||
|
|
@ -82,24 +83,23 @@ def fun_sigma_i1(
|
||||||
|
|
||||||
# 求解循环。
|
# 求解循环。
|
||||||
def cal_loop():
|
def cal_loop():
|
||||||
loop_end = 100000 # 最大循环次数
|
loop_end = data.loop_end # 最大循环次数
|
||||||
# 架线时的状态
|
# 架线时的状态
|
||||||
# 取外过无风
|
# 取外过无风
|
||||||
string_length = 9.2 # 串长 单位m
|
string_length = data.string_length # 串长 单位m
|
||||||
string_g = 60 * 9.8 # 串重 单位N
|
string_g = data.string_g # 串重 单位N
|
||||||
t_m = 15 # 导线架设时的气温。单位°C
|
t_m = data.t_m # 导线架设时的气温。单位°C
|
||||||
t_e = 20 # 架线时考虑初伸长的降温,取正值。单位°C
|
t_e = data.t_e # 架线时考虑初伸长的降温,取正值。单位°C
|
||||||
alpha = 0.0000155 # 导线膨胀系数 1/°C
|
alpha = data.alpha # 导线膨胀系数 1/°C
|
||||||
elastic = 95900 # 弹性系数 N/mm2
|
elastic = data.elastic # 弹性系数 N/mm2
|
||||||
area = 154.48 # 导线面积 mm2
|
area = data.area # 导线面积 mm2
|
||||||
lambda_m = 14.8129 / area # 导线比载 N/(m.mm)
|
lambda_m = data.lambda_m # 导线比载 N/(m.mm)
|
||||||
# 取400m代表档距下
|
sigma_m = data.sigma_m # 架线时,初伸长未释放前的最低点水平应力。单位N/mm2
|
||||||
sigma_m = 28517 / area # 架线时,初伸长未释放前的最低点水平应力。单位N/mm2
|
span_count = data.span_count # 几个档距
|
||||||
span_count = 3 # 几个档距
|
|
||||||
# n个档距,n-1个直线塔
|
# n个档距,n-1个直线塔
|
||||||
h_array = [0, 0, 0]
|
h_array = data.h_array
|
||||||
l_array = [400, 400, 400]
|
l_array = data.l_array
|
||||||
t_array = [15, 15, 15]
|
t_array = data.t_array
|
||||||
lambda_array = [lambda_m, lambda_m, lambda_m]
|
lambda_array = [lambda_m, lambda_m, lambda_m]
|
||||||
loop_count = 1
|
loop_count = 1
|
||||||
sigma_0 = sigma_m * 0.8
|
sigma_0 = sigma_m * 0.8
|
||||||
|
|
@ -167,6 +167,13 @@ def cal_loop():
|
||||||
sigma_array,
|
sigma_array,
|
||||||
delta_l_i_array,
|
delta_l_i_array,
|
||||||
lambda_array,
|
lambda_array,
|
||||||
|
t_array,
|
||||||
|
alpha,
|
||||||
|
elastic,
|
||||||
|
t_e,
|
||||||
|
lambda_m,
|
||||||
|
t_m,
|
||||||
|
sigma_m
|
||||||
)
|
)
|
||||||
break
|
break
|
||||||
if loop_count >= loop_end:
|
if loop_count >= loop_end:
|
||||||
|
|
@ -186,19 +193,44 @@ def verify(
|
||||||
sigma_array: [float],
|
sigma_array: [float],
|
||||||
delta_l_i_array: [float],
|
delta_l_i_array: [float],
|
||||||
lambda_array: [float],
|
lambda_array: [float],
|
||||||
|
t_array,
|
||||||
|
alpha,
|
||||||
|
elastic,
|
||||||
|
t_e,
|
||||||
|
lambda_m,
|
||||||
|
t_m,
|
||||||
|
sigma_m,
|
||||||
):
|
):
|
||||||
# 用新版大手册p329页(5-61)最第一个公式校验
|
# 用新版大手册p329页(5-61)第一个公式校验
|
||||||
|
b_i=0
|
||||||
for i in range(len(delta_l_i_array)):
|
for i in range(len(delta_l_i_array)):
|
||||||
sigma_i = sigma_array[i]
|
sigma_i = sigma_array[i]
|
||||||
sigma_i1 = sigma_array[i + 1]
|
sigma_i1 = sigma_array[i + 1]
|
||||||
left_equ = sigma_array[i + 1]
|
left_equ = sigma_array[i + 1]
|
||||||
_delta_l_i = delta_l_i_array[i]
|
_delta_l_i = delta_l_i_array[i]
|
||||||
|
t_i = t_array[i]
|
||||||
|
# 此处用新版大手册p329页(5-58)校验偏移值。
|
||||||
lambda_i = lambda_array[i]
|
lambda_i = lambda_array[i]
|
||||||
lambda_i1 = lambda_array[i + 1]
|
lambda_i1 = lambda_array[i + 1]
|
||||||
h_i = h_array[i]
|
h_i = h_array[i]
|
||||||
h_i1 = h_array[i + 1]
|
h_i1 = h_array[i + 1]
|
||||||
l_i = l_array[i]
|
l_i = l_array[i]
|
||||||
l_i1 = l_array[i + 1]
|
l_i1 = l_array[i + 1]
|
||||||
|
cal_delta_l_i = delta_li(
|
||||||
|
h_i,
|
||||||
|
l_i,
|
||||||
|
lambda_i,
|
||||||
|
alpha,
|
||||||
|
elastic,
|
||||||
|
t_e,
|
||||||
|
t_i,
|
||||||
|
sigma_i,
|
||||||
|
lambda_m,
|
||||||
|
t_m,
|
||||||
|
sigma_m,
|
||||||
|
)
|
||||||
|
if math.fabs(cal_delta_l_i - _delta_l_i) > 1e-4:
|
||||||
|
print('!!!偏移等式不满足。')
|
||||||
beta_i = math.atan(h_i / l_i)
|
beta_i = math.atan(h_i / l_i)
|
||||||
beta_i1 = math.atan(h_i1 / l_i1)
|
beta_i1 = math.atan(h_i1 / l_i1)
|
||||||
w_i = (
|
w_i = (
|
||||||
|
|
@ -206,11 +238,13 @@ def verify(
|
||||||
+ sigma_i * h_i / l_i
|
+ sigma_i * h_i / l_i
|
||||||
+ (lambda_i1 * l_i1 / 2 / math.cos(beta_i1) - sigma_i1 * h_i1 / l_i1)
|
+ (lambda_i1 * l_i1 / 2 / math.cos(beta_i1) - sigma_i1 * h_i1 / l_i1)
|
||||||
)
|
)
|
||||||
right_equ = sigma_i + delta_l_i_array[i] / math.sqrt(
|
b_i+=delta_l_i_array[i]
|
||||||
string_length ** 2 - delta_l_i_array[i] ** 2
|
right_equ = sigma_i + b_i / math.sqrt(
|
||||||
|
string_length ** 2 - b_i ** 2
|
||||||
) * (string_g / 2 / area + w_i)
|
) * (string_g / 2 / area + w_i)
|
||||||
if math.fabs(right_equ - left_equ) > 1e-4:
|
if math.fabs(right_equ - left_equ) > 1e-4:
|
||||||
print("!!!等式不满足")
|
print(math.fabs(right_equ - left_equ))
|
||||||
|
print("!!!应力等式不满足")
|
||||||
return
|
return
|
||||||
print("等式满足。")
|
print("等式满足。")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue