找回密码
 注册
查看: 979|回复: 1

Fluent udf问题求教

[复制链接]
发表于 2017-8-2 11:06:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

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编译的有问题呢?谢谢!

 楼主| 发表于 2017-8-2 15:08:12 | 显示全部楼层
自顶一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表