请帮忙看下关于传热系数的UDF,谢了
浏览:33838 回答:4
我的问题是要写一个传热系数是壁温及壁面附近流场温度和速度函数的UDF:
hc=(wt+ct)^0.3*cv^0.7
其中hc是传热系数,wt为壁面温度,ct为壁面附近流体温度,cv为壁面附近流体速度
这个问题已困扰很久了,自己写了个UDF,请这方面的高手帮忙,看下我写的这个UDF有什么问题?该怎样修改?不胜感谢。
/**********************************************************************/
/* UDF that implements a heat transfer coefficient hc*/
/* hc=(wt+ct)^0.3*cv^0.7 其中wt为壁面温度,ct为壁面附近流体温度,cv为壁面附近流体速度 */
/**********************************************************************/
#include "udf.h"
DEFINE_PROFILE(heat_transfer_coef,t,i)
{
cell_t c;
face_t f;
real hc;
if(BOUNDARY_FACE_THREAD_P(t)) /*Most face values will be available*/
real wt, ct, cv;
wt = F_T(f,t);
ct = C_T(c,t);
cv = C_U(c,t);
hc=pow((wt+ct), 0.3)*pow(cv, 0.7);
return hc;
}
但编译通不过去,有两处错误,提示如下:
if (BOUNDARY_FACE_THREAD_P(t)) 有语法错误 (parse error);
wt=F_T(f,t); 未定义变量wt,但我明明已在前面定义了( real wt,ct,cv; )
请高手指点,谢谢
hc=(wt+ct)^0.3*cv^0.7
其中hc是传热系数,wt为壁面温度,ct为壁面附近流体温度,cv为壁面附近流体速度
这个问题已困扰很久了,自己写了个UDF,请这方面的高手帮忙,看下我写的这个UDF有什么问题?该怎样修改?不胜感谢。
/**********************************************************************/
/* UDF that implements a heat transfer coefficient hc*/
/* hc=(wt+ct)^0.3*cv^0.7 其中wt为壁面温度,ct为壁面附近流体温度,cv为壁面附近流体速度 */
/**********************************************************************/
#include "udf.h"
DEFINE_PROFILE(heat_transfer_coef,t,i)
{
cell_t c;
face_t f;
real hc;
if(BOUNDARY_FACE_THREAD_P(t)) /*Most face values will be available*/
real wt, ct, cv;
wt = F_T(f,t);
ct = C_T(c,t);
cv = C_U(c,t);
hc=pow((wt+ct), 0.3)*pow(cv, 0.7);
return hc;
}
但编译通不过去,有两处错误,提示如下:
if (BOUNDARY_FACE_THREAD_P(t)) 有语法错误 (parse error);
wt=F_T(f,t); 未定义变量wt,但我明明已在前面定义了( real wt,ct,cv; )
请高手指点,谢谢





















谢谢指点,但按你说的,把“real wt, ct, cv; ”提前后,除提示“if (BOUNDARY_FACE_THREAD_P(t)) 有语法错误”外, 也提示“return hc;”有语法错误。
if (BOUNDARY_FACE_THREAD_P(t)) 在UDF帮助文件里有这个宏和语句,既然提示有语法错误,是不是这个语句就不能用在这个UDF里来判断是否是壁面?要通过其它方式来判断?该怎样做?
另外,“return ...;” 不是是不能用在“DEFINE_PROFILE”宏语句里?
请帮忙,指点一下,谢谢