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

11 KiB
Raw Blame History

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

用户确认接受雅可比试验误差后,已将结构着色差分设为正式默认并重启正常 8000/5173 服务。删除旧算法环境变量/CLI 选择器,只保留 --verify-jacobian 诊断及必要自动回退。57 项回归通过(含四路原 AME 门槛),正式八路三轮中位求解 2.6066 s、结果可查看 3.4985 s、浏览器保存 3.6134 s;5 次网页运行、下载与刷新恢复和已接受候选一致。当前状态及使用方式见 正式启用报告,下文“试验版/默认 dense”为启用前历史记录。

雅可比结构着色试验完成:先前结果处理优化已通过 3bc4be3 推送到 origin/system-optimization,其后新增显式启用的 auto/verify 候选,默认继续 dense。修正八路 132 状态合并为 27 色,每次另算 1 次 canonical 基准;原生三轮中位 5.7915→2.4926 s(-56.96%),网页可查看 7.0185→3.4556 s(-50.76%),浏览器保存 7.1597→3.5793 s(-50.01%)。433 次全矩阵核对零失配、16 次网页/CSV/恢复完整核对通过,取消竞态已修复并复测。部分温度相对较严格参考的误差略增,未宣称等精度或八路 AME 验收;本轮试验改动保留本地。详见 雅可比试验与阶段成本报告。

同步基线记录:将已验证的原生结果直传、浏览器Float64缓存与CSV工作线程、C端Ryu编码写出,以及八路性能调研/复现工具统一保存到 system-optimization。本次同步包含源代码、测试和报告;本地环境、仿真大结果和临时构建继续保留在Git忽略目录。雅可比矩阵优化从这份基线之后单独开展,沿用修正八路与 rtol=1e-8。

C结果编码写出优化完成:采用精确回读的Ryu数字编码与64 KiB批量写出,保留JSON结构、全量采样及binary64数值。相同修正八路,正式运行各三次,C写出1.1808→0.1638 s(-86.13%),点击到可查看8.0100→6.9756 s(-12.91%),点击到缓存保存8.1280→7.0841 s(-12.84%);CSV1.1127→1.1506 s,未观察到改善。冷编译单次3.658→4.372 s,首次网页11.682→11.381 s,已单独披露。10项编码专项、29项相关回归、8份原生结果逐位与16次网页/CSV/恢复核验通过。研究、限制、分阶段数据和复现见 C端编码与写出报告。未安装新环境或提交Git。

补充当前优化版八路全流程成本评估:网页预处理约19.6 ms,后台积分约6.064 s、C结果写出约1.175 s;独立原生诊断中RHS占积分93.72%,实测差分Jacobian需62,700次RHS,占全部调用84.43%。12次网页与8次原生诊断完整数值一致,本轮只增加计时工具和报告;阶段边界、CPU/墙钟、首次编译和前端采样见 全流程成本评估。

本轮结果处理优化完成:C的数值series直接进入HTTP结果流,Python不再解析并重新编码大数组;网页保存改为打包Float64块的一次原子事务,CSV改由工作线程本地生成。相同修正八路、相同精度和采样,同机旧版/优化版各预热加三次,点击到结果可查看9.872→8.034 s(-18.62%)、点击到保存完成11.774→8.132 s(-30.93%)、CSV下载保存5.610→1.005 s(-82.08%)。12次完整网页/CSV数值及刷新恢复一致;后端29项、传输6项复测、持久化6项与CSV6项专项通过。记录与实现见 结果处理优化报告。

本轮八路性能评估:后续优化优先 test-mql-8-corrected.json,只有八路无法运行且短期无解时才退四路。八路同精度三算法基准,当前方案纯求解 5.9138 s,相对旧固定点 12.0976 s 减少 51.12%;相同 3081320 组管阻输入重放,耗尽迭代从 3010570 次降至 0,最多 6 轮。真实网页两组各预热加三次完成;常规组点击到完成绘制中位 9.8989 s,CSV 下载 5.6198 s。已拆分后台与浏览器各阶段,并验证全部网页/CSV 数值与原生结果精确相等。当前 AME 可作保存曲线观察,但仍有早期温压和碰撞峰差异,未判八路曲线验收通过;无可信 Amesim 耗时,速度对比跳过。详见 八路完整计时报告 与 当前 AME 核查。本轮仅新增手动诊断和文档,未改生产算法或环境。

数据目录整理:按用户要求,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