无法使用 dymola python 包进行模拟 - dsres.mat 未找到
Simulate with dymola python package not possible - dsres.mat not found
我尝试使用 python:
来模拟我的图书馆的一个简单模型
dymola.translateModel("path.to.model")
output = dymola.simulateExtendedModel('path.to.model')
log = dymola.getLastErrorLog()
print(log)
print(output)
输出为:
翻译 = 真
输出=
Failed
Not possible to open file "dsres.mat": No such file or directory
= false, {}
[False, []]
似乎模型翻译得很好,但没有 finish/start 模拟。
编辑:
- 许可证状态正确
- 使用 DymolaInterface(showwindow=False) 表明已加载正确的模型及其所有依赖项
- 相当多的警告(F.e。使用了错误的单位),但该模型使用 dymola
模拟得很好
错误信息:
还有:
我正在使用 Modelica.Utilities.Files.loadResource(modelica://ProjectFolder/Data/Files/file.csv)
将一些文件加载到模型中。
编辑2:
- 在项目中,我有两个包,一个包含模拟中使用的所有模型,另一个包含实际模拟的模型。
- 使用基本模型模拟第一个包中的检查模型工作正常。
- 将第二个包中的内容移到第一个包中对同样的错误无济于事
- 模拟真实模型不起作用。为什么在第二个包中模拟模型不起作用?
解决了问题:
由于我使用的库事先加载了其他库,因此必须在加载期间设置环境变量:
model.executeCommand('Modelica.Utilities.System.setEnvironmentVariable("{}", "{}");'
.format("startupscript",repopath + "/libaryXY.mos"))
这些环境变量是在 load.mos 脚本中设置的,我在没有 Python 的情况下打开 Dymola 时使用的脚本。
没有这些,Dymola 无法找到必要的 csv 文件。
我尝试使用 python:
来模拟我的图书馆的一个简单模型dymola.translateModel("path.to.model")
output = dymola.simulateExtendedModel('path.to.model')
log = dymola.getLastErrorLog()
print(log)
print(output)
输出为:
翻译 = 真
输出=
Failed
Not possible to open file "dsres.mat": No such file or directory
= false, {}
[False, []]
似乎模型翻译得很好,但没有 finish/start 模拟。
编辑:
- 许可证状态正确
- 使用 DymolaInterface(showwindow=False) 表明已加载正确的模型及其所有依赖项
- 相当多的警告(F.e。使用了错误的单位),但该模型使用 dymola 模拟得很好
错误信息:
还有:
我正在使用 Modelica.Utilities.Files.loadResource(modelica://ProjectFolder/Data/Files/file.csv)
将一些文件加载到模型中。
编辑2:
- 在项目中,我有两个包,一个包含模拟中使用的所有模型,另一个包含实际模拟的模型。
- 使用基本模型模拟第一个包中的检查模型工作正常。
- 将第二个包中的内容移到第一个包中对同样的错误无济于事
- 模拟真实模型不起作用。为什么在第二个包中模拟模型不起作用?
解决了问题:
由于我使用的库事先加载了其他库,因此必须在加载期间设置环境变量:
model.executeCommand('Modelica.Utilities.System.setEnvironmentVariable("{}", "{}");'
.format("startupscript",repopath + "/libaryXY.mos"))
这些环境变量是在 load.mos 脚本中设置的,我在没有 Python 的情况下打开 Dymola 时使用的脚本。
没有这些,Dymola 无法找到必要的 csv 文件。