【发布时间】:2019-09-18 19:47:53
【问题描述】:
我尝试使用 python 读取 dymola 生成的 .mat 文件,但每次运行模拟时,.mat 文件都保存在不同的文件夹中。我怎样才能有一个单一的退出路径?
谢谢。
【问题讨论】:
标签: modelica openmodelica dymola
我尝试使用 python 读取 dymola 生成的 .mat 文件,但每次运行模拟时,.mat 文件都保存在不同的文件夹中。我怎样才能有一个单一的退出路径?
谢谢。
【问题讨论】:
标签: modelica openmodelica dymola
Dymola 将模拟结果写入工作目录。使用cd 进行更改。
如果您使用openModel 加载其他模型,请注意它会使用默认参数更改工作目录。设置changeDirectory=False 以防止这种情况。
您可以在编写 python 代码时使 Dymola GUI 可见,这应该使调试更容易。
这是一个最小的示例,它在窗口可见的情况下启动 Dymola,更改工作目录并模拟模型。 .mat 文件将被写入C:/tmp/dymola:
dymola = DymolaInterface(showwindow=True)
dymola.cd("C:/tmp/dymola")
dymola.openModel("C:/path/to/some-package.mo", changeDirectory=False)
dymola.simulateModel("someModel")
您也可以在调用simulateModel 时设置输出文件的路径。
使用以下代码,Dymola 将在 C:/tmp 处创建 my-result.mat:
dymola.simulateModel("someModel", resultFile="C:/tmp/my-result")
【讨论】:
感谢您的回答,我无法解决问题,但我会尝试更好地解释情况。我用(s = Simulator(modelName = modelName,simulator =“dymola”,outputDirectory = outputDirectory,packagePath = packagePath)的buildingspy从python调用我的模型dymola。使用此命令,dymola生成的文件“.mat”应该以outputDirectory。但是,每次我从 python 运行 dymola 模拟时,.mat 文件都会保存在我的工作目录中已经存在的不同文件夹中,并且在每次模拟时,.mat 都保存在这些文件之一中。是否有必要指定dymola 中的输出文件“.mat”,或者通常它应该像我描述的那样工作?谢谢
【讨论】: