Files
SystemSimulationApp/docs/update-log/更新日志-2026-09-11.md
T

6.3 KiB
Raw Blame History

2026-09-11:C 管路验证版合入网页后端

数据目录整理:按用户要求,tests/data 的 JSON/XML 仅保留可在浏览器导入、且已与对应 AME 参数和端口对齐的 test-mql-4-corrected.json 与 test-mql-8-corrected.json。其余8份资料逐字节迁到 tests/fixtures / tests/baselines;活动测试、审计脚本、CI、基准清单路径和当前报告已同步。两个工程真实浏览器导入及XML下载通过,导出的物理参数、连接和仿真设置与工程输入一致;8项路径/清单相关回归通过。具体去向见 目录说明。

最新补充:本轮完成管流牛顿迭代的有限夹根、残差进展检查与二分回退;按用户确认将网页/API 默认 rtol 改为 1e-8。重新核对四路/八路 AME 图纸并交付 tests/data/test-mql-4-corrected.json 与 tests/data/test-mql-8-corrected.json;用户复核发现的 P4NODE2 显示方向和 3/4 号端口锚点错误一并修正。相同新精度下,相比局部半步松弛迭代,四路纯求解中位耗时 1.3309→0.9097 s(减少31.6%);72条已有Amesim参考曲线均通过原门槛,最大温差0.00882331 K。38项后端测试与2项P4真实端口几何测试通过;四路最终网页从点击到结果可查看中位3.55 s。八路修正版在新精度下单次完整完成10 s,纯求解5.91 s。最新验收范围、网页证据和八路运行限制以 本轮完整报告 为准;下文旧默认精度和旧输入路径为此前历史记录。

当天后续更新:已将物性状态复用、等熵计算中的密度复用、焓直接计算,以及检查残差的管流求根接入正式C内核和两条生成路径。最终25项回归通过;MQL4纯求解中位耗时3.138→1.391 s,skill-test 0.255→0.139 s。已启动更新后的本机后台并以真实HTTP请求验证。详见 实现与验证报告。下文为当天较早一次合入的历史记录。

后续网页检查补充:LSTP00A 接口力在新增碰撞事件点存在极短高峰,原有共同采样点回归没有覆盖该现象。详情及对原曲线一致性结论的限定见 接口力对比报告。

在 system-optimization 工作区,将 test-mql-4 验证版的修正合入正式原生编译和求解路径,并重启本机 127.0.0.1:8000 后端。网页通过 5173 端口代理调用的新仿真已经使用这些修正。未提交或推送 Git。

合入内容

  • PNL0003 的两段储气状态之间,采用与 PNL0001/2 相同的可压缩管流关系及小压差平滑处理,移除独立 Darcy 反求和固定 48 次二分分支。
  • PNL0001 按实际流向选择上游温度;流量计算和雷诺数、摩擦系数、流速诊断使用同一侧的温度。
  • 氦气管流与诊断统一使用已有 NASA 黏度表达式;理想空气等介质保留原有黏度模型。
  • 两条 C 代码生成路径统一生成按物理量区分的绝对误差限:质量 1e-14 kg、内能 1e-8 J、速度 1e-12 m/s、位移 1e-12 m。这是本轮验证的默认值,尚未实现按模型尺寸自动缩放或用户自定义绝对误差限。
  • 网页后端默认相对误差限从 1e-6 调整为 1e-7,与此次对照设置一致,并在结果诊断中返回实际 rtol。积分方法、最大步长和输出间隔仍取自用户模型。

雅各比算法、求解器类型和前端操作流程未修改。构建缓存会根据模型及 C 源文件内容自动生成新的键,无需手动删除旧缓存。用户仍需导入修正后的 JSON;内核更新不会自动改动已保存模型的接线或参数。

验证结果

经真实 HTTP 请求 http://127.0.0.1:5173/api/system-xml/simulate-stream,修正后的 test-mql-4 以 BDF、相对误差限 1e-7、最大步长 1e30 完成 0~10 s:

指标 本次运行
纯求解墙钟 4.4088 s
求解 CPU 4.1719 s
HTTP 全程 9.3444 s
模型计算次数 24941
接受步数 5137
进度事件数 50

HTTP 全程包含进程启动、结果整理、序列化和传输等,不应把它与纯求解的差额全部归因于进度条。本次是后端合入验证,未测量浏览器绘图时间。

72 条物理曲线在共同的 1001 个时间点上,与重新编译的 Amesim 四支路模型比较。最大压力差 198.2697 Pa、温度差 0.009626 K、位移差 0.646855 μm、速度差 3.41015 μm/s、质量流量差 0.0160272 g/s,与先前 C 验证版一致。剩余局部差异仍按原报告记录,未声称完全消除。闭合气路总质量最大漂移约 1.20e-14 kg。

另外,通过同一 HTTP 路径运行仓库 native-skill-test.xml:RK45、最大步长 0.001 s,完成 10 s 仿真,纯求解墙钟 0.5205 s,CPU 0.4531 s。

29 项相关测试通过,包括两种积分器、完整元件目录、依赖排序、管流缓存、正反向上游温度、平衡附近管流、守恒和网页流式求解。目录测试中与旧 Python 管流公式有关的断言,改为保留独立热力学基准并校验守恒;其他模型继续进行完整旧基准对照。新增 Amesim 曲线基准覆盖 72 条曲线、57 个选定时间点,用于持续回归;本次 HTTP 核验使用完整的 1001 个共同时间点。

文件

  • 正式代码:native/components/kernels.c、app/simulation/native_codegen/{compiler,extended,tolerances,runner}.py、app/simulation/backends.py。
  • 回归:tests/test_native_pipe_physics.py、tests/test_native_catalog.py、tests/data/test-mql-4-corrected.xml、tests/data/test-mql-4-amesim-reference.json。
  • 执行记录:test/mql4-backend-integration-20260911/ 内的 http-verification.json、http-result.json、http-events.json、skill-test-http-summary.json、physics.log、regression-final.log。
  • 用户输入文件仍为 test-mql-4-corrected.json。

复核命令:

./.venv-win/Scripts/python.exe -m unittest tests.test_native_pipe_physics tests.test_native_codegen tests.test_native_pipe_cache tests.test_native_catalog tests.test_native_schedule tests.test_amesim_pnl0001_xml tests.test_amesim_pnl0002_pnl0003_xml tests.test_native_only_backend -v