CoolProp在MacOS Excel中调用REFPROP的解决方案
CoolProp Thermophysical properties for the masses 项目地址: https://gitcode.com/gh_mirrors/co/CoolProp
背景介绍
CoolProp是一个开源的热力学性质计算库,它支持多种流体和混合物性质的计算。在某些情况下,用户可能需要通过CoolProp调用更专业的REFPROP数据库来获取更精确的热力学性质数据。本文将详细介绍在MacOS系统下,如何在Excel环境中成功配置CoolProp以调用REFPROP功能。
常见问题分析
在MacOS环境下通过Excel调用CoolProp连接REFPROP时,用户可能会遇到初始化失败的报错信息。典型的错误提示如下:
Initialize failed for backend: "REFPROP", fluid: "WATER" fractions "[ 1.0000000000 ]"; error: You cannot use the REFPROPMixtureBackend.
这种错误通常与REFPROP库的加载路径或编译方式有关,而非简单的流体名称指定错误。
解决方案详解
1. 重新编译REFPROP动态库
正确的编译方式是解决问题的关键。建议使用以下命令重新编译REFPROP的dylib文件:
cmake .. -DCMAKE_BUILD_TYPE=Release -DREFPROP_OSX_STATIC_LINK=ON
cmake --build .
这种编译方式确保了静态链接,减少了运行时依赖问题。
2. 库文件放置位置
编译完成后,需要将生成的librefprop.dylib
文件放置在特定目录下:
/Users/{用户名}/Library/Group Containers/UBF8T346G9.Office/User Content.localized/Add-Ins.localized
同时,REFPROP的流体数据文件(Fluids和Mixtures文件夹)也应一并放置在该目录下的refprop子文件夹中。
3. 环境变量配置
通过创建my.startup.plist
文件来设置环境变量COOLPROP_REFPROP_PATH
,确保CoolProp能够找到REFPROP库文件。这是关键的一步,因为CoolProp需要通过这个环境变量来定位REFPROP的安装路径。
4. 系统重启
在某些情况下,修改环境变量后需要重启系统才能使更改生效。这是MacOS系统环境变量加载机制的特性。
注意事项
-
流体名称大小写敏感:CoolProp对流体名称和属性参数是大小写敏感的。例如,"R134a"和"r134a"被视为不同的流体名称,"H"和"h"代表不同的热力学性质。
-
REFPROP专有流体:目前通过CoolProp调用REFPROP时,只能使用CoolProp支持的流体,即使某些流体存在于REFPROP数据库中但未在CoolProp中定义,也无法直接使用。
-
Excel特性:Excel在MacOS环境下对动态库加载有特殊限制,这是微软出于安全考虑设置的沙盒机制。这导致在Excel中调用REFPROP比在其他环境中更为复杂。
扩展建议
对于教学用途,可以考虑修改CoolProp的Excel插件代码,将所有输入参数自动转换为大写,避免学生因大小写错误导致计算失败。修改VBA代码中的相关行即可实现这一功能:
PropsSI_temp = PropsSI_private(UCase(output), UCase(Name1), Value1, UCase(Name2), Value2, UCase(Fluid))
不过,这种修改需要权衡易用性和标准化的关系,因为在实际工程应用中,参数大小写是有明确规范的。
总结
在MacOS Excel环境中成功配置CoolProp调用REFPROP需要特别注意编译选项、库文件位置和环境变量设置这三个关键环节。通过本文介绍的步骤,用户可以解决大多数常见的初始化失败问题。对于教学应用场景,可以进一步定制Excel插件以提高易用性,但需要注意保持与标准用法的一致性。
CoolProp Thermophysical properties for the masses 项目地址: https://gitcode.com/gh_mirrors/co/CoolProp
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考