【问题标题】:Simple example on using BuildingsPy with Dymola将 BuildingsPy 与 Dymola 结合使用的简单示例
【发布时间】:2019-05-14 21:14:11
【问题描述】:

我想使用 Python 通过 Dymola 和 BuildingsPy 调用我的 Modelica 模型。我阅读了 BuildingsPy 教程,我大致了解它是如何进行的,但我承认这些示例对我来说不太直观。有人可以帮助我举一个简单的例子,例如使用 Modelica 库中的现有模型。

谢谢

【问题讨论】:

  • @Markus A. 谢谢 Mrkus,我法语说得更多是因为我的英语不是顶级

标签: python dymola


【解决方案1】:

对于buildingspy,您必须安装以下额外的python 包:

  • numpy
  • scipy
  • matplotlib(用于绘图)

在 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.exe 必须在系统路径变量中可用。上面的代码确保了这一点。
  • 如果设置了自定义工作目录,buildingspy 将不起作用。
    • 在 Dymola 2018 FD01 及更高版本中:转到选项 > 设置并在 不保存 上设置 保存启动目录

【讨论】:

    【解决方案2】:

    谢谢你的解释,真的很清楚,对我帮助很大。我测试了我的一个模型,但通过启动代码,dymola 打开但它不加载库或我的模型存在。这就是我收到的信息:

    错误:“C:\Temp\tmp-simulator-wwuvls\BEE”中的模拟失败 例外:文件 C:\Temp\tmp-simulator-wwuvls\BEE\simulator.log 不存在。 您需要手动删除目录。

    【讨论】:

    • 答案不应用于回复。请查看Someone Answers 帮助页面。关于您的问题:查看您的问题的最小示例(可能是一个新问题)会有所帮助。
    猜你喜欢
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多