对齐test_mql保存时刻与PNVO事件边界
This commit is contained in:
1 parent
7c68caed27
commit
a0855018d5
5 files changed
+345
-35
No files matched your search
@@ -60,43 +60,46 @@ Python 输出只有通过 AMESim baseline 对比后才能作为数值一致性
|
||||
|
||||
## 当前对比结果
|
||||
|
||||
默认 comparison 仍使用 `0 -> 1e-5 s` 的短时域,并已新增
|
||||
`dm1@pneumatic_69` 流量诊断。
|
||||
默认 comparison 已从区间内插值的 `t=1e-5 s` 改为与 AMESim
|
||||
首个保存时刻精确对齐的 `t=0.01 s`,当前比较 13 个关键信号,并
|
||||
新增 `xv@pn_morifice_1`、`dm2@pn_morifice_1` 的结构化 PNVO 诊断。
|
||||
|
||||
本轮确认原最大偏差的主因不是 PNL0001 Darcy 阻力,而是 8 个
|
||||
`PNVO001` 在 Python 中被固定为 `opening=1`,忽略了各自的
|
||||
`STEP0` 控制。AMESim baseline 显示 `step_8..15` 均在
|
||||
`t=0.04 s` 从 0 跳到 1,对应 PNVO 在此前保持关闭。
|
||||
事件前 `t=0.01 s` 对比:
|
||||
|
||||
接入 STEP0 控制后的默认短时对比:
|
||||
- `press@pn_c1_8`:Python `-1286.601221 Pa`,AMESim
|
||||
`-1288.253185 Pa`,绝对误差约 `1.651964 Pa`。
|
||||
- `dm1@pneumatic_69`:Python `-0.002485112 g/s`,AMESim
|
||||
`-0.002054255 g/s`;换算后的 canonical 流量绝对误差约
|
||||
`4.30857e-7 kg/s`。
|
||||
- `xv@pn_morifice_1` 和 `dm2@pn_morifice_1` 在两侧均为 0,确认
|
||||
STEP0 事件前 PNVO 保持关闭。
|
||||
- `vol1@pn_brp2_8` 绝对误差约 `8.76e-5`,机械位移、速度和加速度
|
||||
仍保持较小误差;当前较明显的累计差异集中在 PNL0001 流量和
|
||||
PNCH012 压力/能量链路。
|
||||
|
||||
- `press@pn_c1_8` 末值误差从约 `9.22849 Pa` 降为
|
||||
`0.0117249 Pa`。
|
||||
- Python `dm1@pneumatic_69` 末值约
|
||||
`-4.97737e-7 g/s`,AMESim 线性插值约
|
||||
`-2.05425e-6 g/s`。
|
||||
- canonical chamber-to-line flow 定义为
|
||||
`-dm1 * 1e-3`,因此两者分别约为
|
||||
`4.97737e-10 kg/s` 和 `2.05425e-9 kg/s`,绝对误差约
|
||||
`1.55652e-9 kg/s`。
|
||||
- AMESim 首个 `0.01 s` 区间的 `mgas1@pn_c1_8` 有限差分约
|
||||
`-9.86349e-7 kg/s`;用该区间首末 `dm1` 做梯形平均得到的
|
||||
chamber 质量变化率约 `-1.02713e-6 kg/s`,符号和量级一致。
|
||||
新增 `--pnvo-event-boundary` 诊断:先积分到 `0.04 s` 的左极限,
|
||||
再按 STEP0 的右连续语义在事件时刻读取开度和流量。结果为:
|
||||
|
||||
当前剩余 `1e-5 s` 误差不能直接解释为物理方程误差:AMESim
|
||||
baseline 只按 `0.01 s` 保存,而 comparison 在首个保存区间内做
|
||||
线性插值;位移、体积和压力的初始响应并不一定是线性的。
|
||||
- `xv@pn_morifice_1`:Python/AMESim 均为 `1`。
|
||||
- `dm2@pn_morifice_1`:Python `502.945005 g/s`,AMESim
|
||||
`497.823823 g/s`,绝对误差约 `5.121182 g/s`,相对约 `1.03%`。
|
||||
- `press@pn_c1_8` 绝对误差约 `55.4815 Pa`;
|
||||
`dm1@pneumatic_69` 绝对误差约 `0.00281880 g/s`。
|
||||
|
||||
这说明 PNVO 开启瞬间的开度语义和主流量量级已经对齐,但事件前
|
||||
累积压力/支路流量仍有偏差。常规积分直接跨越事件到 `0.05 s` 时,
|
||||
当前进程会被系统终止,尚未形成可信的事件后结果;不能据此声明
|
||||
完整 `0.04 -> 0.05 s` 窗口已经可运行。
|
||||
|
||||
## 下一步
|
||||
|
||||
1. 增加 AMESim 保存时刻对齐的诊断,优先比较事件前的
|
||||
`t=0.01 s`,避免把 `1e-5 s` 线性插值误差当成物理偏差。
|
||||
2. 导出 `xv@pn_morifice_1` 和 `dm2@pn_morifice_1`,检查
|
||||
`t=0.04 -> 0.05 s` 开启窗口的 PNVO 流量及事件传播。
|
||||
3. 在控制时序对齐后,再判断是否需要校准 PNVO 流量系数、
|
||||
`pneumatic_69` 的 PNL0001 阻力或 PNCH012 能量方程。
|
||||
4. 继续保留 `press@pn_c1_8`、`dm1@pneumatic_69` 和 chamber
|
||||
RHS breakdown 作为同一条诊断链。
|
||||
1. 优先定位 `0 -> 0.04 s` 累积的 `pneumatic_69` 流量与
|
||||
`pn_c1_8` 压力偏差,区分 PNL0001 阻力和 PNCH012 能量方程。
|
||||
2. 采用显式事件分段或针对事件后的局部数值策略,解决跨越
|
||||
`t=0.04 s` 后积分进程被终止的问题,再验证 `t=0.05 s` 保存点。
|
||||
3. 保留 `press@pn_c1_8`、`dm1@pneumatic_69`、PNVO `xv/dm2`
|
||||
和 chamber RHS breakdown 作为同一条诊断链。
|
||||
4. 在完整开启窗口稳定后,再判断是否需要校准 PNVO 流量系数。
|
||||
|
||||
`pn_c1_8` 的直接主线是 `pneumatic_69`;`pneumatic_96`
|
||||
属于另一条固定气室支路,不是该诊断对象。
|
||||
@@ -109,6 +112,12 @@ baseline 只按 `0.01 s` 保存,而 comparison 在首个保存区间内做
|
||||
python3 -m PythonModels.scripts.run_test_mql_full_state_comparison
|
||||
```
|
||||
|
||||
运行 PNVO 事件边界诊断:
|
||||
|
||||
```bash
|
||||
python3 -m PythonModels.scripts.run_test_mql_full_state_comparison --pnvo-event-boundary
|
||||
```
|
||||
|
||||
运行相关测试:
|
||||
|
||||
```bash
|
||||
|
||||
Reference in new issue
Block a user