【发布时间】:2019-05-14 21:14:11
【问题描述】:
我想使用 Python 通过 Dymola 和 BuildingsPy 调用我的 Modelica 模型。我阅读了 BuildingsPy 教程,我大致了解它是如何进行的,但我承认这些示例对我来说不太直观。有人可以帮助我举一个简单的例子,例如使用 Modelica 库中的现有模型。
谢谢
【问题讨论】:
-
@Markus A. 谢谢 Mrkus,我法语说得更多是因为我的英语不是顶级
我想使用 Python 通过 Dymola 和 BuildingsPy 调用我的 Modelica 模型。我阅读了 BuildingsPy 教程,我大致了解它是如何进行的,但我承认这些示例对我来说不太直观。有人可以帮助我举一个简单的例子,例如使用 Modelica 库中的现有模型。
谢谢
【问题讨论】:
对于buildingspy,您必须安装以下额外的python 包:
在 Windows 上,我建议使用 anaconda。
现在你可以运行一个简单的模拟如下:
from buildingspy.simulate.Simulator import Simulator
import os
# Make dymola.exe available
os.environ["PATH"] += os.pathsep + r"C:\Program Files\Dymola 2019 FD01\bin64"
s = Simulator(modelName="Modelica.Blocks.Examples.PID_Controller",
simulator="dymola")
# Simulation settings
s.addParameters({'PI.k': 10.0, 'PI.Ti': 0.1})
s.setNumberOfIntervals(100)
s.setSolver("dassl")
s.setStopTime(3.2)
s.showGUI(show=True)
s.showProgressBar(show=True)
s.simulate()
print("done")
当模拟成功完成后,python工作目录将包含结果文件PID_Controller.mat。
现在您可以使用 Reader 和 Plotter 类来绘制结果,如下所述: https://simulationresearch.lbl.gov/modelica/buildingspy/io.html
【讨论】:
谢谢你的解释,真的很清楚,对我帮助很大。我测试了我的一个模型,但通过启动代码,dymola 打开但它不加载库或我的模型存在。这就是我收到的信息:
错误:“C:\Temp\tmp-simulator-wwuvls\BEE”中的模拟失败 例外:文件 C:\Temp\tmp-simulator-wwuvls\BEE\simulator.log 不存在。 您需要手动删除目录。
【讨论】: