24小时热门版块排行榜    

查看: 9932  |  回复: 19
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

b07988

金虫 (正式写手)

星期六可以休息

[求助] fluent中的体热源加载问题(实际上是热流密度,不是热生成率)

做焊接激光模拟,采用高斯旋转体热源。随时间移动。融化凝固模型。
查询很多资料和问了若干人后,他们的建议都是加载在能量源项。
/*采用旋转高斯体热源*/
/*能量源项*/
#include "udf.h"
DEFINE_SOURCE(heat_flux, cell, thread, dS, eqn)         
{
real x[ND_ND];
real y,I,U,oq,t0,v0,Q,time,cs,HH;
real r,rh;
real source_heat;
cell_t c;
C_CENTROID(x,c,thread);
y=0.7;                        /*有效功率因子*/
U=16.;
I=100.;
v0=2.e-3;                /*焊接速度*/
Q=y*I*U;                /*有效功率*/
cs=3./pow(oq,2.);        /*形状因子*/
HH=1.e-3;                /*热源高度*/
oq=2.5e-3;                /*热源半径*/
time= RP_Get_Real("flow-time";
r=sqrt(pow(x[0]-v0*time,2.)+pow(x[1],2.));        /*坐标与热源中心的距离*/
rh=sqrt(log(HH/x[2])/3.)*oq;/*一定热源高度对应的半径rh*/
if (x[2]==0&&r<=oq)
{
        source_heat=3.*cs*Q/(3.14*HH*(1.-1./exp(3)))*exp(-3.*pow(r,2.)/pow(oq,2.));
        dS[eqn] =0;
}
else if (x[2]==HH&&r==0.)
{
        source_heat=3.*cs*Q/(3.14*HH*(1.-1./exp(3)));
        dS[eqn] =0;
}
else if (x[2]>HH)
{       
        source_heat=0;
        dS[eqn] =0;
}
else if (r<=rh)
{
        source_heat=3.*cs*Q/(3.14*HH*(1.-1./exp(3)))*exp(-3.*cs/log10(HH/x[2])*pow(r,2.));
        dS[eqn] =0;
}
else
{
        source_heat= dS[eqn] =0;
}
return source_heat;
}

条件语句比较复杂,主要怕出问题。呵呵
interpret后没有错误,但加载出不了结果。
希望大家给点意见。

[ 来自科研家族 流体数值模拟 ]

[ Last edited by b07988 on 2012-3-4 at 22:31 ]
回复此楼

» 收录本帖的淘帖专辑推荐

电弧

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

先做最重要的事情,再做次重要的事情
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

zkatie

铜虫 (初入文坛)

【答案】应助回帖

xiegangmai: 谢谢参与,非应助请勿选择“应助回帖” 2012-11-30 19:05:38
我也想做这方面的,但是还没有头绪,请楼主指点一下。
爱生活,爱自己。
10楼2012-11-30 11:23:27
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 b07988 的主题更新
信息提示
请填处理意见