通过PyFMI读取FMU文件及PyFMI的安装教程

一、fmu/fmi介绍

用于支持动态模型的交互以及联合仿真,解决模型相互操作问题

a)FMI

功能打样接口(functional Mock-up Interface)是一个工具独立的标准,通过xml文件与编译的c代码的融合来支持动态模型的交互和联合调试。

b)FMU

FMU是一个压缩文件,包含了xml格式接口数据描述和功能,FMU就是采用FMI接口而开发的软件组织

fmu文件在解压后如下图:

在文件夹中包含三个binaries、resources、sources三个文件夹,以及一个xml文件和一个.log文件。

二、使用PyFMI对fmu的读取

from pyfmi import load_fmu
import pandas as pd
import cufflinks as cf
import matplotlib.pyplot as plt# 通过pyfmi读取fmu对象,将fmu文件放置于统一目录下
model = load_fmu('NewtonCooling.fmu')
# 获取模型中的变量,并打印出来
model.get_model_variables()
# 将模型中的第三个值设置为200,也可以使用 model.set('A', 0.1) 的方式来设置变量的值,其中'A'是变量名
model.set_real([3], [200])
# 对模型进行仿真,同时设置了仿真开始时间和结束时间
res = model.simulate(start_time=0, final_time=10)
# 获取变量c_p的值并打印
print(model.get('c_p'))
print(model.get_real([0, 1, 2, 3, 4, 5, 6, 7]))
print(res.final('T'))
# 结果图形的绘制
df_T = pd.DataFrame({"T": res["T"]}, index=res["time"])
print(df_T)
df_T.plot()
plt.show()

程序运行后的结果如下:

三、PyFMI包的安装教程

python的安装教程就不赘述了,在命令行中可以使用python命令就没有问题。

然后是安装PyFMI包的教程。

我在安装的过程中发现直接使用pip进行安装pyfmi包是不可取的,会弹出缺少很多东西,目前也没有成功使用pip安装这个包。

我使用的方法是通过anaconda安装pyfmi,首先是安装anaconda,记得中间选择配置进path,这样可以使用系统的cmd调用anaconda的命令。当然也可以不配置进入path,这样只能使用anaconda带的命令行进行命令的输入。

然后就是安装pyfmi了,在anaconda中输入conda install -c conda-forge pyfmi就可以完成安装了。

然后就是在pycharm中配置anaconda

a)第一步

选择新建项目,然后选择Pure Python

其中location是项目的保存地址,自行选择就可以

然后第二个红框内选择Previously configured interpreter,然后 点击后面的三点

b)第二步

选择Conda Environment,在conda中点击小三点

选择anaconda安装根目录下的python.exe,不要选错文件夹,这时候第二个文件夹选项中的路径应该为anaconda根目录\Scripts\conda.exe

然后点击ok,可以完成创建了。

ps

在项目如果用到什么包提示不存在,建议是在pycharm中使用pip进行安装第三方库,若该方法不成功,可以使用其他安装方法进行尝试。

通过PyFMI读取FMU文件及PyFMI的安装教程相关推荐

  1. SFTP传输文件工具FileZilla下载安装教程

    SFTP传输文件工具FileZilla下载安装教程 中文官网链接:https://www.filezilla.cn/download/client windows平台可下载标红的,也可以下载绿色版 下 ...

  2. Acrobat DC 2021(pdf文件处理软件) 附安装教程

    Acrobat DC 2021可以说的上是办公中必不可少的pdf文件处理软件,拥有全球顶尖的PDF文件处理技术,支持合并.拆分PDF文件.修改编辑PDF里的文字图片内容.同时,这款软件的兼容性是市面上 ...

  3. python 读取yml文件_Python 读取 yaml 配置文件 | 文艺数学君

    摘要这一篇介绍 Python 中使用 yaml 的方式加载配置文件,包含关于 pyyaml 的简单使用,读入和写入配置文件. 简介 之前我们介绍过使用 configparser 来读取配置文件(Pyt ...

  4. Java高效读取大文件(转)

    Java高效读取大文件 1.概述 本教程将演示如何用Java高效地读取大文件.这篇文章是Baeldung(http://www.baeldung.com/) 上"Java--回归基础&quo ...

  5. 1. 读取excel文件的辛酸之旅

    以前用python,感觉很是舒服,不过选了线性回归这个课,老师推荐用r,最后作业也用R语言,无可奈何,从此走上了R的辛酸路.第一次心塞就是读取Excel文件. 1. 无法安装R包 安装xlsx包时总是 ...

  6. python读取xml文件报错ValueError: multi-byte encodings are not supported

    1.在使用python对xml文件进行读取时,提示ValueError: multi-byte encodings are not supported 很多贴子上说把xml的编码格式改为,就可以正常执 ...

  7. 如何读取比机器内存大的文件(内存4G,文件 8G,读取大文件) ?

    我们假设数据可以一行一行地处理,并且数据之间的没有相关性,那么我们有两种方法读取该文件. 1. 使用生成器 yield 逐行读取到内存 def read_file(filename):with ope ...

  8. java 读取txt,java读取大文件

    java 读取txt,java读取大文件 package com.bbcmart.util; import java.io.File; import java.io.RandomAccessFile; ...

  9. php渲染nodejs api,如何使用nodejs 服务器读取HTML文件渲染至前端

    这次给大家带来如何使用nodejs 服务器读取HTML文件渲染至前端,使用nodejs 服务器读取HTML文件渲染至前端的注意事项有哪些,下面就是实战案例,一起来看一下. 1.分别简单实现三个备用页面 ...

最新文章

  1. Linux负载均衡实现
  2. 简述python程序结构_python架构的概念讲解
  3. 第15讲:Selenium 爬取实战
  4. [JavaWeb-HTTP]HTTP概念
  5. java rmi 是否 必要_Java学习之路-RMI学习
  6. sublime Text3安装及配置与解决安装插件失败
  7. linux ps命令使用详解
  8. LeetCode 90. Subsets II
  9. 微运行库2015_【即心修订】[微简]win10专业工作站版64位18363.720全能版+纯净版[驱动/软件/Admin]...
  10. webots使用以及第三方模型导入装配、运动学仿真教程
  11. 技术对接场景,打破创新窘境
  12. CRM 实施计划和准备的8个步骤!
  13. 如何编写python爬虫_如何完整写一个爬虫框架
  14. 无聊之时用css3自制了好看的button样式和input样式
  15. 注册表怎么禁用计算机,如何禁用注册表,注册表禁用和启动的方法
  16. Windows 命令提示符
  17. C++统计一个文件的行数,大写字母数,小写字母数,数字数
  18. SDLC 软件开发生命周期及模型
  19. graphpad7.04多组比较p值_GraphPad中国官网 - Prism 8 统计指南 - 对P值的更多错误解读...
  20. 3t服务器装linux系统如何分区,Linux 分区、格式化3T大容量存储分区

热门文章

  1. Android中定位功能的判断与打开
  2. Nvidia TX2 Ubuntu18.04 安装 IntelRealsense L515 realsense SDK 及 Realsense ROS (make各种问题解答,一篇到位版本)
  3. anti-debug你必须知道的基础篇 All in one
  4. Codeup 1814.剩下的树
  5. 使用hexo+oschina搭建个人博客
  6. 新用户启动Anaconda时,一直卡在loading applications
  7. 海淘手表Invicta8926OB到手~晒图
  8. php 代码梅花,wordpress梅花飘落效果制作
  9. 帝国CMS 7.2-插件包整合
  10. inrul plus 90sec.php,DEDE木马后门专杀工具 针对 90sec.php 一类