fix: 修正雷电流密度计算条件并修复单位显示错误
修正雷暴日判断条件从等于改为小于等于,并添加中间范围判断 修复日志中电流单位显示错误(kV改为kA) 初始化时根据雷暴日自动计算地闪密度
This commit is contained in:
4
core.py
4
core.py
@@ -215,10 +215,10 @@ def thunder_density(i, td, ip_a, ip_b): # 雷电流幅值密度函数
|
|||||||
)
|
)
|
||||||
return r
|
return r
|
||||||
else:
|
else:
|
||||||
if td == 20:
|
if td <= 20:
|
||||||
r = -(10 ** (-i / 44)) * math.log(10) * (-1 / 44) # 雷暴日20d
|
r = -(10 ** (-i / 44)) * math.log(10) * (-1 / 44) # 雷暴日20d
|
||||||
return r
|
return r
|
||||||
if td == 40:
|
if td <= 40 and td>20:
|
||||||
r = -(10 ** (-i / 88)) * math.log(10) * (-1 / 88) # 雷暴日40d
|
r = -(10 ** (-i / 88)) * math.log(10) * (-1 / 88) # 雷暴日40d
|
||||||
return r
|
return r
|
||||||
raise Exception("检查雷电参数!")
|
raise Exception("检查雷电参数!")
|
||||||
|
|||||||
2
main.py
2
main.py
@@ -290,7 +290,7 @@ def run_egm(para: Parameter) -> dict:
|
|||||||
** 0.5
|
** 0.5
|
||||||
)
|
)
|
||||||
if distance > rc:
|
if distance > rc:
|
||||||
logger.info(f"电流为{i_bar}kV时,暴露弧已经完全被屏蔽")
|
logger.info(f"电流为{i_bar}kA时,暴露弧已经完全被屏蔽")
|
||||||
exposed_curve_shielded = True
|
exposed_curve_shielded = True
|
||||||
break
|
break
|
||||||
animate.pause()
|
animate.pause()
|
||||||
|
|||||||
@@ -668,6 +668,11 @@ declare global {
|
|||||||
|
|
||||||
// 注册全局日志接收函数,供后端实时调用
|
// 注册全局日志接收函数,供后端实时调用
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
// 程序启动时,根据雷暴日初始化地闪密度
|
||||||
|
if (params.parameter.td > 0 && params.advance.ng < 0) {
|
||||||
|
params.advance.ng = Math.round(0.023 * Math.pow(params.parameter.td, 1.3) * 100) / 100
|
||||||
|
}
|
||||||
|
|
||||||
// 实时日志推送
|
// 实时日志推送
|
||||||
window.addLogFromBackend = (log: { level: string; time: string; message: string }) => {
|
window.addLogFromBackend = (log: { level: string; time: string; message: string }) => {
|
||||||
logRef.value?.addLog(log.level as any, log.message)
|
logRef.value?.addLog(log.level as any, log.message)
|
||||||
|
|||||||
Reference in New Issue
Block a user