找回密码
 注册
查看: 2070|回复: 1

急求!!!udf定义与时间有关的heat_flux函数,导入fluent后计算结果明显错误!

[复制链接]
发表于 2013-1-25 22:49:12 | 显示全部楼层 |阅读模式

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

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

x
我建的模型是一个2d的长方形,其中将长方形的一长边定义为热源,输入的热流密度flux由下面的udf程序给出,udf中定义的flux是一个与时间有关的分段函数,我的程序如下,但是导入fluent中计算后,所得的结果明显不靠谱,monitor监测的数值太小,残差图上输入的energy也明显太小,求各位大哥大姐帮忙看下,是不是程序写的有问题,或者导入fluent后,需要哪些特殊的设置。各位路过的大侠们行行好,小弟一定感激涕零!导师催的比较急,各种捉鸡啊!

#include "udf.h"
DEFINE_PROFILE(varying_heat_s, thread, position)
{
        real flow_time();
        real time;
          face_t f;                                         /*定义face_t类型的变量f*/

        begin_f_loop(f,thread) //10                           /*在一个face线程中循环所有的face*/
        {
            time = RP_Get_Real("flow-time");                 /* 得到流动时间*/               
       
        if (time<=89.44)              //f1
                {
                        F_PROFILE(f,thread,position)=-3.83*0.0000001*time+0.0004689;
                }
        else if (time<=96.88)    //f2
                {
                        F_PROFILE(f,thread,position)=10.3721*time-927.68;   
                }
        else if (time<=102.40)   //f3
                {  
                        F_PROFILE(f,thread,position)=-1.2446*time+197.7435;  
                }
        else if (time<=102.52)  //f4
                {
                        F_PROFILE(f,thread,position)=-585.7232*time+60048;
                }
        else if (time<=103.40)  //f5
                {
                               F_PROFILE(f,thread,position)=-0.0045*time+0.4769;  
                }  
        else if (time<=104.52)  //f6
                {
                        F_PROFILE(f,thread,position)=65.2636*time-6748.3;  
                }
        else if (time<=113.40)  //f7
                {
                        F_PROFILE(f,thread,position)=-0.1844*time*time+40.1*time-2105;
                }
        else if (time<=113.52)  //f8   
                {
                        F_PROFILE(f,thread,position)=-599.0833*time+68008;  
                }
        else if (time<=114.40)  //f9
                {
                               F_PROFILE(f,thread,position)=-0.0117*time+1.3261;
                }
        else if (time<=116.40)  //f10  
                {
                        F_PROFILE(f,thread,position)=34.5651*time-3954.3;
                }         
        else if (time<=125.40)  //f11
                {
                        F_PROFILE(f,thread,position)=-1.3933*time+231.3040;
                }
        else if (time<=125.52)  //f12
                {
                        F_PROFILE(f,thread,position)=-471.50*time+59183;
                }
        else if (time<=126.40)   //f13
                {
                        F_PROFILE(f,thread,position)=-0.007167*time+0.8936;
                }
        else if (time<=126.60)  //f14  
                {        F_PROFILE(f,thread,position)=327.0116*time-1334;
                }
        else if (time<=146.40)  //f15
                {        F_PROFILE(f,thread,position)=0.6856*time+152.187;
                }
        else if (time<=146.50)  //f16
                {
                        F_PROFILE(f,thread,position)=-518.20*time+75916;
                }
        else if (time<=147.40)   //
                {       
                        F_PROFILE(f,thread,position)=0.005259*time-0.7881;
                }
        else if (time<=149.40)  //f18  
                {
                        F_PROFILE(f,thread,position)=29.2429*time-4310.4;
                }
        else if (time<=176.40)  //f19
                {
                        F_PROFILE(f,thread,position)=-0.4752*time+129.4527;
                }
        else if (time<=176.52)  //f20
                {
                        F_PROFILE(f,thread,position)=-380.25*time+67122;  
                }
        else if (time<=1521.1)  //f21
                {
                        F_PROFILE(f,thread,position)=7.644*0.00001*time-0.087;  
                }               
        else
                {
                        F_PROFILE(f,thread,position)=0;
                }
        }
        end_f_loop(f,thread)
}
 楼主| 发表于 2013-1-25 22:50:21 | 显示全部楼层

回复 1# 南京一号 的帖子

自己先顶一贴!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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