找回密码
 注册
查看: 7261|回复: 9

udf中F_C0(f,t)返回值的解释

[复制链接]
发表于 2007-9-2 10:59:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
今天看了udf帮助中的某个表格,对其中的宏的解释没看懂
F_C0(f,t)返回值为cell_t for cell on "0" side of face
不知指什么,"0" side of face?
望高手指点,谢谢!
发表于 2007-9-2 12:36:57 | 显示全部楼层

udf中F_C0(f,t)返回值的解释

每个FACE有两侧网格,分别为C0和C1,边界上FACE只有C0。FACE的法向量从C0指向C1。
 楼主| 发表于 2007-9-3 09:25:36 | 显示全部楼层

udf中F_C0(f,t)返回值的解释

谢谢,帮助中也是这么说,那么对于内部边界,那边的是c0,哪边的又是c1或者说如何知道面的法向量方向?
发表于 2007-9-3 13:30:22 | 显示全部楼层

udf中F_C0(f,t)返回值的解释

好问题啊,本人也搞不清楚。
不过在内部边界上不太可能用到吧!
发表于 2007-9-3 14:48:09 | 显示全部楼层

udf中F_C0(f,t)返回值的解释

按照FACE上面的node的号码用右手法则啊,帮助里面有的,自己看。至于看号码,可以用UDF实现,至于如何改号码顺序,目前自己也在研究中。。。。。。
 楼主| 发表于 2007-9-4 18:53:17 | 显示全部楼层

udf中F_C0(f,t)返回值的解释

gearboy78
能否将你写的代码拿出来讨论讨论?
发表于 2007-9-5 00:39:30 | 显示全部楼层

udf中F_C0(f,t)返回值的解释

这个比较简单,直接对边界上的face进行循环,输出号码和坐标就可以啦。然后用右手法则就可以确定法线方向。
Domain* domain;
face_t f;
Thread*t;
real x[ND_ND];
domain=Get_Domain(1);
t=Lookup_Thread(domain,BOUNDARY_ID);
begin_f_loop(f,t)
{
C_CENTROID(x,f,t);
Message("f=%d,x=%f,y=%f\n",f,x[0],x[1]);
}
end_f_loop(f,t)
 楼主| 发表于 2007-9-5 09:47:20 | 显示全部楼层

udf中F_C0(f,t)返回值的解释

试算了下,
我将该udf设置为某个边界面的边界条件
结果好像不对,位置坐标明显不是设置面的坐标了,变化好大。
t=Lookup_Thread(domain,BOUNDARY_ID);
应该是设置的面的指针吧
发表于 2007-9-16 15:03:09 | 显示全部楼层

udf中F_C0(f,t)返回值的解释

写错了,C_CENTROID(x,f,t)应该是F_CENTROID(x,f,t);
发表于 2007-9-25 12:08:45 | 显示全部楼层

udf中F_C0(f,t)返回值的解释

使用F_AREA得到矢量形式的面积,归一化以后得到面的法向;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表