关于将BuildingsPy与Dymola结合使用的简单示例

时间:2019-05-14 21:14:12

标签: python dymola

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

谢谢

2 个答案:

答案 0 :(得分:2)

对于buildingpy,您必须安装以下其他python软件包:

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

在Windows上,我建议为此使用anaconda。

现在您可以运行一个简单的模拟,如下所示:

public static void test(int x, int y) {

    Thread thread = new Thread() {
        @Override
        public void run() {
            System.out.println(x);
        }
    };
    thread.start();

}

模拟成功完成后,python工作目录将包含结果文件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")

现在,您可以使用Reader和Plotter类来绘制结果,如下所示: https://simulationresearch.lbl.gov/modelica/buildingspy/io.html

注意事项

  • dymola.exe必须在系统路径变量上可用。上面的代码确保了这一点。
  • 如果设置了自定义工作目录,则
  • buildingspy不起作用。
    • 在Dymola 2018 FD01和更高版本中:转到选项>设置,然后在不保存
    • 上设置保存启动目录

答案 1 :(得分:0)

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

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