Files
SystemSimulationApp/docs/other/test-mql-8当前AME归档与完整曲线核查-2026-09-11.md
lujingze b6c22a54f8 修复测试模型路径并完善四路八路回归与文档
- 按文件哈希区分当前八路工程和历史 Amesim 基准,修复测试与清单中的旧路径。
- 四路审计从 JSON 按需生成 XML,八路新增只核对模式,并显式使用 UTF-8 与 LF。
- 将缺失高刚度夹具的测试替换为当前八路完整 BDF 运行,明确未恢复原 RK45 专项覆盖。
- 更新前端大型工程测试、历史活动回放入口、数据说明、现行规范和相关报告。

验证:全量后台 374 项通过、1 项条件跳过;前端 11 项通过、历史独立服务用例 1 项跳过;四路八路 AME 审计通过。
环境、缓存和运行产物保持忽略;本次未实施工程 JSON 字段精简。
2026-09-12 15:49:09 +00:00

9.5 KiB
Raw Permalink Blame History

test-mql-8 当前 AME 归档与完整曲线核查

路径复核 / 2026-09-12:本报告当前 AME/JSON 路径仍有效;文中 SHA 开头 cbc3aadd 的另一个历史 AME 位于 tests/data/AmesimModels/test_mql.ame,只与 August 冻结基准配套。 详见 路径修复记录。

2026-09-11。只读解析当前输入、AME 归档和已完成的原生运行,不重新求解、编译或修改模型。

当前八路归档的数据身份、公开参数和初始状态相互对应,可以作为已保存曲线的观察参考。完整曲线仍有差异,不能判为一致;Amesim 没有可信 CPU/墙钟耗时,速度比较明确 skip。 归档名义容差为 1e-7,本轮原生为 1e-8,亦不构成同精度的性能比较。

本轮来源

文件 SHA-256
tests/data/test_mql.ame 1ff0ea4284b9248260eeceb8b27cd0bc14dbccb43554ab8c0b49900d0b944c3d
tests/data/test-mql-8-corrected.json 670977bef67e62d9c66e8af497bada208bd72a7301be45128d185d47282cf288
test/mql8-efficiency-20260911/native-production/run-1/result.json 12a2018119c8f231056dfd834dfc9ac096945173f3982c98ee2b385140b2c7dc

本轮正式原生 run-1 已完整算到 10 s。其 series、final、finalState 与先前 test/solver-newton-20260911/mql8/native-run-rtol1e8/execution/result.json 逐值完全相同,比较产物已经绑定本轮 run-1。见 逐值相等记录。

历史 tests/baselines/simulation/test_mql_8/manifest.json 绑定的是另一个 AME SHA:cbc3aadd4569a49b3a63e5d66d4143ec16126c0f950df73fb637e07673c20fbb。该旧基准不用于本轮。另一个现有 test/mql8-efficiency-20260911/amesim-archive-comparison/comparison.json 确实绑定当前 1ff0… 归档,但仅覆盖 140 条状态/阀流量曲线;本次补入碰撞力、限位力、间隙及原生额外事件采样。

归档是否自洽

归档成员均为 test_mql_ 前缀,子文件 SHA 和字节数完整保存在 comparison.json。

成员 本次核查
.cir 117 个 COMP、40 个有子模型 LINE,157 个公开元件;以真实端口/接触/管线方向核对 corrected JSON 的全部 178 条连接、1092 个公开参数,均对应
.param / .data 各 1170 行;重新求值图纸与数据表中的表达式,1015 个直接绑定的公开参数均一致,2 个 LMECHN1 结构字段只保存在图纸
编译 .c 声明 157 个子模型引用、132 个连续状态、24 个离散状态、1278 个变量;GParamInfo 对应全部 1170 行,1154 个具名参数所属模型可核对;1100 个具名 GVarInfo 的模型实例和变量名逐项匹配 .var
.modelinfo 132 个连续状态、24 个离散状态,与编译 C 相同
.state 全部 132 个状态 Data_Path 与编译 C 的 GcontStateVarNum 顺序一致;其文件时间较旧本身没有造成状态错配
.var / .results 1278 个变量行,1116 个保存变量,1100 条具名曲线;1002 个严格递增时间点,覆盖 0–10 s,具名保存值均有限;132 个状态首点逐项对应当前 .data 初值
.sim 首行 0 10 0.01 1e+30 1e-07 0.001 4 0.1;不把未解码的求解器枚举位直接当作 CVODE/BDF 设置
.ameperf 仅包含 SC/DISC 的仿真时刻及事件计数,没有 CPU、墙钟或完整运行耗时

.param 的第 766、768、770、776 行将介质显示为 PNGD_HELIUM instance 1,编译参数表对应 PNGD00 instance 1;四行 Data_Path 均属同一 pn_gas_data,在审计中明确列作显示名别名。16 个 HIDDEN 参数行、82 个 HIDDEN 编译变量项没有伪造可读名称来宣称逐名核对。

这些检查未发现当前归档发生四路图纸/八路缓存错配,提供了使用其保存曲线的依据。它仍是归档中的历史运行,未在本轮观察 Amesim 重新运行,不能提供新的控制精度或耗时验收。

变量与误差口径

覆盖全部 132 个连续状态对应的物理量:56 条压力、56 条温度、10 条位移、10 条速度;另含 8 条阀流量、8 条接触力、20 条质量元件限位力和 8 条接触间隙,共 176 条曲线。

