|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
[这个贴子最后由xiongyx在 2006/07/01 09:49pm 第 1 次编辑]
我刚刚学习fluent的udf,然后做了一个计算一个domain上的一个小区域的平均温度,可是compiled之后hook到fluent上,迭代的时候没有反应。程序如下:
# include "udf.h"
DEFINE_EXECUTE_AT_END(ave_temp2)
{
Domain *d;
Thread *t;
cell_t c;
real x[ND_ND];
int i=0;
int j;
real a=10.0;
real volum[6]={0.0,0.0,0.0,0.0,0.0,0.0};
real tempvolum[6]={0.0,0.0,0.0,0.0,0.0,0.0};
real zcoordinate[6]={1030,2030,3030,4030,5030,6030};
d=Get_Domain(1);
thread_loop_c(t,d)
{
begin_c_loop(c,t)
C_CENTROID(x,c,t);
for(;i<=5;i++)
{
if ((x[2]>=zcoordinate-a)&(x[2]>=zcoordinate+a))/*判断z坐标的位置*/
{
if ((x[0]>=0.0) & (x[0]<2.5))/*判断x坐标的位置*/
{
if ((x[1]>0) & (x[1]<(-40*x[0]+100)))/*判断y坐标的位置*/
{
volum+=C_VOLUME(c,t);/*计算总体积*/
tempvolum+=C_T(c,t)*C_VOLUME(c,t);/*计算温度的体积加权和乘积*/
}
}
else if ((x[0]>-2.5) & (x[0]<0))/*判断x坐标的位置*/
{
if (x[1]>0 & (x[1]<(40*x[0]+100)))/*判断y坐标的位置*/
{
volum+=C_VOLUME(c,t);/*计算总体积*/
tempvolum+=C_T(c,t)*C_VOLUME(c,t);/*计算温度的体积加权和乘积*/
}
}
}
}
end_c_loop(c,t)
}
for(j=0;j<6;j++)//输出结果
{printf("坐标z= %d 温度的体积均值是:%f\n",zcoordinate[j],tempvolum/volum);
}
}
请大家帮忙分析,看看式怎么回事,我急需解决问题!谢谢
有需要fluent6.2的UDF的朋友,我给你们发:)
|
|