24小时热门版块排行榜    

查看: 515  |  回复: 1

feige9671

金虫 (小有名气)

[求助] Fluent UDF的编程问题j交流

本人初学,编写了一个Fluent的UDF,程序如下:
#include"udf.h"
DEFINE_PROFILE(heatflux,thread,i)
{
          real pos[ND_ND];
    real a,b,c,d,g,h;
    face_t f;
    F_CENTROID(pos,f,thread);
          a=pos[1];
          b=0.43*0.43-a*a;
          c=sqrt(b);
          d=c/0.43;
          g=asin(d);
          h=g/90;
  begin_f_loop(f,thread)
  {       
         
         if(h<=0.6)
                {F_PROFILE(f,thread,i)=51093.27*(0.1+1.08*h-4.0*h*h+8.6*h*h*h);}
                else
                        {F_PROFILE(f,thread,i)=51093.27*(0.41+0.35*h+h*h);}
                }
                end_f_loop(f,thread)
        }
编的是一个半圆球内壁面的热流密度的问题,热流密度随角度发生变化,但是Fluent运行出来总热流量的结果与自己通过积分算的结果相差很大,不知道什么原因,能有大神告诉我怎么回事吗?

Fluent UDF的编程问题j交流
w170h3240873_1437977566_309.png
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feige9671

金虫 (小有名气)

经过验证是因为h值没有达到0.6,if else只被调用了一部分所致,但不太明白为什么会出现h得值会小于0.6,应该是从0到1才对的,求教高手
2楼2015-08-10 10:24:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 feige9671 的主题更新
信息提示
请填处理意见