feat: 为 C/C++/Fortran 引擎增加驱动力(driving_force)支持

- param.json 新增 driving_force 开关
- C 引擎: 新增 DriverData 结构体、read_driver()、apply_driving_force()
- C++ 引擎: 同上(C++ 风格实现)
- Fortran 引擎: 同上(Fortran 90 风格实现)
- 修复 JSON 输出末尾逗号导致加载失败的问题
- 编译通过并验证 C 引擎运行正常(100000步/6.6s)
This commit is contained in:
2026-06-11 09:19:34 +08:00
parent 6da82de49b
commit 685234c84f
4 changed files with 579 additions and 11 deletions
+1
View File
@@ -697,6 +697,7 @@ def run_engine(engine, input_dir, output_dir, config):
"elastic_force": int(config.get("elastic_force", 1)),
"damping_force": int(config.get("damping_force", 0)),
"gravity_strength": float(config.get("gravity_strength", 1.0)),
"driving_force": int(config.get("driving_force", 0)),
}
param_path = os.path.join(script_dir, "engines", engine, "param.json")
os.makedirs(os.path.dirname(param_path), exist_ok=True)