|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
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)
} |
|