在热力学、流体力学和能源工程领域,无论是进行系统仿真、设备设计还是物性分析,获取精确的流体物性数据都是核心环节。面对复杂的物性计算,手动推导公式不仅效率低下,且极易出错。NIST REFPROP(Reference Fluid Thermodynamic and Transport Properties Database)作为行业金标准,集成了大量纯物质和混合物的高精度状态方程和传输性质模型,是解决这一痛点的利器。然而,其安装配置、尤其是在MATLAB中的调用,常因环境变量、版本兼容和接口函数等问题让初学者和资深工程师都感到棘手。本文将提供一份从零开始的完整闭环指南,涵盖REFPROP的安装、环境配置、MATLAB接口的详细调用方法,并附上可运行的实战代码与高频避坑方案。无论你是正在完成课程设计的学生,还是需要进行工程仿真的开发者,都能按照本文步骤快速搭建环境并投入实际应用。
1. REFPROP核心概念与应用场景
在深入安装与调用之前,我们首先需要理解REFPROP是什么,以及它为何在工程计算中不可或缺。
1.1 什么是NIST REFPROP?
NIST REFPROP是由美国国家标准与技术研究院(NIST)开发和维护的一款权威流体热物性数据库与计算程序。它的核心价值在于提供了经过严格实验数据验证的高精度状态方程(如亥姆霍兹自由能方程)和传输性质模型,用于计算纯流体及其混合物的热力学和传输性质。
通俗地讲,你可以把它想象成一个超级计算器。你告诉它:“计算水在5兆帕、300摄氏度下的密度和焓值”,或者“计算R134a和R1234yf按一定比例混合后,在特定温度压力下的气液相平衡组成”,REFPROP就能基于其内置的、全球公认最准确的模型,快速给出计算结果。这远比查阅离散的物性图表或使用简化公式要精确和高效得多。
1.2 主要功能与典型应用
REFPROP的功能非常强大,主要包括:
- 基础物性计算:压力(P)、温度(T)、密度(ρ)、比焓(h)、比熵(s)、比内能(u)等。
- 相平衡计算:泡点、露点、气液平衡(VLE)、气液液平衡(VLLE)。
- 传输性质计算:粘度(η)、热导率(λ)、表面张力(σ)。
- 混合物处理:支持自定义组分和比例的混合物计算。
- 反向计算:例如,已知焓和压力求温度,已知温度和熵求压力等。
其应用场景遍布工程领域:
- 制冷与空调:制冷剂循环性能分析(COP计算)、换热器设计。
- 能源动力:燃气轮机、蒸汽轮机工质热力过程分析。
- 化工过程:精馏塔、反应器的工艺模拟与优化。
- 汽车工程:发动机燃油喷射、尾气处理系统仿真。
- 学术科研:新型工质特性研究、状态方程开发与验证。
1.3 MATLAB调用的优势
REFPROP提供了命令行、图形界面(GUI)等多种使用方式。通过MATLAB调用其动态链接库(DLL)或函数库,可以将REFPROP强大的计算能力无缝集成到MATLAB的仿真脚本、优化算法、图形绘制或大型系统模型中。这种集成方式带来了巨大优势:
- 自动化:批量计算成千上万个状态点,无需人工干预。
- 集成化:将物性计算作为子模块嵌入到Simulink模型或其他MATLAB程序中。
- 可视化:直接利用MATLAB强大的绘图功能,快速生成物性曲线图(如P-h图、T-s图)。
- 扩展性:结合MATLAB的优化工具箱、控制系统工具箱等,进行系统级设计与分析。
2. 环境准备与安装部署
成功的调用始于正确的安装。本节将详细讲解REFPROP软件的获取、安装以及MATLAB环境的准备。
2.1 获取REFPROP软件
REFPROP是商业软件,需要从NIST官网或其授权分销商处购买许可证。对于高校用户,通常可以通过学校图书馆或实验室获取正版授权。安装包通常是一个可执行文件(如REFPROP-installer.exe)。
重要提示:请务必通过官方正规渠道获取软件,确保版本的合法性和完整性。不同版本(如REFPROP 9.1, 10.0等)的接口和功能可能有细微差别,本文示例基于较新的版本(如10.0),但核心思路通用。
2.2 安装REFPROP
安装过程相对简单,但有几个关键点需要注意:
- 安装路径:建议安装在全英文路径下,避免空格和特殊字符。例如
C:\REFPROP。这将极大减少后续配置中因路径问题导致的错误。 - 组件选择:在安装向导中,确保勾选了“MATLAB Files”或“Development Files”相关选项。这些选项包含了MATLAB调用所必需的接口文件(
.m文件)和动态链接库(.dll文件,通常在…\REFPROP\MATLAB或…\REFPROP\fluids目录下)。 - 记录安装目录:安装完成后,请准确记录REFPROP的根目录路径。这是后续所有配置的基础。
假设你的安装路径为:D:\Program Files\REFPROP
2.3 配置系统环境变量
为了让MATLAB能够找到REFPROP的库文件,需要将相关路径添加到系统的PATH环境变量中。
- 右键点击“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
- 在“系统变量”部分,找到并选中
Path变量,点击“编辑”。 - 点击“新建”,添加REFPROP的根目录,例如
D:\Program Files\REFPROP。 - (关键步骤)再次“新建”,添加REFPROP的
fluids子目录,例如D:\Program Files\REFPROP\fluids。这个目录包含了核心的REFPRP64.dll(64位)等文件。 - 点击“确定”保存所有更改。
验证配置:打开命令提示符(cmd),输入echo %PATH%,查看输出中是否包含你添加的路径。重启计算机以使环境变量生效。
2.4 MATLAB环境确认
确保你安装的MATLAB版本与REFPROP的位数匹配(即64位REFPROP对应64位MATLAB)。在MATLAB命令窗口中输入:
>> computer('arch')如果返回win64,则说明是64位MATLAB。
3. MATLAB调用REFPROP的核心接口与原理
REFPROP为MATLAB提供了多种调用方式,最常用的是通过calllib函数直接调用DLL,或者使用REFPROP自带的封装好的MATLAB函数(如refpropm.m)。我们将重点讲解后者,因为它更友好、更易用。
3.1 核心函数:refpropm
refpropm是REFPROP为MATLAB封装的一个核心函数,用于计算单个物性点。其基本调用语法如下:
[output, ...] = refpropm(OutputCode, InputCode1, InputCode2, Input1, Input2, MixtureType, FluidName, ...)让我们逐一拆解每个参数:
OutputCode(输出代码): 字符串,指定你想要计算的物性。例如:'D'- 密度 (kg/m³)'H'- 比焓 (kJ/kg)'P'- 压力 (kPa)'T'- 温度 (K)'S'- 比熵 (kJ/kg-K)'V'- 动力粘度 (Pa-s)'L'- 热导率 (W/m-K)'Q'- 干度 (气相比,0-1之间)
InputCode1,InputCode2(输入代码): 字符串,指定你提供的两个已知参数是什么。例如:'T'和'P'- 已知温度和压力'P'和'H'- 已知压力和焓'T'和'Q'- 已知温度和干度(用于两相区)
Input1,Input2(输入值): 数值,对应InputCode1和InputCode2的具体数值。注意单位:温度通常为开尔文(K),压力为千帕(kPa)。MixtureType(混合物类型): 字符串,指定流体类型。'BRINE'- 盐水'CO2'- 二氧化碳'HEOS'- 高精度状态方程(对于大多数纯物质和混合物)'INCOMP'- 不可压缩流体(如润滑油、载冷剂)'MELTS'- 熔融物'PPF'- 纯流体(旧格式)'TREND'- TREND模型- 对于绝大多数工程应用,纯物质使用
'HEOS',混合物也使用'HEOS'。
FluidName(流体名称): 字符串或字符串元胞数组。- 对于纯物质:直接写流体名称,如
'Water','R134a','Nitrogen'。 - 对于混合物:一个元胞数组,如
{'R134a.mix', 'R1234yf.mix'},并且后面需要跟一个数组指定各组分摩尔分数,如[0.7, 0.3]。
- 对于纯物质:直接写流体名称,如
3.2 辅助函数:refproparray与单位制
refproparray: 用于批量计算多个物性点,比循环调用refpropm效率更高。其输入是向量化的温度和压力等参数。- 单位制:REFPROP内部使用一套特定的单位(SI制,但压力用kPa,温度用K)。
refpropm函数返回的值就是这套单位。REFPROP也提供了单位转换函数(如convert),但通常我们在MATLAB中根据需要进行后处理转换更灵活。
4. 完整实战案例:从单点计算到物性曲线绘制
现在,我们将通过几个由浅入深的例子,演示如何在MATLAB中调用REFPROP。
4.1 案例一:计算水在饱和状态下的基本物性
目标:计算水在饱和温度为100°C(373.15 K)时,饱和液体和饱和蒸汽的密度、焓和熵。
步骤与代码:
- 添加路径:首先,将REFPROP的MATLAB接口目录添加到MATLAB搜索路径。
% 假设REFPROP安装在 D:\Program Files\REFPROP addpath('D:\Program Files\REFPROP\MATLAB'); - 单点计算(饱和液体):
% 计算饱和液体水在100°C时的物性 T_sat = 373.15; % 饱和温度,单位:K Q = 0; % 干度,0代表饱和液体 % 已知温度和干度,求压力、密度、焓、熵 [P_sat, rho_liq, h_liq, s_liq] = refpropm('PQHS', 'TQ', 'TQ', T_sat, Q, 'HEOS', 'Water'); fprintf('饱和温度: %.2f K (%.2f °C)\n', T_sat, T_sat-273.15); fprintf('饱和压力: %.2f kPa\n', P_sat); fprintf('饱和液体密度: %.2f kg/m³\n', rho_liq); fprintf('饱和液体比焓: %.2f kJ/kg\n', h_liq); fprintf('饱和液体比熵: %.4f kJ/kg-K\n', s_liq); - 单点计算(饱和蒸汽):
% 计算饱和蒸汽水在100°C时的物性 Q = 1; % 干度,1代表饱和蒸汽 [~, rho_vap, h_vap, s_vap] = refpropm('PQHS', 'TQ', 'TQ', T_sat, Q, 'HEOS', 'Water'); fprintf('\n饱和蒸汽密度: %.4f kg/m³\n', rho_vap); fprintf('饱和蒸汽比焓: %.2f kJ/kg\n', h_vap); fprintf('饱和蒸汽比熵: %.4f kJ/kg-K\n', s_vap); % 计算汽化潜热 h_fg = h_vap - h_liq; fprintf('汽化潜热: %.2f kJ/kg\n', h_fg);
运行结果:在MATLAB命令窗口会输出类似以下结果:
饱和温度: 373.15 K (100.00 °C) 饱和压力: 101.42 kPa 饱和液体密度: 958.35 kg/m³ 饱和液体比焓: 419.17 kJ/kg 饱和液体比熵: 1.3072 kJ/kg-K 饱和蒸汽密度: 0.5977 kg/m³ 饱和蒸汽比焓: 2675.77 kJ/kg 饱和蒸汽比熵: 7.3549 kJ/kg-K 汽化潜热: 2256.60 kJ/kg4.2 案例二:绘制制冷剂R134a的压焓图(P-h图)
目标:生成R134a的压焓图,包含饱和线、等温线和等熵线。
步骤与代码:
clear; clc; close all; addpath('D:\Program Files\REFPROP\MATLAB'); fluid = 'R134a'; mixType = 'HEOS'; %% 1. 生成饱和线数据 % 从临界温度附近到最小温度,取一系列温度点 T_crit = refpropm('T', 'C', 0, 0, 0, mixType, fluid); % 获取临界温度 T_min = refpropm('T', 'P', 0, 100, 0, mixType, fluid); % 假设在100kPa下对应的温度作为下限 T_range = linspace(T_min+0.1, T_crit-0.1, 50); % 避免取到临界点本身 h_liq_sat = zeros(size(T_range)); h_vap_sat = zeros(size(T_range)); P_sat_line = zeros(size(T_range)); for i = 1:length(T_range) T = T_range(i); [P_sat_line(i), ~, h_liq_sat(i)] = refpropm('PH', 'TQ', 'TQ', T, 0, mixType, fluid); [~, ~, h_vap_sat(i)] = refpropm('PH', 'TQ', 'TQ', T, 1, mixType, fluid); end %% 2. 生成几条等温线 (例如 -20°C, 0°C, 20°C, 40°C) T_iso = [-20, 0, 20, 40] + 273.15; % 转换为开尔文 P_iso_range = logspace(log10(100), log10(3000), 30); % 压力范围,对数均匀分布 h_iso = zeros(length(T_iso), length(P_iso_range)); for i = 1:length(T_iso) T_const = T_iso(i); for j = 1:length(P_iso_range) % 已知温度和压力求焓值 % 使用try-catch避免在相变区等无法计算的点报错中断 try h_iso(i, j) = refpropm('H', 'TP', 'TP', T_const, P_iso_range(j), mixType, fluid); catch h_iso(i, j) = NaN; % 无法计算的点设为NaN end end end %% 3. 生成几条等熵线 (例如 1.0, 1.2, 1.4 kJ/kg-K) s_iso = [1.0, 1.2, 1.4]; P_s_range = logspace(log10(200), log10(3000), 30); h_s = zeros(length(s_iso), length(P_s_range)); for i = 1:length(s_iso) s_const = s_iso(i); for j = 1:length(P_s_range) try % 已知压力和熵求焓值(反向计算) h_s(i, j) = refpropm('H', 'PS', 'PS', P_s_range(j), s_const, mixType, fluid); catch h_s(i, j) = NaN; end end end %% 4. 绘图 figure('Position', [100, 100, 900, 600]); hold on; grid on; box on; % 绘制饱和线 plot(h_liq_sat/1000, P_sat_line/1000, 'k-', 'LineWidth', 2); % 饱和液体线,压力转换为MPa plot(h_vap_sat/1000, P_sat_line/1000, 'k-', 'LineWidth', 2); % 饱和蒸汽线 % 绘制等温线 colors_iso = lines(length(T_iso)); % 获取区分度高的颜色 for i = 1:length(T_iso) plot(h_iso(i, :)/1000, P_iso_range/1000, '--', 'Color', colors_iso(i, :), 'LineWidth', 1.5, ... 'DisplayName', sprintf('T = %.0f °C', T_iso(i)-273.15)); end % 绘制等熵线 colors_s = copper(length(s_iso)+2); % 使用铜色系 colors_s = colors_s(2:end-1, :); for i = 1:length(s_iso) plot(h_s(i, :)/1000, P_s_range/1000, ':', 'Color', colors_s(i, :), 'LineWidth', 1.5, ... 'DisplayName', sprintf('s = %.1f kJ/kg-K', s_iso(i))); end xlabel('比焓, h [MJ/kg]'); ylabel('压力, P [MPa]'); title(sprintf('R134a 压焓图 (P-h Diagram)')); legend('Location', 'best'); set(gca, 'YScale', 'log'); % Y轴(压力)使用对数坐标更清晰 hold off;运行结果:执行上述脚本后,MATLAB会生成一张包含饱和线(黑色实线)、多条彩色等温线(虚线)和等熵线(点线)的R134a压焓图。这张图可以直接用于制冷循环分析和教学演示。
4.3 案例三:混合物性质计算与简单循环分析
目标:计算R410A(近似为R32和R125各50%的混合物)在蒸发温度5°C、冷凝温度40°C下的简单理论制冷循环性能。
步骤与代码:
clear; clc; addpath('D:\Program Files\REFPROP\MATLAB'); % 定义混合物组分 mixName = {'R32.mix', 'R125.mix'}; mixFraction = [0.5, 0.5]; % 摩尔分数 mixType = 'HEOS'; % 循环工况 T_evap = 5 + 273.15; % 蒸发温度 K T_cond = 40 + 273.15; % 冷凝温度 K T_superheat = 5; % 过热度 K T_subcool = 5; % 过冷度 K %% 1. 计算蒸发器出口(压缩机吸气)状态点 (1) % 假设蒸发器出口为过热蒸汽,已知蒸发压力下的过热温度 P_evap = refpropm('P', 'TQ', 'TQ', T_evap, 1, mixType, mixName, mixFraction); T1 = T_evap + T_superheat; h1 = refpropm('H', 'TP', 'TP', T1, P_evap, mixType, mixName, mixFraction); s1 = refpropm('S', 'TP', 'TP', T1, P_evap, mixType, mixName, mixFraction); fprintf('点1 (压缩机吸气): P=%.2f kPa, T=%.2f K, h=%.2f kJ/kg, s=%.4f kJ/kg-K\n', P_evap, T1, h1, s1); %% 2. 计算冷凝压力 P_cond = refpropm('P', 'TQ', 'TQ', T_cond, 1, mixType, mixName, mixFraction); %% 3. 计算压缩机等熵排气状态点 (2s) % 假设等熵压缩过程 s2s = s1 s2s = s1; % 已知排气压力和熵,求排气焓值(需要反向计算) h2s = refpropm('H', 'PS', 'PS', P_cond, s2s, mixType, mixName, mixFraction); T2s = refpropm('T', 'PS', 'PS', P_cond, s2s, mixType, mixName, mixFraction); fprintf('点2s (等熵排气): P=%.2f kPa, T=%.2f K, h=%.2f kJ/kg\n', P_cond, T2s, h2s); %% 4. 考虑压缩机等熵效率,计算实际排气状态点 (2) eta_isentropic = 0.75; % 假设等熵效率为75% h2 = h1 + (h2s - h1) / eta_isentropic; % 已知排气压力和焓,求实际排气温度 T2 = refpropm('T', 'PH', 'PH', P_cond, h2, mixType, mixName, mixFraction); fprintf('点2 (实际排气): P=%.2f kPa, T=%.2f K, h=%.2f kJ/kg\n', P_cond, T2, h2); %% 5. 计算冷凝器出口(节流阀前)状态点 (3) % 假设冷凝器出口为过冷液体,已知冷凝压力下的过冷温度 T3 = T_cond - T_subcool; h3 = refpropm('H', 'TP', 'TP', T3, P_cond, mixType, mixName, mixFraction); fprintf('点3 (节流阀前): P=%.2f kPa, T=%.2f K, h=%.2f kJ/kg\n', P_cond, T3, h3); %% 6. 计算蒸发器入口(节流阀后)状态点 (4) % 节流过程为等焓过程 h4 = h3 h4 = h3; % 已知蒸发压力和焓,求干度和温度(可能处于两相区) x4 = refpropm('Q', 'PH', 'PH', P_evap, h4, mixType, mixName, mixFraction); T4 = refpropm('T', 'PH', 'PH', P_evap, h4, mixType, mixName, mixFraction); fprintf('点4 (节流阀后): P=%.2f kPa, T=%.2f K, h=%.2f kJ/kg, x=%.3f\n', P_evap, T4, h4, x4); %% 7. 计算循环性能指标 q_evap = h1 - h4; % 单位质量制冷量 (kJ/kg) w_comp = h2 - h1; % 单位质量压缩功 (kJ/kg) COP = q_evap / w_comp; % 性能系数 fprintf('\n========== 循环性能分析 ==========\n'); fprintf('单位质量制冷量 q_evap = %.2f kJ/kg\n', q_evap); fprintf('单位质量压缩功 w_comp = %.2f kJ/kg\n', w_comp); fprintf('理论制冷系数 COP = %.3f\n', COP);运行结果:该脚本将输出R410A在给定工况下各状态点的详细参数,并计算出理论制冷系数COP。这为评估制冷系统性能提供了定量基础。
5. 常见问题与排查思路
在MATLAB中调用REFPROP时,你可能会遇到以下典型错误。下表列出了问题现象、可能原因及解决方案。
| 问题现象 | 可能原因 | 排查与解决思路 |
|---|---|---|
| 错误: 未找到函数 ‘refpropm’ | 1. REFPROP的MATLAB接口路径未添加到MATLAB。 2. 接口文件 refpropm.m确实不存在。 | 1. 使用addpath命令正确添加…\REFPROP\MATLAB目录。2. 检查安装时是否勾选了“MATLAB Files”选项,或在该目录下手动查找 refpropm.m文件。 |
| 错误: 加载库时出错或Invalid MEX-file | 1. 系统PATH环境变量未包含REFPROP的fluids目录。2. MATLAB位数与REFPROP DLL位数不匹配(32位 vs 64位)。 3. 依赖的运行时库(如VC++ Redistributable)缺失。 | 1. 按本文2.3节仔细检查并添加fluids目录到系统PATH,并重启电脑。2. 确认安装的REFPROP和MATLAB都是64位版本。 3. 安装对应版本的Microsoft Visual C++ Redistributable。 |
| 错误: 流体名称未找到 | 1. 流体名称拼写错误或大小写问题。 2. 该流体在当前版本的REFPROP中不支持。 | 1. 使用REFPROP GUI查看准确的流体名称(如Water,R134a)。混合物文件需带.mix后缀。2. 查阅REFPROP官方文档确认流体列表。 |
| 计算返回NaN或异常值 | 1. 输入参数超出该流体的有效范围(如超临界区、负压)。 2. 对于反向计算(如已知P,H求T),初始猜测值不佳导致迭代失败。 | 1. 先用GUI或简单计算确认参数范围是否合理。对于两相区,确保干度Q在0到1之间。 2. 尝试为反向计算提供合理的初始猜测值( refpropm的某些调用格式支持)。或分段计算,避免直接跨越相变线。 |
| MATLAB卡死或无响应 | 在循环中大量调用refpropm,且未处理错误,导致某个点计算失败后陷入死循环。 | 1. 在循环体内使用try-catch语句捕获异常,将错误点赋值为NaN并继续。2. 考虑使用向量化计算或 refproparray函数提高效率。 |
| 单位混淆导致结果错误 | 忽略了REFPROP的默认单位(温度K,压力kPa,焓kJ/kg)。 | 牢记单位制:输入温度用K,压力用kPa。输出密度为kg/m³,焓为kJ/kg,熵为kJ/kg-K。在绘图或报告时再进行单位转换。 |
6. 最佳实践与工程建议
为了在工程项目中稳定、高效地使用MATLAB调用REFPROP,遵循以下最佳实践至关重要。
6.1 路径管理与项目初始化
不要在每个脚本中都写addpath。创建一个名为init_refprop.m的初始化脚本,放在项目根目录。
% init_refprop.m function init_refprop() refprop_path = 'D:\Program Files\REFPROP'; addpath(fullfile(refprop_path, 'MATLAB')); % 可选:检查路径是否添加成功 if exist('refpropm.m', 'file') == 2 disp('REFPROP MATLAB接口加载成功。'); else warning('未找到refpropm.m,请检查REFPROP安装路径。'); end end在其他脚本开头,只需调用init_refprop();即可。
6.2 错误处理与鲁棒性设计
物性计算可能因参数越界失败。务必对关键计算进行包装。
function value = safe_refpropm(output, input1, input2, in1, in2, mix, fluid, varargin) % 安全的refpropm包装函数 try value = refpropm(output, input1, input2, in1, in2, mix, fluid, varargin{:}); catch ME warning('REFPROP计算失败于: Output=%s, Inputs=(%s,%s)=%.2f,%.2f。错误: %s', ... output, input1, input2, in1, in2, ME.message); value = NaN; % 返回NaN,避免中断程序 end end在批量计算中,使用此函数替代直接的refpropm调用。
6.3 性能优化:向量化与缓存
- 避免循环:对于大量状态点的计算,优先考虑将输入参数向量化,并探索使用
refproparray函数,它比在循环中调用refpropm快得多。 - 缓存结果:如果项目需要反复计算相同工况附近的点,可以考虑将计算结果缓存到
.mat文件或内存中,避免重复调用REFPROP,特别是在优化算法中。
6.4 代码可读性与维护性
- 命名清晰:变量名使用有意义的名称,如
T_evap、P_cond、h_suction。 - 添加注释:说明计算的目的、假设和单位。
- 分离配置:将流体类型、组分比例、循环工况等参数放在脚本开头或单独的配置文件中,便于修改和复用。
- 结果可视化:像案例二那样,养成将关键结果绘制成图的习惯,便于直观验证和汇报。
6.5 版本控制与文档
- 记录版本:在代码注释中记录使用的REFPROP版本号(如REFPRP 10.0)。不同版本间物性模型可能有更新。
- 保存输入输出:对于重要的仿真计算,将输入参数和计算结果随代码一起保存,确保结果的可复现性。
掌握REFPROP在MATLAB中的调用,相当于为你的工程计算工具箱添加了一件利器。从单点物性查询到复杂的系统循环分析,它都能提供可靠的数据支撑。关键在于理解其输入输出逻辑、做好环境配置、并编写健壮的错误处理代码。当你熟悉了refpropm这个核心函数后,可以进一步探索REFPROP提供的其他高级功能,如传输性质、临界参数、相包络线计算等,从而应对更广泛的工程与科研挑战。建议从本文的案例出发,修改流体、工况,尝试绘制不同的物性图,并逐步将其集成到你自己的仿真模型或优化程序中。实践过程中遇到的具体问题,多查阅REFPROP自带的文档(REFPROP.chm)和MATLAB帮助,通常都能找到答案。