每日学几个UDF宏_01
DEFINE_PROFILE(name, thread, i) { ;}
输出参数:
name-创建函数的名称(首字符不能是数字)。
输入参数:thread-指针数组;
i-整数型(一个标识要定义的变量的 ID;当将UDF与边界条件对话框中的变量hook时,将设置i)。
使用DEFINE_PROFILE定义自定义边界轮廓或单元格区域条件,该条件随空间坐标或时间而变化。
请注意,DEFINE_PROFILE仅允许修改 wall heat flux 的单个值。如果要将 wall heat flux 的源项线性化,并分别考虑热传导和热辐射,则需要使用DEFINE_heat_flux来指定UDF。
F_PROFILE(f, thread, i) = f(x,y,z,t)
输出参数:无。
输入参数:thread-指针数组;
f- face_t 整数型;
i-整数型(这里专门指向网格面上某个给定的变量)。
为给定的网格面设置边界条件值,与DEFINE_PROFILE(name, thread, i) 配套使用。
当将UDF hook到特定边界时,thread 将被自动定义;
begin_f_loop(f, facethread)
{ ;}
f- face_t/整数型,facethread-指针组;
f 的作用类似于for循环中的递增变量 i,这样可以依次对每个网格面进行操作。
F_CENTROID(C, f, facethread)
返回值: real C[ND_ND] (实数)
输入:face_t f(整数型);
Thread *facethread (指针数组);
返回值 C (包含不同维度坐标值的数组);ND_ND 应该是一个内部定义好的常量(二维时=2,三维时=3)

闲话,血的教训(注释加的地方要注意)
比如下面这个注释1,这样也会生成一个UDF库函数,但编译会出错,不仔细发现不了;
然后去加载的时候就报错:

我开开心心去网上搜 “The UDF library you are trying to load (libudf01) is not compiled for parallel use on the current platform (win64).”
确实一下就出了很多教程,大概就是原因很多,反正Visual Studio 未安装或版本太旧是一个。检查了一下自己电脑,点击Windows图标去搜索安装程序,没找到,我就以为确实是这个原因,得装一个。(其实可以在 设置→应用与功能 里找到,发现已经安装了)
结果想安装个2019版是真难!

现在微软搞的是在线下载安装,然后我这电脑就是过不了验证关。(然后又是一波上网搜怎么解决,各种改NDS地址、往驱动里的hosts文件添加IP和域名)。还学到了一招,在安装日志里找问题:CSDN博主「RadiantJeral」的文章,链接:https://blog.csdn.net/RadiantJeral/article/details/115002474
好吧,那我就去装个旧版网上直接下了个2013安装包(解压密码用yiliu),离线安装成了。
结局就是,跟Visual Studio没关系(虽然和ta死磕了半天),还是要注意检查 Fluent控制台,好好检查代码。
