modelica - Dymola 和 OpenModelica 生成的可执行文件之间的差异

标签 modelica dymola openmodelica

我正在考虑使用 Dymola (dymosim.exe) 或 OpenModelica (model_name.exe) 生成的可执行文件对同一模型进行参数模拟。 我想知道,这两个.exe文件和相关的输入文件有什么区别吗? (对于 Dymola 是 dsin.txt,对于 OpenModelica 是 model_name_init.xml

关于文件大小,我可以看到 Dymola 文件较小。但我也想知道脚本输入文件的执行速度和灵 active 。 最后,由于Dymola是一个商业软件,dymosim.exe文件是否可以公开共享?

最佳答案

我会为 OpenModelica 编写这个,Dymola 人员可以添加他们自己的。

我建议使用 FMU 而不是可执行文件和一些(协同)模拟框架,如 OMSimulator(通过 Python 脚本)或其他一些(PyFMI 等)。请在此处查看示例: https://www.openmodelica.org/doc/OMSimulator/master/html/OMSimulatorPython.html#example-pi

请注意,如果您有表格等资源,如果您使用 Modelica URI:modelica://LibraryName/Resource/blah,这些资源将被放入 FMU 中。但是,对于生成的可执行文件,您需要将它们与 exe 一起发送,并且它们需要位于另一台机器上的特定目录中。此外,您需要为 FMU 的可执行文件提供依赖的 DLL(大多数情况下 - 如果您在模型中调用外部 dll,则不正确)不需要,因为它们是静态编译的。

模拟速度取决于模型,有时一个或另一个更快。

对于 OpenModelica 支持的库,您可以查看库覆盖率: https://libraries.openmodelica.org/branches/overview-combined.html

如果您仍想使用可执行文件,这里是它们的命令行参数列表:https://www.openmodelica.org/doc/OpenModelicaUsersGuide/latest/simulationflags.html

如何通过可执行文件进行参数扫描: https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/scripting_api.html#simulation-parameter-sweep

关于modelica - Dymola 和 OpenModelica 生成的可执行文件之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67598978/

相关文章:

modelica - 用于处理 FMU 的 C/C++ 库

python - 如何通过 Python 在 Dymola 中设置 Advanced.EnableCodeExport 标志?

pid - 使用 Modelica 模型和 PID Controller 设计进行过程识别

python - 使用 OMPython 在 OpenModelica 中进行参数化扫描

physics - Modelica 中的倒立摆角度值

precision - 积分延迟的脉冲信号的数值问题 (fixedDelay)

Modelica 质量/能量/动量平衡

python - JModelica 结合 CasADi 在 Python 中获得线性化模型

带平方根的 Modelica 测量单位

Python-Dymola 接口(interface) : How is it possible to check in real time the progress of a Dymola model?