找回密码
 注册
查看: 4711|回复: 7

求助——如何利用udf添加能量源相

[复制链接]
发表于 2010-8-20 09:38:42 | 显示全部楼层 |阅读模式

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

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

x
现在遇到这个的一个问题,我想在基台上方加一个圆形的温度源相,要求圆内的温度在3000K左右,圆外的温度fluent默认或300K也可。需要自定义源相,其编程如下:
/**************************************************************/
/* UDF for specifying an heat source term */
/**************************************************************/
#include "udf.h"
#define C1 0.028
#define C2 0.030
#define PI 3.14159
#define T_SAT 300.

DEFINE_SOURCE(energy_source, cell, thread, dS, eqn)
{
real r[ND_ND];
real d, temp,source,x,y,co;
temp=C_T(cell,thread);

x=r[0];
y=r[1];
d= sqrt(x*x+(y-C1)*(y-C1));
co=1.+cos(PI*d/C2);
if(d<=(C2/2))
  {
           source =C_CP(cell,thread)*C_R(cell,thread)*(temp-T_SAT)*co;
   dS[eqn]=C_CP(cell,thread)*C_R(cell,thread)*co;
  }
   else
    source=0;
return source;
}
导入到fluent里面,显示正确,却没有计算结果, 我很少苦恼,不知道有哪位大侠帮我指导下啊,某将感激不尽!

[ 本帖最后由 fpw0412 于 2010-8-20 10:56 编辑 ]

附加图片

附加图片
 楼主| 发表于 2010-8-20 10:50:00 | 显示全部楼层
另外,能量源相对谁求导啊?望大侠们多多指导啊,急!!
 楼主| 发表于 2010-8-20 11:59:27 | 显示全部楼层
上面编的不是很清楚
热源方程如下
H=hs/2*[1+cos(pi*d/c0)]   条件d<=c0
H=0   条件  d>c0
其中c0=0.030,hs是常数为30000,pi=3.14
d= sqrt(x*x+(y-C1)*(y-C1));c1=0.028
 楼主| 发表于 2010-8-20 12:00:56 | 显示全部楼层

我编写如下的程序,但是没有就算结果,请高手指点

#include "udf.h"
#define C1 0.028
#define C2 0.030
#define PI 3.14159
#define hs 300000000
DEFINE_SOURCE(heat_source, c, t, dS, eqn)
{
real r[ND_ND];
real d, source, x, y, co;
x= r[0];
y= r[1];
d= sqrt(x*x+(y-C1)*(y-C1));
co=1.+cos(PI*d/C2);
if(d<=(C2/2))
  {
           source =hs/2*co;
   dS[eqn]=0;
  }
   else
    source=0;
return source;
}
发表于 2010-8-20 23:43:08 | 显示全部楼层
你只是导入到fluent了,还应该把源项加到相应的流体区域中。
发表于 2011-5-1 22:33:54 | 显示全部楼层
发表于 2012-1-1 12:05:00 | 显示全部楼层
能量源好像对温度求偏导。
发表于 2013-8-21 16:38:33 | 显示全部楼层
C_CENTROID(r,c,t);
x=r[0];
y=r[1];
不然xy无法付值
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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