windows环境下python-dymola通信

dymp的Python项目详细描述


windows下python中与dymola通信的工具 dympy通过dde(动态数据交换)与dymola通信。 与打开的dymola窗口建立连接后,可以像在dymola命令行中键入命令一样发送命令。 为了便于使用,已经预定义了几个有用的命令(打开模型、设置模型参数、编译、编写dsin.txt文件、模拟和加载结果…)。

查看下面的示例以获得快速启动,或查看docstrings以获得更完整的指南。

安装

需要:

要安装,请下载最新的release,将CD解包到解包文件夹并运行:

python setup.py install

示例

首先初始化dymola连接。最好在初始化后清除dymola中所有打开的模型,以避免重新定义冲突,但这不是必需的:

dymola = dympy.Dymola()
dymola.clear()

接下来,我们将打开一个模型并编译它:

dymola.openModel('example.mo')
dymola.compile('example')

可以使用set_parameters方法更改参数。该方法接受一个名为、值为对的字典作为输入。 可以使用write_dsu方法将输入写入dsu.txt文件。该方法再次接受一个名为、值对为输入的字典,time必须始终是输入之一:

dymola.set_parameters({'C_in.C':5e6,'C_em.C':10e6,'UA_em_in.G':1600,'UA_in_amb.G':200})
dymola.set_parameters({'C_em.T':300})
dymola.write_dsu({'time':[0,43200,86400],'Q_flow_hp':[1000,5000,2000],'T_amb':[273.15,278.15,273.15]})

现在可以在特定的时间范围内开始模拟:

dymola.simulate(StopTime=86400)

完成模拟后,可以使用get_result()将结果作为字典加载。 结果是一个以点表示法的变量名作为键的字典:

res = dymola.get_result()
print(res.keys())

还实现了一个get_res方法,该方法将返回作为所提供参数键的子级的所有结果键。 如果参数没有子参数,则返回其值:

dymola.get_res('UA_em_in')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java InputStream对象在声明后关闭   java未定义名为“transactionManager”的bean重命名transactionManager   java“jar”命令何时会拒绝将类添加到java中。jar文件?   java JPA标准依赖WHERE子句   安卓中从SD卡读取文本文件时出现java错误   java直接启用类似位置的权限   使用@WebMvcTest和Mockito-BDDMockito对SpringBoot-RestController进行java测试   java JSESSIONID存储在哪里?   java jtextarea鼠标事件覆盖容器鼠标事件   java DRL无法解析动态加载的类   java是从一个方法返回多个对象的最简单方法   java自定义按钮/编辑框是否不可见?   java GUI如何在保存用户输入的同时在面板或框架之间切换   swing Java自定义JSlider不会更新   GridBagLayout中的java超过1个JPanel   java从ProjectReactor中的flux中采样除第一个元素外的所有元素   Java泛型和泛型类型   Java代码生成宽指令的jvm