变量身份通过归档编译 C 的 GVarInfo/GcontStateVarNum、.var Data_Path 和图纸拓扑映射确定。单位来自对应 .var 标签与仓库保存的元件 C:PNVO001 的 dm2 保存单位为 g/s,乘 -0.001 转成本系统 port_2 的流入 kg/s;压力为表压 Pa,加 101300 Pa 转为绝对压力;温度 K、位移 m、速度 m/s、力 N 直接比较,间隙 mm 乘 0.001。见 PNVO001.c 中端口定义及末尾转换、PNL0001.c 中 pa = p + PATM。这些元件源文件用于解释单位,不作为另一个 AME 归档的数据参考。

LSTP00A 的归档 f2 明确为 f1 的重复量,8 组保存数组逐值相同;本系统两个接口力逐值反号。因此本文以 port_1.f 对 f1;port_2.f 对负 f2,得到相同误差。质量元件的 20 条 Fmin/Fmax 在双方保存点均为零,此项不能代替接触力检查。

对每一方的原始保存网格,分别将另一方原始曲线线性插值到该网格;不平移时刻、不平滑、不删除事件点。每条曲线输出最大绝对差、采样均方根差、最大差/参考峰值、RMS/参考 RMS,以及参考非零时的逐点相对差;参考为零的点另外保留绝对差。RMS 是所述采样网格上的等权 RMS。原生网格和归档网格分别报告,避免将没有保存的 Amesim 事件状态冒称为实测值。

保存点上的实际差异

下表是归档 1002 个保存点上的结果,每类列出最大绝对差所在曲线及该曲线 RMS;“峰值归一化”是该差除以该曲线参考峰值,不是逐点相对误差。

量 最差曲线 最大绝对差 RMS 差 峰值归一化 最大差时刻
压力 amesim_pnl0002_6.p 163395.189 Pa 7170.441 Pa 0.792631% 0.01 s
温度 amesim_pnl0001_13.T 105.215279 K 5.829065 K 2.033444% 0.01 s
阀流量 amesim_pnvo001_7.port_2.m_flow 0.002990901 kg/s 0.000114014 kg/s 0.766320% 0.04 s
接触力 amesim_lstp00a_7.port_1.f 5131.970918 N 225.217793 N 0.796525% 0.01 s
接触间隙 amesim_lstp00a_2.gap 5.215260e-8 m 2.265633e-8 m 1.112982% 1.27 s

位移的最大绝对差为 amesim_mecmas21_9.x 的 53,857,561 m,RMS 为 52,430,984.93 m;该曲线参考终值本身为 7.68e15 m,所以不能脱离物理量级解读。该元件在双方均出现约 8e14 m/s 速度;当前 AME 的 UD00 输入含 1e17 的初始信号,不能把这种极端输入改小后再当成同模型验收。

各曲线按自身峰值归一化后,位移最差为 amesim_mecmas21_5.x:最大差 2.193606e-5 m、RMS 1.406520e-6 m、峰值归一化 0.00592859%;速度最差为 amesim_mecmas21_10.v:最大差 2.437279e-4 m/s、RMS 1.964328e-5 m/s、峰值归一化 0.00615392%。两者最大差在 0.98 s。全部逐曲线、逐网格统计见 curve-differences.csv。

碰撞事件使完整曲线不一致

原生额外保存 t = 0.9833956321732664 s,170000 kg 的 amesim_mecmas21_10 此时到达 0.37 m 限位并将速度置零。8 个 LSTP00A 的原始接口力同时约为 4.034997e11 N。不能丢弃这一点后宣称完整曲线吻合。

归档在相邻 0.98 s、0.99 s 保存数据,没有这一事件时刻;将这两个点线性插值得到的接触力约 467936 N。以全部原生保存点为网格,最差接触力最大差为 4.034993e11 N,采样 RMS 为 1.274703e10 N。同一点,负载速度与归档插值差 2.615678 m/s、位移差 0.008950590 m。这些是保存曲线之间的差异,插值跨越限位事件,不能当作 Amesim 真实事件状态的误差。

双方保存的负载数据都显示限位发生在 0.98–0.99 s 内。归档 .ameperf 没有提供该负载在此区间的精确限位时刻;只有采样数据不足以确定两者精确事件偏移,也无法判断 Amesim 内部是否出现同类极窄接触峰。此前 0.01 s 的压力、温度、接触力误差发生得更早,不能全部归因于 0.9834 s 这一未对齐的保存事件。

因此本轮结论是“已完成全点差异观察,尚未通过八路曲线一致性验收”。未预设八路接受阈值,也未取得足够密的 Amesim 事件输出,不将这些差异自动判成精度达标。

耗时与复现

本轮原生 run-1 的纯求解墙钟为 5.797191 s、CPU 为 5.796605 s;这里只标识已有运行,完整性能分析由本轮优化总报告给出。归档中没有可用 Amesim CPU/墙钟记录。当前环境的 PATH、相关环境变量及 Python 模块检查亦未发现可调用 Amesim 安装;归档生成 C 标记为 Simcenter Amesim 2404,不等于当前可调用软件版本。不得用成员修改时间差或 .ameperf 的 10 s 仿真终点推算实际耗时,Amesim 速度比较 skip。

复现本次只读数值后处理:.venv/bin/python test/mql8-current-archive-audit-20260911/audit_and_compare.py。脚本输出来源/成员哈希、参数及状态身份、两种原始网格的误差、额外事件与未验收边界,不启动任何求解器。长期模型选择、先正确性后计时、固定精度及分阶段记录遵循 优化验证约定。