我也用这个方法,倒是解释通过了,但是在导入模型,最后进行初始化(initialize)时出错,不知为什么。我的程序是这样的:
/********************************/
/*velocity.c*/
#include "udf.h"
DEFINE_PROFILE(velocity,thread,position)
{
face_t f;
real x[ND_ND];
real z;
int i, j;
float u[1000][15];
FILE* fp;
fp=fopen("V.txt","r");
for (i=0;i<1000;i++)
for (j=0;j<15;j++)
fscanf(fp,"%f",u[j]);
begin_f_loop(f,thread)
{
z=x[2];
if (z<20)
F_PROFILE(f,thread,position)=u[1];
else if (z<40)
F_PROFILE(f,thread,position)=u[2];
else if (z<60)
F_PROFILE(f,thread,position)=u[3];
else if (z<80)
F_PROFILE(f,thread,position)=u[4];
else if (z<100)
F_PROFILE(f,thread,position)=u[5];
else if (z<120)
F_PROFILE(f,thread,position)=u[6];
else if (z<140)
F_PROFILE(f,thread,position)=u[7];
else if (z<160)
F_PROFILE(f,thread,position)=u[8];
else if (z<180)
F_PROFILE(f,thread,position)=u[9];
else if (z<200)
F_PROFILE(f,thread,position)=u[10];
else if (z<220)
F_PROFILE(f,thread,position)=u[11];
else if (z<240)
F_PROFILE(f,thread,position)=u[12];
else if (z<260)
F_PROFILE(f,thread,position)=u[13];
else if (z<280)
F_PROFILE(f,thread,position)=u[14];
else
F_PROFILE(f,thread,position)=u[15];
}
end_f_loop(f,thread)
}
另外,我发现不少定义的UDF,本来能解释,改变文件夹目录后就不能解释,这是什么原因呢? |