经高手指点查了一下,幂函数power应改成pow了; 另外,“Thread *t;” 语句是多余的,因DEFINE_PROFILE(heat_transfer_coef,t,i)中已给定了指针,所以删除“Thread *t;” 。最后修改如下:
/**********************************************************************/
/* 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; )
请高手再次指点,谢谢
|