|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
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)
} |
|