找回密码
 注册
查看: 1331|回复: 3

UDF错误的原因,求指正

[复制链接]
发表于 2013-9-2 08:50:26 | 显示全部楼层 |阅读模式

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

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

x
#include "udf.h"
#define WALL1_ID 5
real avg_temp=285.0;
real flow_time=CURRENT_TIME/86400;

DEFINE_ADJUST(wall1_avg_temp, domain)
{
        real NV_VEC(A);
        real sum_T_A=0.0,sum_A=0.0;
        face_t f;
        Thread*f_thread;
        f_thread = Lookup_Thread(domain, WALL1_ID);
        begin_f_loop(f, f_thread)
        {
                F_AREA(A,f,f_thread);
                sum_A+=NV_MAG(A);               
                sum_T_A+=NV_MAG(A)*F_T(f, f_thread);
        }
        end_f_loop(f, f_thread)

        avg_temp=sum_T_A/sum_A;
}

DEFINE_PROFILE(Wall2_T,t,position)
{
        face_t f;
        begin_f_loop(f,t)
        {
               
                if(flow_time<=30)
                {
                        F_PROFILE(f,t,position) = avg_temp+5;
        }
                else if(flow_time<=60)
                {
                        F_PROFILE(f,t,position) = avg_temp+6;
        }
                else if(flow_time<=90)
                {
                        F_PROFILE(f,t,position) = avg_temp+8;
        }
                else if(flow_time<=120)
                {
                        F_PROFILE(f,t,position) = avg_temp+6;
        }
                else if(flow_time<=150)
                {
                        F_PROFILE(f,t,position) = avg_temp+4;
        }
        end_f_loop(f,t)
以上是我编的UDF,目的是随着时间的变化抽灌水温差是一个分段函数的形式,运行过程中出现如下错误提示:
..\..\src\bc2xiugai.c(4) : error C2099: initializer is not a constant
请高手帮我看看问题出现在哪?应该如何改??万分感谢
发表于 2013-9-2 09:33:58 | 显示全部楼层
第三行和第四行,变量定义要放在宏里面,否则的话就要用静态变量定义





fluent培训教程
 楼主| 发表于 2013-9-2 14:51:55 | 显示全部楼层

回复 2# cfd-soft 的帖子

能把语句帮我写一下么??我的C语言很烂!!万分感谢
 楼主| 发表于 2013-9-5 09:18:14 | 显示全部楼层

回复 2# cfd-soft 的帖子

谢谢了,我的问题解决了!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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