相较上一版 Jacobian 确定性复用更新,本次补齐事件边界一致性、结果两侧采样及接触事件定位;保留已有物性复用和组件力学公式。 - 统一 UD00 信号求值与下一事件查询的绝对时间边界,修复循环边界浮点舍入导致的阶段错位、重复或漏报,并覆盖零时长、多阶段及长周期场景。 - 引入原生输出语义 v2:保留规则网格真实时间,补充内部时间事件和状态事件的左邻及事件后采样,按保存时间、状态和离散模式重放结果。 - 两条代码生成路径均发出 LSTP 接触描述,默认定位间隙过零及非负力模式的力截断;仅在接受事件时更新防重复记录,增加 contactEvents 诊断计数。 - 补充 MASS/LSTP 独立事件实验、八路全曲线与驱动阶段配对评估,以及 Amesim 不连续点输出对照和力差定位报告;MASS 新增释放机制仍保留为独立实验。 - 保存局部 probe、context 访问与回退、shadow replay、R288 real skip/typed replay 及阀门数值尾部诊断工具和报告;未证明净收益的实验不启用为生产默认优化。 - 更新原生运行说明和元件建模规范,补充信号边界、输出语义、接触事件和实验依赖回归测试。 验证:五组专项回归共 34 项全部通过;37 个待提交 Python 文件语法检查通过;git diff --cached --check 通过。
11 KiB
八路曲线剩余差异占比与全程评价
日期:2026-09-17。
1. 结论与适用范围
在目前 0–50 s、10 ms 共同输出网格上,两侧主要运行过程的数值一致性较好,剩余流量和焓流差异对整条曲线的影响很小。这个结论支持当前平台的初步功能展示和基线一致性说明。
循环工况的 238 条曲线中,只有 3 条曲线、6 个“曲线×时刻”样本超过原来的 5% 相对差筛查线;它们集中在 0.30、0.31、0.32 s 三个时刻,占 5,001 个共同输出时刻的 0.0600%。不过,不能据此说其余时间完全没有问题:参考值接近零时,另有零星绝对差异;把这类点也计入,涉及 34 / 5,001 个时刻,即 0.6799%。
比占比更有说服力的是幅值和累计指标:质量流量各曲线中最差的全程相对 L2 误差为 0.008566%,焓流为 0.007368%;逐条曲线的累计绝对差与参考累计绝对值之比,最差分别为 0.013934% 和 0.013814%。这两种指标不会仅因为增加长时间的双方零输出而变小。
本次只读取已有结果,不修改元件、求解器、配对逻辑或工况,不重新求解。统计不包含共同网格之间所有自适应步或所有机械事件点,因此不构成未采样的极短瞬态误差上界。流量和焓流的差异尚未完成根因定位;本次量化的是影响范围和量级。
2. 数据来源与评价口径
- 循环:上一轮 LSTP 已接入主路的结果,对比开启不连续点输出的 Amesim 结果;238 条曲线,5,001 个共同网格点,全部成功配对。
- 不循环:同一轮主路基线的已有结果,Amesim 参照仍为普通输出,采用原有信号阶段配对;主要用来交叉检查剩余流量和焓流差异是否重复出现。
- 每个网格点、所有变量沿用同一对原始记录,不根据误差大小重新选择事件侧,没有平滑、插值或删除异常点。
- 原相对差口径为
100 × |平台−Amesim| / |Amesim|。质量流量只有在|Amesim| > 1e-6 kg/s时计算该比值;焓流门槛为1 W。这些是已有报告的诊断门槛,不是工程验收公差。 - 接近零的区间单列:
|Amesim| ≤ 门槛且|平台−Amesim| > 门槛。避免除以极小数,也避免把这些点直接忽略。 - “全程占比”使用曲线样本数或不重复时刻数,分母分别注明。连续标记点折合时间只是 10 ms 网格上的估计,不是已经定位的超差起止时刻。
令差值为 e、参考值为 r、梯形积分权重为 w:
- 全程相对 L2 误差:
100 × sqrt(Σw·e² / Σw·r²),即相对均方根误差。 - 全程相对 L1 误差:
100 × Σw·|e| / Σw·|r|,避免正负误差相互抵消。 - 累计输送量误差:对流量或焓流差值做梯形积分;另保存绝对差积分和任意时刻累计有符号差的最大值。
积分均为已有 10 ms 网格上的估算。每条节点通道独立计算,不把串联节点的流量相加当成系统总输送量,也不把这些积分当成完整的守恒验证。
3. 超过 5% 的差异有多大占比
每类流量都有 16 条对照曲线,每条 5,001 个点。
| 变量类别 | 超过 5% 的曲线数 | 超过 5% 的样本数 | 占该类全部 80,016 个样本 | 占该类高于近零门槛的样本 |
|---|---|---|---|---|
| 质量流量 | 2 | 4 | 0.004999% | 4 / 576 = 0.6944% |
| 焓流 | 1 | 2 | 0.002500% | 2 / 426 = 0.4695% |
下面按单条受影响曲线计算,防止其他无差异曲线稀释占比:
| 曲线 | 超过 5% 的时刻,s | 占本曲线全部样本 | 占本曲线高于近零门槛的样本 | 最大相对差 |
|---|---|---|---|---|
amesim_pn3node2_2.reference_mass_flow |
0.30 | 0.0200% | 1 / 32 = 3.125% | 11.111% |
amesim_pn3node2_3.reference_mass_flow |
0.30、0.31、0.32 | 0.0600% | 3 / 32 = 9.375% | 32.690% |
amesim_p4node2_4.reference_enthalpy_flow |
0.31、0.32 | 0.0400% | 2 / 35 = 5.714% | 11.360% |
所以,单说“占全程很小”不够:最差流量曲线高于近零门槛的样本中,仍有 9.375% 超过相对差筛查线。关键是它们全部位于衰减尾部,实际量值很小:
- 最大相对流量差位于 0.32 s:Amesim 3.66657 mg/s,平台 2.46797 mg/s,差 1.19860 mg/s;该曲线参考峰值约 249,299 mg/s。
- 最大相对焓流差位于 0.31 s:Amesim −3.08080 W,平台 −2.73081 W,差 0.34999 W;该曲线参考绝对峰值约 522,749 W。
- 0.30–0.32 s 并非本基线登记的 STEP/UD00 信号切换时刻。当前不能把这些剩余差异直接归因为之前的事件侧配对问题。
若仅查看参考幅值超过各自峰值 1% 的主要幅值区间,并同时要求高于近零门槛,质量流量最大逐点相对差为 0.11559%,焓流为 0.10395%。1% 峰值是用于区分主要幅值和衰减尾部的辅助口径,不替代上面的全样本统计。
门槛敏感性也支持差异集中于小量区间:近零门槛缩小到原来的 0.1 倍,超过 5% 的样本增至流量 79、焓流 29;扩大到 10 倍,两类都为 0。本报告保留原门槛,未靠改门槛消除差异。
4. 接近零的区间没有被忽略
| 类别 | 接近零但绝对差超过门槛的样本 | 占该类全部样本 | 这些点上的最大绝对差 |
|---|---|---|---|
| 质量流量 | 44 | 0.054989% | 7.24440 mg/s |
| 焓流 | 2 | 0.002500% | 8.01591 W |
这些异常涉及 31 个不重复时刻,网格折合约 0.31 s,占全程约 0.62%。多数是零散点,最长连续标记段为 45.80–45.84 s 的 5 个样本,网格折合约 0.05 s。焓流两个点分别在 1.41 s 和 46.18 s,并与流量异常时刻重合。
连同相对差超过 5% 的三个时刻,共涉及 34 个时刻,网格折合约 0.34 s、约 0.68%。99.32% 的共同网格时刻未触发上述任一筛查条件,但这不表示误差严格为零。
按运行阶段分组,流量/焓流的主要绝对差仍在初始阶段;后续循环中没有再次出现高于原近零门槛且相对差超过 5% 的点:
| 时间区间,s | 最大流量绝对差,mg/s | 最大焓流绝对差,W | 流量近零异常样本 | 焓流近零异常样本 |
|---|---|---|---|---|
| [0, 1) | 24.2465 | 18.6888 | 2 | 0 |
| [1, 10.8) | 6.5727 | 8.0159 | 9 | 1 |
| [10.8, 21.6) | 0.2172 | 0.02551 | 0 | 0 |
| [21.6, 32.4) | 7.2444 | 0.26117 | 5 | 0 |
| [32.4, 43.2) | 4.5750 | 0.17762 | 8 | 0 |
| [43.2, 50] | 6.3927 | 5.08374 | 20 | 1 |
5. 全程幅值与累计影响
以下每一列均独立取该类曲线中的最差值,因此同一行不同列可能来自不同曲线。
| 变量类别 | 最大全程相对 L2 误差 | 最大全程相对 L1 误差 | 最大逐点绝对差 |
|---|---|---|---|
| 接触力,8 条 | 0.000008651% | 0.000004595% | 1.31240 N |
| 质量流量,16 条 | 0.008566% | 0.013934% | 24.2465 mg/s |
| 焓流,16 条 | 0.007368% | 0.013814% | 18.6888 W |
| 压力,56 条 | 0.00001109% | 0.000004617% | 61.1058 Pa |
| 温度,56 条 | 0.002601% | 0.002407% | 0.389714 K |
| 接触间隙,8 条 | 0.133016% | 0.045482% | 54.7406 nm |
接触间隙的最大逐点相对差为 1.16799%,但对应约 55 nm 的绝对差;因此除近零流量/焓流外,也不应宣称所有变量逐点都小于 1%。其余类别的完整逐曲线结果保存在统计 JSON 中。
质量流量的绝对差积分最大为 7.82056e−7 kg = 0.782056 mg;同一条曲线的参考绝对流量积分为 5.61262 g,比值 0.013934%。所有流量曲线中,任意时刻累计有符号差的最大绝对值为 0.364845 mg。
焓流的绝对差积分最大为 0.491310 J;该通道参考绝对焓流积分约 12,521.9 J。逐条比较误差积分与各自参考积分,最差比例为 0.013814%,来自另一条较小幅值通道。所有焓流曲线中,任意时刻累计有符号差的最大绝对值为 0.307860 J。
这些结果表明,在已保存输出的尺度上,剩余差异没有表现为显著的累计质量输送或能量输送偏差。
模型中另有异常量级的机械位移/容积输出,例如某位移参考值达到约 1.12e17 m;其绝对差虽大,相对差很小。本报告评价两套实现的一致性,不把这类模型本身的异常物理量级解释为工程工况合理,也不笼统宣称所有量的绝对差都小。
6. 不循环工况交叉检查
不循环工况仍然是相同三个时刻、相同三条曲线、相同六个相对差超过 5% 的样本。质量流量/焓流最差全程相对 L2 误差分别为 0.008262% / 0.007048%,相对 L1 误差分别为 0.010307% / 0.010197%。
接近零的绝对异常少于循环工况:流量 11 个样本,焓流 1 个;加上相对异常,共涉及 13 个不重复时刻,占 5,001 个时刻的 0.25995%。这支持主要剩余相对差属于初始衰减尾部,不是循环越多便持续积累的整体偏离。
7. 展示用结论与复现
可以在当前基线展示中使用以下表述:
在与 Amesim 对齐工况和事件输出阶段后,0–50 s、10 ms 共同输出网格上的主要响应曲线具有良好的数值一致性。质量流量和焓流最差全程相对均方根误差分别约为 0.0086% 和 0.0074%;较大的逐点相对差主要集中于近零衰减尾部,对累计输送量的影响很小。该评价不覆盖共同网格之间的全部极短瞬态。
本次不需要为整体展示而优先修改流量或焓流公式。若后续目标是低流量尾部、微小泄漏或每一事件内部瞬态的精确复现,再针对这些区间增加密集采样与根因定位;现有占比不应被当作这类目标已经通过的证据。
复现统计无需重新仿真:
.\.venv-win\Scripts\python.exe -X utf8 tests/manual/analyze_mql8_curve_coverage.py
# 本机已有 matplotlib 的环境可同时生成图:
F:\Anaconda\python.exe -X utf8 tests/manual/analyze_mql8_curve_coverage.py --plots
脚本核验:全部输入有限、共同网格完整配对、时间严格递增、积分权重合计 50 s;逐条曲线重算的相对异常数和近零异常数与此前报告完全一致;读取前后的输入 SHA-256 不变。原平台代码与仿真结果未改动。
