边界附近源项的UDF
在固体wall边界附近的一层单元内添加源项,这层单元我单独提取出来做了zone。本意是当单元压力大于某一值、单元上wall的那条面温度大于某一值时就释放源项,代码如下:可是运行的时候总是整个wall的温度大于设定值时才释放,而不是单元内的与wall对应的那个面的温度大于值就在该单元释放,问题在哪?
F_T(f,t)到底是整个wall的温度还是单元内那个面的温度?我查看了一些udf内容觉得F_T(f,t)应该是单元面,可是为什么我的运行后总是wall边界的结果满足if条件后才产生源项??求指教
#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 = 0;
}
else
{
source = 0;
dS = 0;
}
return source;
}
end_f_loop(f,thread)
}
begin_f_loop(f,t)这个函数就是给出thread中的所有face,你得到的是face的温度,但你根本没有指定是哪个face的啊~
页:
[1]