请教关于FLUENT中UDF的问题

从udf中获得各网格质心坐标的函数:F_CENTROID(x,f,thread)。它是将坐标赋值给了矢量x。而x定义的时候是realx[ND_ND]是质心坐标所在的数组。... 从udf中获得各网格质心坐标的函数:F_CENTROID(x,f,thread)。它是将坐标赋值给了矢量x。而x定义的时候是real x[ND_ND] 是质心坐标所在的数组。我不太明白这个数组是一个什么样的数组。它是直接可以将所有网格的坐标都存在其中,还是会随着循环的每一次进行而它其中的值不断发生变化?

PS:有一个小例子的程序:
#include"udf.h"
DEFINE_PROFILE(velocity_inlet,thread,position)
{
real x[ND_ND];
real y;
face_t f;
begin_f_loop(f,thread)
{
F_CENTROID(x,f,thread);
y=x[1];
F_PROFILE(f,thread,position)=0.5-y*y/(0.02*0.02)*0.5;
}
end_f_loop(f,thread)
}
展开
 我来答
晕人是我
2022-02-10 · 走千里路,读万卷书,吃喝不忘
晕人是我
采纳数:63 获赞数:187

向TA提问 私信TA
展开全部
查手册可知,ND是一个宏系列,包括了ND_ND,ND_SUM,ND_SET
ND_ND的定义:
对于2D,即RP_2D(也是一个宏名称),值为2;
对于3D,即RP_3D(也是一个宏名称),值为3;
用这个宏可以让你的UDF程序更有通用性,2D,3D模型不用修改,可通用
举例
real A[ND_ND][ND_ND] 对于2D,实际值为real A[2][2] ,2*2的矩阵
real A[ND_ND][ND_ND] 对于3D,实际值为real A[3][3] ,3*3的矩阵
real x[ND_ND] 对于2D,实际值为real x[2] ,2个值的数组
real x[ND_ND] 对于3D,实际值为real x[3] ,3个值的数组
fox000002
2010-05-20 · TA获得超过3827个赞
知道大有可为答主
回答量:2356
采纳率:97%
帮助的人:1174万
展开全部
这就是 C 语言中一个普通的函数

ND_ND 就是一个宏,在 3d 时为 3,2d 时为 2

执行 F_CENTROID(x,f,thread); 时,取得坐标,存在 x 中

由于每次循环都要取坐标,所以 x 值每次都要更新,是不断变化的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
抗琨元弘义
2019-06-11 · TA获得超过1111个赞
知道小有建树答主
回答量:1469
采纳率:95%
帮助的人:8.2万
展开全部
udf用在旋转速度定义面板中就是了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式