fluent边界附近源项的UDF
在固体wall边界附近的一层单元内添加源项,本意是当单元压力大于某一值、单元上wall的那条面温度大于某一值时就释放源项,代码如下:
可是运行的时候总是整个wall的温度大于设定值时才释放,而不是单元内的与wall对应的那个面的温度大于值就在该单元释放,问题在哪?
C_T到底是整个wall的温度还是单元内那个面的温度?
#include "udf.h"
DEFINE_SOURCE(c_e, cell, thread, dS, eqn)
{
real source;
int n;
double st;
face_t f;
Thread *t;
Domain *domain=Get_Domain(1);
t=Lookup_Thread(domain,15);
begin_f_loop(f,t)
{
st=F_T(f,t);
if ( C_P(cell,thread) >= 120000. && st>=310.)
{
source =1.10921e11;
dS[eqn] = 0;
}
else
{
source = 0;
dS[eqn] = 0;
}
return source;
}
end_f_loop(f,thread)
} 返回小木虫查看更多
今日热帖
上面写错了,是F_T到底是整个wall的温度还是单元内那个面的温度?
应该是你加载在哪个面上就在哪个面上(三维在体上)
源项中好像没有判断边界的语句 自然默认是所有面或体了
t=Lookup_Thread(domain,15); 指向的就是wall边界,现在是想在单元内判断,但它总是判断整个wall。重新改了下循环,貌似是可以达到要求了。仍在确认中
,