欢迎光临散文网 会员登陆 & 注册

每日学几个UDF宏_01

2023-03-13 22:17 作者:jinrihui1  | 我要投稿

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版是真难!

会提示:无法下载安装文件。请检查Internet后重试
无法安装下载文件。请检查Internet连接

现在微软搞的是在线下载安装,然后我这电脑就是过不了验证关。(然后又是一波上网搜怎么解决,各种改NDS地址、往驱动里的hosts文件添加IP和域名)。还学到了一招,在安装日志里找问题:CSDN主「RadiantJeral」的文章,链接:https://blog.csdn.net/RadiantJeral/article/details/115002474

好吧,那我就去装个旧版网上直接下了个2013安装包(解压密码用yiliu),离线安装成了。

结局就是,跟Visual Studio没关系(虽然和ta死磕了半天),还是要注意检查 Fluent控制台,好好检查代码。

编译错误报告(最后一句其实说明了编译中断)


每日学几个UDF宏_01的评论 (共 条)

分享到微博请遵守国家法律