如何使用OMPython在Python中调用OpenModelica模型?

jon*_*e83 7 python modelica openmodelica

我有一个用OMEdit制作的OpenModelica模型.为了得到一个具体的例子,我设计了以下内容:

来自OMEdit的OpenModelica模型名为myGain

现在我想用Python运行模型.我可以通过使用OMPython来做到这一点.导入OMPython并加载文件后,我使用以下命令运行模拟:

result = OMPython.execute("simulate(myGain,numberOfIntervals = 2,outputFormat = \"mat \")")

现在运行模拟并将结果写入文件.

现在我想运行相同的模型,但是常量块的参数不同.

我怎样才能做到这一点?

由于参数被编译到模型中,因此无法对其进行更改.所以我需要的是这样的模型:

myGain使用变量作为参数

是否可以从Python调用模型并将变量"a"设置为特定值?

使用命令OMPython.execute("simulate(...)")我可以指定一些环境变量,如"numberOfIntervals"或"outputFormat",但不能更多.

sjo*_*.se 5

您可以向模拟命令发送更多标志。例如用于覆盖参数的 simflags。有关详细信息,请参阅https://openmodelica.org/index.php/forum/topic?id=1011 。

您还可以使用buildModel(...)后面的命令来system("./ModelName -overrideFile ...")避免重新翻译和重新编译,或者使用一些较小的脚本并行参数扫描。如果您使用 Linux 或 OSX,那么应该很容易调用 OMPython 来创建可执行文件,然后自己调用它。在 Windows 上,您需要设置一些环境变量才能使其按预期工作。