Fluent UDF中直接调用CoolProp物性库

众所周知,Fluent中自带的NIST真实气体(Real Gas Model)模型的收敛性不好一直是用户诟病的问题。所以,不少用户宁愿另外考虑调用三方物性库,例如RefProp或CoolProp,里面囊括了大部分的常见物质,制冷剂以及混合物的物性。

然而,Fluent自带的编译方式却无法支持直接调用此类C++库。为了解决这个问题,VC++ UDF Studio插件直接将调用CoolProp函数功能内嵌,实现打开Visual Studio就能直接调用CoolProp函数的能力,适合着急赶项目进度的朋友。

下面我们以获取CoolProp中1atm下水的饱和温度为例来说明整个使用过程。

1. 官网下载VC++ UDF Studio插件并安装(https://vcudfstudio.github.io),建议下载学术版(如想进一步采购注册,对高校老师学生比较优惠)

 

 

2. 安装Visual Studio(支持VS2010~2019社区、专业或旗舰版,建议安装VS2010旗舰版), C++和C#一起安装,对于64位Fluent还要勾选X64编译器。

 

3. 打开桌面图标,选择需要的版本并勾选“调用CoolProp”后会自动启动Fluent,读入case并点击Fluent嵌入菜单中的“Start Visual Studio”子菜单。

    

 

 4. 在udf_source.cpp文件中输入如下示例源代码, 其中#include "CoolPropLib.h"用来包含CoolProp的函数声明。PropsSI是CoolProp中用来获取物性的函数。具体调用参数用法可以参见CoolProp说明文档,这里不赘述。

#include "udf.h"
#include "CoolPropLib.h" //包含CoolProp库中的函数头文件

DEFINE_ON_DEMAND(test)
{
    // 调用CoolProp函数
    double PropResult = PropsSI("T", "P", 101325, "Q", 0, "Water");
    Message0("Saturation temperature of Water at 1 atm = %g K\n", PropResult);    
}

 

5. 点击“编译UDF”按钮直到编译通过。有任何错误提示,可以双击提示行直接定位到源码中的错误行。编译通过后按“UDF库加载到Fluent”按钮即可载入到Fluent中。

 

6. 执行DEFINE宏,本例由于PropsSI函数放在DEFINE_ON_DEMAND宏中,所以在Execute On Demand对话框里面手动执行。

  

 7. 运行结果如下,结果是正确的。需要说明一下的是,试用版可以允许用户调用一个PropsSI函数,再多是需要收费采购的。

 

 

posted @ 2022-05-26 20:22  SuperUDF  阅读(1006)  评论(0)    收藏  举报