Files
SystemSimulationApp/docs/update-log/更新日志-2026-08-17.md
T

5.6 KiB
Raw Blame History

更新日志 2026-08-17

11:15

  • 复测复杂系统 XML:磁盘文件的终止时间为 0.81 s,原样运行正常完成;仅在内存中延长至 2.10 s 后也正常越过此前报告的 2.05 s 慢区并结束,没有发生重试、回退或无进度卡死。
  • 性能分析确认约 97% 时间消耗在积分阶段,有限差分 Jacobian 估计约占 RHS 工作量的 69%;后续优化重点确定为半解析 Jacobian、扁平数值中间表示和 stream/物性传播,而不是继续优先优化未触发的全局非线性求解。
  • Jacobian、因果快路径、stream 方程块和逐步积分相关的 44 项回归测试通过;10 s 长时运行尚未验证,不能由 2.10 s 结果外推保证。

11:18

  • 重构 docs/README.md,明确 update-log/、standard/、other/ 三类目录职责,并建立按日期命名、按实际完成时间分段的更新日志规范与模板。

11:28

  • 完成求解器架构复核:当前 472 个代数未知量已形成覆盖 200 个 flow/force 未知量的因果赋值计划,复杂模型运行中因果快路径审计没有失败或回退;确认下一阶段应在现有计划之上建设可求导、可数组化的数值内核,而不是重复实现因果求解器。

11:30

  • 精简文档索引,删除容易过期的专题清单、代码入口和单日日志链接,只保留目录职责与更新日志规范;明确历史工作缺少准确完成时间时不得猜测补写。

11:35

  • 新增 docs/other/求解器性能优化任务清单.md,记录 0.81 s、2.10 s 基线,建立 OPT-00~OPT-10 优化任务、验收标准、回滚要求、性能对比口径以及 10 s 长时验证计划。

11:38

  • 修复文档重新分类产生的 18 条 Markdown 断链、4 处旧路径文字和 1 处易失效的行号引用;保留历史日志原文不变,全仓本地 Markdown 相对链接复扫为 0 条断链,git diff --check 通过。

15:04

  • 新增 callable 稀疏 Jacobian 数值层,并为 BDF/Radau 接入真实 RHS 计数、求解分段重建、取消检查、诊断统计和类型化完整数值回退;显式积分器继续忽略 Jacobian。
  • 完成三条活塞支路 6 个机械状态列的首批半解析传播,覆盖 34 条因果赋值,并增加 Ideal/Peng–Robinson 介质及 PNRP17、PNCH012、PNL0001、LSTP00A、MECMAS21 等组件的局部切向原语;有限差分颜色数由 31 降至 25。
  • 新路径仅在 SIMULATION_ODE_JACOBIAN_MODE=semi-analytic 时显式启用,默认仍使用 SciPy;无法证明拓扑、进入非光滑边界或局部导数不可用时恢复完整数值 Jacobian,不会把未知导数静默填为零。
  • 相关测试共 250 项通过;局部半解析列相对独立中心差分的最大相对误差为 1.897e-8。另有一项热流体闭合测试因测试资源已移动而仍读取旧路径失败,与本次 Jacobian 修改无关。
  • 0.81 s 三组同机对比中,实验路径总墙钟中位数由 61.203 s 降至 56.708 s,Jacobian RHS 减少约 26.1%;2.10 s 单次由 126.211 s 降至 116.512 s,事件、启动和样本数量保持一致并正常越过 2.05 s。
  • 默认容差下两条路径尚未满足拟定的严格逐点轨迹门槛,且通用 stream 导数、自定义组件、正式锁定环境复测和 10 s 长时覆盖尚未完成,因此 OPT-03 仍为部分实现,没有切换生产默认路径。

15:14

  • 将后端、前端和一键启动入口统一到 bat/ 目录,保留三组 Windows .bat 脚本,并新增一一对应的 Linux .sh 脚本;删除仓库根目录和 frontend/ 下已被替代的旧启动入口。
  • Windows 脚本改为从自身位置解析仓库路径,分别使用 .venv-win 和仓库内兼容的便携 Node.js;Linux 脚本使用 .venv,并优先选择 .tools/node-*-linux-x64,缺少环境、依赖或兼容 Node.js 时会给出明确提示。
  • Linux 一键启动脚本可在同一终端管理 FastAPI 与 Vite;收到 Ctrl+C、终止信号或任一服务退出时会清理两个进程组,超时后仅强制结束尚未退出的进程,避免遗留后台服务。
  • 新增脚本换行规则并设置 Linux 脚本可执行权限;本地 Linux Node.js 运行时加入忽略规则,避免 .venv、node_modules 和便携工具污染版本库。
  • 根 README.md 补充 Windows/Linux 环境准备、Node.js 版本要求、六个启动命令、服务地址及停止方式,相关技术文档中的旧启动路径同步为 bat/ 下的新入口。
  • 完成本机开发环境准备:创建 Python .venv 并按 requirements.txt 安装依赖,pip check 无冲突;安装项目本地 Node.js v24.18.0、npm 11.16.0,并通过 npm ci 安装前端依赖。
  • Linux 脚本语法、启动和进程清理验证通过;FastAPI 8000 与 Vite 5173 均返回 HTTP 200,测试结束后端口无残留监听。Windows 脚本已完成静态检查,尚未在 Windows 实机运行。
  • npm 审计报告 2 个高危依赖问题;本次未执行可能改变锁定依赖版本的自动修复,留待单独评估处理。

15:27

  • 根据同日其他项目会话的最终记录补全上述文档管理、性能诊断和求解器优化工作,并与当前源码、测试及优化任务账本交叉核对。
  • 在当前项目 .venv 中重新运行 Jacobian、切向原语、三活塞、core solver、稀疏结构和 XML 仿真的定向测试,共 86 项全部通过;git diff --check 通过。
  • 热流体闭合套件当前仍为 12/13,通过项不受影响;唯一失败是测试继续读取已经移动的旧 fixture 路径。测试资源移动属于用户操作,本日志未将其计入其他会话的完成成果。