找回密码
 注册
查看: 1415|回复: 0

UDF是否错误,如何修改

[复制链接]
发表于 2013-9-4 09:39:56 | 显示全部楼层 |阅读模式

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

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

x
我编写UDF的目的是实现抽水井和回灌井温差随时间发生变化,变化的方式是随时间成分段函数的形式,运行的时间步长为3600s,迭代步数为3600,即150天。我的UDF编写程序如下:运行后灌水温度一直是0.原因是什么?UDF有错吗?应如何改呀?谢谢!
#include "udf.h"
#define WALL1_ID 5
real avg_temp=285.0;

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((int)t<=(2592000))
                {
                        F_PROFILE(f,t,position) = avg_temp-7;}
                else if((int)t<=(5184000))
                {
                        F_PROFILE(f,t,position) = avg_temp-5;}
                else if((int)t<=(7776000))
                {
                        F_PROFILE(f,t,position) = avg_temp-7;}
                else if((int)t<=(12960000))
                {
                        F_PROFILE(f,t,position) = avg_temp-3;}               
                }
        end_f_loop(f,t)
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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