24小时热门版块排行榜    

查看: 9922  |  回复: 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的回帖

李立州

新虫 (初入文坛)

【答案】应助回帖


xiegangmai: 金币+1, 鼓励讨论交流! 2013-03-30 22:17:37
cs=3./pow(oq,2.);        /*形状因子*/
HH=1.e-3;                /*热源高度*/
oq=2.5e-3;                /*热源半径*/
不知道高手你是怎么编译过的。
我觉得你编译不过去。
13楼2013-03-30 10:25:55
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

李立州

新虫 (初入文坛)

引用回帖:
15楼: Originally posted by b07988 at 2013-04-01 09:53:01
没说编译成功,这个热源的思路是正确的。你自己换个简单的热源加载,这个旋转高斯热源写的过于复杂。...

oq是后赋值,cs已经引用了oq的值,cs会出错的。
17楼2013-05-24 10:00:59
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

李立州

新虫 (初入文坛)

★ ★
1592203609: 金币+2, 谢谢回帖 2013-05-24 10:12:22
引用回帖:
17楼: Originally posted by 李立州 at 2013-05-24 10:00:59
oq是后赋值,cs已经引用了oq的值,cs会出错的。...

检查以下语法吧,编译和解释两种用的程序是相同的。一种可以另一种也可以。
18楼2013-05-24 10:02:08
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 b07988 的主题更新
信息提示
请填处理意见