找回密码
 注册
查看: 1882|回复: 2

求助:UDF编译错误

[复制链接]
发表于 2012-11-30 16:36:53 | 显示全部楼层 |阅读模式

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

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

x
代码如下:
#include "udf.h"
real sigma=0.0003;
real d=0.002;

DEFINE_SOURCE(f_lg_x,c,t,dS,eqn)
{
        real f_sc,f_lg,con,source;
        source=0;dS[eqn]=0;
        Thread *gas,*water;
        gas=THREAD_SUB_THREAD(mixture_thread, 1);        /* 气相线程指针 */
        water=THREAD_SUB_THREAD(mixture_thread, 0);      /* 水相线程指针 */

        f_sc=16./180.;
        f_lg=f_sc*(1+24.*pow(998.2/1.225,1./3.)*sigma/d);
        con=0.5*C_R(c,t)*f_lg/sigma;

        if(C_VOF(c,t)>0 && C_VOF(c,t)<1)
        {
                source=con*fabs(C_U(c,water)-C_U(c,air))*(C_U(c,water)-C_U(c,air));
                dS[eqn]=2.*con*fabs(C_U(c,water)-C_U(c,air));
        }
        return source;
}
Fluent编译后显示:
Error: C:\Users\dell\Desktop\udf.c: line 9: parse error.
Error: C:\Users\dell\Desktop\udf.c: line 10: gas: undeclared variable
第9行是:Thread *gas,*water;
本人刚接触UDF不久,实在看不出这一行有什么语法错误,而且尝试了Thread *t;等简单命令均提示语法错误。几天之前写过一个UDF中有一句Thread **pt;可以成功编译,今天试了一下又不能编译了,不知道问题出在哪,请各位大侠不吝指教!~~~
发表于 2012-12-1 15:13:31 | 显示全部楼层
DEFINE_SOURCE(f_lg_x,c,t,dS,eqn)
你查一下这个宏函数的定义,Thread *t是不是重复定义了?
 楼主| 发表于 2012-12-2 21:50:22 | 显示全部楼层

回复 2# madongdong 的帖子

我改成在函数外部定义之后就可以编译了,谢谢你的回答!~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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