fix: 外部引擎路径 display.txt 未随 T_total 变更刷新

当 T_total 从 20→100 时,外部引擎写入的 trajectory.txt 是新的,
但 display.txt 缓存未刷新(检查是否存在而非检查是否过期),
导致总帧数仍为 200(NT=20000 时的数据)。

修复:外部引擎路径总是从 trajectory.txt 重新抽帧生成 display.txt。
This commit is contained in:
2026-06-12 08:11:44 +08:00
parent b95a3579fc
commit 6298ed5b34
2 changed files with 10 additions and 7 deletions
+7 -4
View File
@@ -245,12 +245,15 @@ def run_case(config_path, runtime_base, input_dir="input", output_dir="output",
else:
print("[run] 步骤 [模拟] 已跳过")
# 3. 检查 display.txt(新格式),不存在则从 trajectory.txt 抽帧生成
# 3. 生成 display.txt:模拟完成后总是刷新,避免参数变更后缓存过时
disp_path_new = os.path.join(output_dir_abs, "display.txt")
if os.path.exists(disp_path_new):
print(f"[run] 发现已有 display.txt(引擎直接抽帧)")
if engine == "python":
# Python 引擎在 run_simulation 内部已写入 display.txt
if os.path.exists(disp_path_new):
print(f"[run] 发现已有 display.txt(引擎直接抽帧)")
else:
# 从 trajectory.txt 抽帧(外部引擎
# 外部引擎:从 trajectory.txt 重新抽帧(覆盖旧的 display.txt
traj_path = os.path.join(output_dir_abs, "trajectory.txt")
if not os.path.exists(traj_path):
print(f"[run] 错误: 找不到 trajectory.txt 或 display.txt")