Matlab 调用refprop(64位环境)和物性函数使用说明

Matlab调用物性计算是仿真工程中常见的问题。在64位环境下的调用稍有不同,在使用中,需要掌握物性函数必要的使用技巧。(所用到的文件在本人上传的资源页打包好了,下载解压 就可以直接运行

一、matlab 调用必备的程序工具

  • 1、matlab
  • 2、refprop(9或9.1)安装包均可
  • 3、refpropm.m 和rp_proto64.m(这个文件是为了转化dll的数据型使其在64位平台上可使用
  • 4、REFPRP64_thunk_pcwin64.dll,这个动态链接库文件是为了把数据从32位转化为64位

二、调用方法

  1. 首先要安装refprop软件
  2. 安装好refprop后,找到refprop的安装目录,找到其中的refprop64.dll文件
  3. 建立一个matlab工作文件夹,如work文件夹
  4. 在work文件夹下放入如下文件夹/文件
  • refprop文件夹

    refprop文件夹下必须包括fluids文件夹(refprop安装目录下),refprop64.dll,REFPRP64_thunk_pcwin64.dll

  • refpropm.m

  • rp_proto64.m

  • 自己编写的运行脚本

总的来说,也就是现在需要有一个work文件夹,work中包含了refprop文件夹和refpropm.m rp_proto64.m
文件。refprop文件夹中需要有refprop64.dll,REFPRP64_thunk_pcwin64.dll和fluids文件夹,然后在work文件夹中建立主函数执行脚本,运行物性函数。具体物性函数的使用参照下文。

  1. 将matlab的工作文件夹调整为work文件夹

(或者不想调,可以直接在work文件夹下建立脚本,运行时候直接会跳出是否将当前文件夹设置为工作文件夹,选是就行)

  • (原理说明部分,可跳过)

*注明:热物性计算的核心子函数在运行时会自动搜寻refprop文件夹及其下的fluids文件夹和refprop64.dll文件。而由于编写主脚本运行物性函数时候,调用的是refpropm和rp_proto64。因此这两个文件必须放在work文件夹根目录下。而
matalb
在工作时会先搜索当前工作文件夹中(即work文件夹)是否存在refprop文件夹,如果搜索不到,matlab会在系统环境变量中搜索是否存在refprop文件夹,此外由于refpropm子函数还默认了refprop软件安装到C:\Program
Files
(x86)/REFPROP。所以将refprop64.dll,REFPRP64_thunk_pcwin64.dll和fluids文件夹拷贝到C:\Program
Files (x86)/REFPROP中也是可以的。所以有一些教程会让读者安装NIST refprop到C:\Program Files
(x86)/REFPROP。因为这样matlab就可以在C:\Program Files
(x86)/REFPROP中搜到fluids文件夹和refprop64.dll文件。

但是本文的做法是最简洁的*

三、物性函数使用方法

在matlab调用refprop中,任何物性计算都是通过refpropm子函数实现的,也就是说,refprop将详细的调用工作集成在了refpropm子函数中了。这样大大方便基础的物性运算,但对与更底层的计算例如物质相互作用参数等进行了隐藏了。
必要的函数使用说明在refpropm.m的说明部分都已经包含了,使用说明部分:

%   Examples:
%   1) P = refpropm('P','T',373.15,'Q',0,'water') gives
%      Vapor pressure of water at 373.15 K in [kPa]
%
%   2) [S Cp] = refpropm('SC','T',373.15,'Q',1,'water') gives
%      Entropy and Cp of saturated steam at 373.15 K
%
%   3) D = refpropm('D','T',323.15,'P',1e2,'water','ammonia',[0.9 0.1])
%      Density of a 10% ammonia/water solution at 100 kPa and 323.15 K.
%
%   4) [x y] = refpropm('X','P',5e2,'Q',0.4,'R134a','R32',[0.8, 0.2])
%      Temperature as well as gas and liquid compositions for a mixture
%      of two refrigerants at a certain pressure and quality.
%      Note that, when 'X' is requested, two variables must be sent, the
%      first contains the liquid phase composition and the second
%      the vapor phase composition.
%
%   5) T=refpropm('T','C',0,' ',0,'water')
%      Critical temperature
%
%   6) T=refpropm('T','M',0,' ',0,'r410a.mix')
%      Maximum temperature that can be used to call properties.
%      Shows how to call a predefined mixture.

四、mixture的使用案例(对应的案例文件在本人上传的资源中可下载)

大部分的用法在第三部分已经说明,这里列出混合物的用法以及具体的案例

fluid1='methane';
fluid2='ethane';
fluid3='nitrogen';
%这里为了方便将所有物质替换成fluid1,fluid2,fluid3的字符串
%注明fluids赋值的字符串如methane、enthane.必须是fluids文件夹下的文件名大写或小写
x0=[0.94 0.04 0.02];
p0=refpropm('P','T',150,'Q',0,fluid1,fluid2,fluid3,x0);
%第一个元素P代表函数的返回量为压力值
%第二个元素T代表温度值为150K,是输入量
%第三个元素Q代表干度为0,是输入量
%该函数就是求对应温度为150K,组分为x0的混合物的对应的饱和液体压力
[x0,y0]=refpropm('X','T',150,'Q',0,fluid1,fluid2,fluid3,x0)
%第一个元素X代表函数的返回量为组分,这中求解方法是热物性中精度的Flash算法
%该算法的作用就是求混合物流体为气液两项态时候的对应的气态混合物组分和液态
%混合物组分 这里的x0代表液态的组分,y0代表气态的组分
DV0=refpropm('D','T',150,'Q',1,fluid1,fluid2,fluid3,y0);
%第一个元素D代表函数的返回量为密度值
%第二个元素T代表温度值为150K,是输入量
%第三个元素Q代表干度为1,是输入量
%该函数就是求对应温度为150K,组分为y0的混合物的对应的饱和气态温度
DL0=refpropm('D','T',150,'Q',0,fluid1,fluid2,fluid3,x0);
%这个可自行解释,略

一次性多输出:

fluid1='methane';
fluid2='ethane';
fluid3='nitrogen';
x=[0.9394    0.0398    0.0208]
P1=515.6982
hl1=7.3300e+04;
[Q,TL1,DL1,Dv0]=refpropm('QT+-','P',P1,'H',hl1,fluid1,fluid2,fluid3,x);
%第一个元素是 QT+- 和上面的单输出案例有些不同
%实际上 就是指,此时函数需要返回 干度 温度 液态密度 气态密度 
%而第二个元素P,就代表使用压力作为输入量,值为P1
%第三个元素为H,代表使用焓为输入量’,值设定为hl1
%fluid1 fluid2 fluid3代表混合物的三种物质
% 就是这三种物质组分的量
[kv,Dv,beta,Viscv,Cpv,hv] = refpropm('LDBVCH','T',TL1,'P',600,fluid1,fluid2,fluid3,x)
%这个案例,读者自行理解解释

运行结果:

x0 =

    0.9400
    0.0400
    0.0200


y0 =

    0.8742
    0.0011
    0.1247


x =

    0.9394    0.0398    0.0208


P1 =

  515.6982


kv =

    0.1535


Dv =

  397.2940


beta =

    0.0044


Viscv =

   7.8644e-05


Cpv =

   3.6069e+03


hv =

   7.1596e+04

五、另需要simulink调用资源的

下载页
(怎么被自动设置5积分了,没法改动)

  • 41
    点赞
  • 159
    收藏
    觉得还不错? 一键收藏
  • 30
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值