feat: extend stall timeout and remove sample cap
This commit is contained in:
1 parent
27f9f4add8
commit
eb6ea70e19
9 files changed
+105
-45
No files matched your search
@@ -263,11 +263,11 @@ signal、stream 和外部 volume resolver 已把静态组件列表、端口引
|
||||
| 代数残差容差 | `1e-7` | 压力流量快速路径/接受标准 |
|
||||
| 代数最大评估 | `500` | 单次 `least_squares` 上限 |
|
||||
| stream 容差/迭代 | `1e-9 / 100` | 焓传播固定点 |
|
||||
| 采样数上限 | `10001` | 限制输出样本,不限制 RHS 次数或事件数 |
|
||||
| 采样数上限 | 无固定业务上限 | 输出规模受运行时可表示范围和可用资源约束,不限制 RHS 次数或事件数 |
|
||||
|
||||
前端/Pydantic 默认值见 `frontend/src/App.tsx` 的仿真默认配置和 `app/main.py:131-137`;通用路径构造 `SolveIVPConfig` 见 `app/main.py:684-701`;采样网格见 `app/simulation/systems/generic.py:204-225`。
|
||||
|
||||
**[已实现]** `sampleStep` 生成的采样网格会确保包含 `t_stop`,并在超过 10001 点时拒绝;它不会把 BDF 变成固定步算法。实际 RHS 次数由自适应误差控制、Jacobian 估计、拒绝步、事件重启和 `max_step` 共同决定。
|
||||
**[已实现]** `sampleStep` 生成的采样网格会确保包含 `t_stop`,不再设置固定点数上限;仅在数值非有限、当前运行时无法表示点数或时间无法严格递增时预先拒绝。它不会把 BDF 变成固定步算法。实际 RHS 次数由自适应误差控制、Jacobian 估计、拒绝步、事件重启和 `max_step` 共同决定。
|
||||
|
||||
### 6.3 逐步推进分派
|
||||
|
||||
@@ -384,10 +384,10 @@ STEP0、UD00 等信号源提供离散事件时刻。积分器先推进到事件
|
||||
前端规则:
|
||||
|
||||
- 30 秒没有收到任何字节:连接超时;
|
||||
- 60 秒只收到心跳而没有真实积分进度:判定 stalled 并请求取消;
|
||||
- 15 分钟只收到心跳而没有真实积分进度:判定 stalled 并请求取消;
|
||||
- 正常运行不是轮询,轮询仅用于异常恢复。
|
||||
|
||||
**[发现]** 合法但单个已接受步/闭合超过 60 秒时,前端可能误判停滞。后端结果事件的 `phase` 使用 `completed/stopped/stalled/failed`,前端事件类型却声明 `"complete"`;运行时当前没有按该字段做严格校验,所以契约漂移尚未直接报错(`app/main.py:825-840`、`frontend/src/App.tsx` 的流式事件类型)。
|
||||
**[已缓解]** 合法但单个已接受步/闭合超过原 60 秒阈值时,前端会误判停滞;浏览器警钟现延长为 15 分钟,30 秒断流检测保持不变。该警钟仍以“最后一次非心跳积分进度”为依据,尚未细分 RHS、Jacobian 和闭合活动。后端结果事件的 `phase` 使用 `completed/stopped/stalled/failed`,前端事件类型却声明 `"complete"`;运行时当前没有按该字段做严格校验,所以契约漂移尚未直接报错(`app/main.py:825-840`、`frontend/src/App.tsx` 的流式事件类型)。
|
||||
|
||||
### 9.2 开发和部署连接数
|
||||
|
||||
@@ -424,7 +424,7 @@ O(组件 + 连接 + 代数结构)
|
||||
+ O(采样数 × 公开结果变量数)
|
||||
```
|
||||
|
||||
当前采样上限是 10001。放大因素包括:
|
||||
当前不设置固定采样点数上限,调用方必须根据模型输出变量数和可用内存选择 `sampleStep`。放大因素包括:
|
||||
|
||||
- 积分状态矩阵与后处理 `series` 在后处理阶段同时存在;
|
||||
- 最终完整结果保存在全局任务记录中,又被编码为一个大型 NDJSON 行;
|
||||
|
||||
Reference in new issue
Block a user