|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
各位大神好,最近我在模拟气液两相传热,想得到传热量,就用define_on_demand宏编译了一个udf,具体如下:
#include"udf.h"
#include"mem.h"
#include"sg_mphase.h"
DEFINE_ON_DEMAND(heat_flux)
{
/*for calculating total heat transfer flux*/
/*Q= is the total amount of heat transfer from liquid to vapor,J/s,
calculated by enthalpy reference to liquid inlet temperature,283.15K*/
int zone_ID_liquid_outlet=18;/*liquid outlet boundary zone ID*/
Domain *mixture_domain=Get_Domain(1);
int secondary_phase_domain_index=1;/*secondary phase index,liquid phase*/
Thread *tf=Lookup_Thread(mixture_domain,zone_ID_liquid_outlet);
Thread *t1;
face_t f;
cell_t c1;
Thread *t1_liq;
float Q,Mass_flux,mass_frac_liq;
float Cp_liq=4182.0,den_liq=998.2;/*heat capacity of liquid,J/kg-K;
density of liquid,kg/m3*/
FILE *fp;
fp=fopen("heat_flux.dat","w");
t1=THREAD_T1(tf);
t1_liq=THREAD_SUB_THREAD(t1,secondary_phase_domain_index);
Q=0.;
begin_f_loop(f,tf)
{
Mass_flux=F_FLUX(f,tf);/*kg/s*/
c1=F_C1(f,tf);
mass_frac_liq=C_VOF(c1,t1_liq)*den_liq/C_R(c1,t1);
Q=Q+Mass_flux*mass_frac_liq*Cp_liq*(C_T(c1,t1)-283.15);/*reference temp=283.15K*/
}
end_f_loop(f,tf)
fprintf(fp,"Q:%g\n",Q);
printf("Q:%g\n",Q);
fclose(fp);
}
该udf可以正常的加载到Fluent里面,但计算完后一执行excute on demand,就会报错,错误信息如下:
错误信息
请教各位大神,这个问题要怎么解决呢?是不是udf编译的有问题呢?谢谢!
|
|