我想使用Python通过Dymola和BuildingsPy调用我的Modelica模型。我阅读了BuildingsPy教程,总体上了解了它的发展过程,但我承认这些示例对我来说不太直观。有人可以帮我举一个简单的例子,例如使用Modelica库中的现有模型。
谢谢
答案 0 :(得分:2)
对于buildingpy,您必须安装以下其他python软件包:
在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
答案 1 :(得分:0)
谢谢您的解释,这很清楚,对我有很大帮助。我测试了我的一个模型,但是通过启动代码,dymola会打开,但不会加载该库,或者我的模型存在。那就是我收到的消息:
错误:“ C:\ Temp \ tmp-simulator-wwuvls \ BEE”中的模拟失败 例外:文件C:\ Temp \ tmp-simulator-wwuvls \ BEE \ simulator.log不存在。 您需要手动删除目录。