希望drm 发表于 2013-4-15 08:22:23

有哪位高手帮我看一下这个UDF程序哪里出了问题?

以下是我编的程序,物理问题是把日平均温度赋给空气温度。日平均温度是随时间变化,会有不同的数值。在此UDF程序中,我只列出了两天的日平均温度。
#include "udf.h"
#define c 24;
Domain*domain;
face_t f;
Thread*t;
real n,current_time;

DEFINE_PROFILE(air_temp,t,i)
{

domain=Get_Domain(1);
t=Lookup_Thread(domain,4);
current_time=RP_Get_Real("flow-time");

begin_f_loop(f,t)
{
for(n=0;n<=10;n++)
{
if(current_time>=n*8760&&current_time<=n*8760+c)
F_PROFILE(f,t,i)= 0.47;

else if(current_time>(c+n*8760)&&current_time<=(n*8760+2*c))
F_PROFILE(f,t,i)= 1.91;
}
}
end_f_loop(f,t)
}


这个程序运行之后出现错误,错误提示如下:

.\..\src\air_temprature.c(19) : error C2143: syntax error : missing ')' before ';'
..\..\src\air_temprature.c(19) : error C2059: syntax error : ')'
..\..\src\air_temprature.c(22) : error C2181: illegal else without matching if
..\..\src\air_temprature.c(22) : error C2143: syntax error : missing ')' before ';'
..\..\src\air_temprature.c(22) : error C2059: syntax error : ')'
有哪位高手帮我看一下,我的程序是哪里出了问题?

希望drm 发表于 2013-4-15 08:35:52

回复 1# 希望drm 的帖子

知道了,把#define c 24; 改成const c=24;就没有问题了。

liyanppkdc12 发表于 2013-4-15 10:47:17

t=Lookup_Thread(domain,4);
这句有必要吗

希望drm 发表于 2013-4-15 18:56:25

回复 3# liyanppkdc12 的帖子

我做的赋给空气的值,但是在我的模型里没有专门做空气的模型,只有与空气接触的土壤的模型,因为我要做土壤与空气的换热,因此我试着把这个温度值先加到这个土壤的上表面上,看看能不能再土壤上表面的初始条件中找到这个空气温度的udf赋值程序。

mesea 发表于 2015-8-31 10:31:16

这是做什么呀
页: [1]
查看完整版本: 有哪位高手帮我看一下这个UDF程序哪里出了问题?