求可生成适配csv-compare的Modelica测试库仿真CSV结果的工具
批量仿真Modelica测试库并生成兼容csvTreeCompare格式的CSV方案
可用开源工具及方案
OMSimulator + 自定义脚本
OpenModelica生态下的OMSimulator支持通过脚本(Python、OMShell)批量处理Modelica模型。你可以:- 用脚本遍历目标测试库的包结构,过滤出可仿真的模型(排除抽象类、不可实例化模型);
- 逐个调用OMSimulator执行仿真,记录仿真状态(成功/失败)、耗时、关键输出参数;
- 按照csv-compare的
csvTreeCompare模式要求,将模型的包路径、名称、结果数据组织成CSV——确保每行数据对应一个模型,包路径层级清晰,和测试库的类树结构一致。
ModelicaTestTools扩展
部分开源的ModelicaTestTools库提供了基础的批量仿真框架,你可以基于它的现有功能,修改结果导出模块,适配csvTreeCompare的CSV格式要求,快速实现需求。
自定义实现思路(若现有工具不满足)
如果上述工具无法直接适配,自己写脚本也不难:
- 选用Modelica工具的API:比如OpenModelica的Python API(
OMPython),或者Dymola的命令行接口,用来遍历包结构和执行仿真; - 遍历逻辑:递归遍历测试库的包,识别可实例化、可仿真的模型;
- 结果记录:对每个模型执行仿真后,收集所需结果字段;
- CSV生成:按照csvTreeCompare的格式规范,将包路径、模型名、结果字段写入CSV,保证结构与测试库类树匹配。
关键注意点
- 工具授权差异:OpenModelica系列工具开源免费,适合无商业授权场景;Dymola功能更完备但需要商业许可。
- 格式匹配:务必确保CSV的结构符合
csvTreeCompare模式的要求——核心是通过包路径体现层级关系,这样compare.exe才能正确解析树状结构进行对比。
内容的提问来源于stack exchange,提问作者modelicaFan
相关产品推荐
相关产品推荐

