|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
问题可以描述为:空气流过有厚度的固体平板,在空气与固体结合的固体表面上有一个热流,但这个热流不是空气给它的,类似于太阳辐射,固体平板相当于集热器,要计算空气和平板的温度场。
按照能量守恒,耦合面上的边界条件为:太阳辐射热流=通过导热传给平板的热流+流体与平板的对流换热
根据边界层理论,流体与平板的对流换热等于边界层内靠近固体壁面处流体的导热。
以下是我不理解的地方:
1,Gambit建模网格划分没有问题,在fluent边界条件设置为couple,但是那个作用在平板上的热流怎么设置?
2,如果按照陶文铨《数值传热学》分别解流体域和固体域,用UDF去耦合两个区域之间的关系能否实现?
3,按照问题2的思想,耦合面处有2个已知条件,A:耦合面处流体的温度与固体的温度相等,B:热流守恒。我的UDF如下,请大家看看有没有错误,或者思路上面有什么错误。
DEFINE_PROFILE(wall_q_flux, thread, position) /*耦合面处固体壁面的边界条件(wall),我定义为热流边界条件*/
{
face_t f;
real T0,T1,T2,T,dT;
begin_f_loop(f,thread)
{
cell_t c0=F_C0(f,thread);
Thread *tc0=THREAD_T0(thread); /*返回耦合面相邻处流体单元线索,以获取温度梯度*/
if(THREAD_ID(tc0)==3||Data_Valid_P()) /*判断返回的单元线索是否是流体域*/
{
T0=C_T_G(c0,tc0)[0];
T1=C_T_G(c0,tc0)[1];
T2=C_T_G(c0,tc0)[2];
dT=sqrt(T2*T2);
F_PROFILE(f,thread,position)=G-C_K_L(c0,tc0)*dT; /*固体域耦合面处的热流,根据耦合面处的能量关系得出*/
}
else
Internal_Error;
}
end_f_loop(f,thread)
}
DEFINE_PROFILE(Temp, thread, position) /*耦合面处流体壁面的边界条件(wall-shadow),我定义为温度边界条件*/
{
face_t f;
int n;
real T;
begin_f_loop(f,thread)
{
cell_t c1=F_C1(f,thread);
Thread *tc1=THREAD_T1(thread); /*返回耦合面邻近固体单元线索*/
if(THREAD_ID(tc1)==2||Data_Valid_P()) /*判断返回的单元线索是否是固体域*/
{
c_face_loop(c1,tc1,n) /*查找上面返回的邻近固体单元的面,该面就是耦合面处固体壁面,我不知道这个对不对*/
{
face_t f1=C_FACE(c1,tc1,n);
Thread *tf=C_FACE_THREAD(c1,tc1,n); /*返回耦合面固体面的面线索*/
if(THREAD_ID(tf)==6) /*判断面线索是否属于该耦合面处的固体面*/
{
T=F_T(f1,tf);
}
}
}
F_PROFILE(f,thread,position)=T;
}
end_f_loop(f,thread)
} |
|