通过UDF对工质的物性进行二维查表 - Wangwg1027/SCO2byFluent GitHub Wiki

有些时候,我们需要通过查表来获得工质的物性,在Fluent中提供了对温度的线性插值以及多项式拟合两种办法。然而,一般来说,若想唯一的确定工质的状态,至少需要两个状态参数。为了实现这一目标,我们可以借助UDF来对所需物性进行二维插值。

插值代码的生成

在Matlab中,有多种成熟的插值算法可以使用。借助Matlab Coder可以生成该算法的C/C++代码。下面以spline插值法为例对Matlab Coder的使用流程进行简述:

第一步:创建函数脚本文件:

Matlab Coder只能将函数形式的脚本转换为C/C++代码,所以第一步是创建函数脚本文件。对于本例为:

function [output] = splinebyC(x,y,v,xq,yq) %#codegen
output = interp2(x,y,v,xq,yq,'spline');  
end

%#codegen指令提示代码分析器识别特定于代码生成的警告和错误。

第二步:运行Matlab Coder并导入文件

第三步:指定输入类型

第四步:检查运行时的问题并生成代码

图x

注:在Matlab帮助中心有Coder的详细的使用教程。链接:https://ww2.mathworks.cn/help/coder/gs/generating-c-code-from-matlab-code-using-the-matlab-coder-project-interface.html

插值代码的使用

在UDF中调用插值代码