feat: 添加50%击穿电压参数支持

支持用户自定义50%击穿电压值,默认-1表示自动计算
在UI中添加相关配置开关
This commit is contained in:
dmy
2026-03-03 18:26:01 +08:00
parent 8a74a576c0
commit 7dd466a28a
6 changed files with 56 additions and 6 deletions

View File

@@ -249,6 +249,26 @@
</q-input>
</div>
</div>
<!-- 50%击穿电压设置开关 -->
<div class="q-mt-md">
<q-toggle
v-model="showU50"
label="设置50%击穿电压 (U_50)"
color="primary"
/>
</div>
<div class="row q-col-gutter-md q-mt-sm" v-if="showU50">
<div class="col-12">
<q-input
v-model="params.advance.u_50"
type="number"
step="1"
label="50%击穿电压 U_50 (kV)"
>
<q-tooltip>自定义50%击穿电压值默认-1表示使用公式计算</q-tooltip>
</q-input>
</div>
</div>
</q-card-section>
</q-card>
@@ -405,7 +425,8 @@ const defaultParams: AllParameters = {
advance: {
ng: -1,
Ip_a: -1,
Ip_b: -1
Ip_b: -1,
u_50: -1
},
optional: {
voltage_n: 3,
@@ -422,6 +443,8 @@ const animationRef = ref<InstanceType<typeof Animation> | null>(null)
const fileInput = ref<HTMLInputElement | null>(null)
// 雷电流概率密度系数设置开关
const showIpCoefficients = ref(false)
// 50%击穿电压设置开关
const showU50 = ref(false)
const voltageOptions = [
'110kV', '220kV', '330kV', '500kV', '750kV','1000kV',
@@ -457,6 +480,17 @@ watch(
}
)
// 监听50%击穿电压开关
watch(
showU50,
(show) => {
if (!show) {
// 关闭时重置为 -1使用公式计算
params.advance.u_50 = -1
}
}
)
// 雷暴日与地闪密度相互转换公式ng = 0.023 * td^3
// 标志位避免循环更新
let isUpdatingFromWatch = false

View File

@@ -23,6 +23,7 @@ export interface AdvanceParameter {
ng: number // 地闪密度 (次/(km²·a))
Ip_a: number // 雷电流概率密度曲线系数a
Ip_b: number // 雷电流概率密度曲线系数b
u_50: number // 50%击穿电压 (kV)-1表示自动计算
}
export interface OptionalParameter {