DEFINE_RW_FILE可用于指定要写入case&data,或从case&data读取的自定义信息。可以使用DEFINE_RW_FILE保存任何数据类型的自定义变量。需要注意的是,使用此函数时,读取顺序和写入顺序必须相同。
在第一个函数Demo_Calc中,定义整数Kount并初始化为零,它在每次迭代时递增Kount的值,因为DEFINE_ADJUST在每个迭代中调用一次。第二个函数Writer用于将Kount的值写入要保存的数据文件中。第三个函数Reader用于从要读取的数据文件中读取Kount值。简单来说,如果算例运行计算10次,Kount将递增到10,此时保存数据文件,则Kount的值(10)将写入数据文件。如果将数据文件读回ANSYS Fluent并继续计算,则Kount将从值10开始,并在之后的每次迭代时递增。
#include "udf.h"
int kount = 0; /* 定义全局变量kount */
DEFINE_ADJUST(demo_calc,d)
{
kount++;
printf("kount = %d\n",kount);
}
DEFINE_RW_FILE(writer,fp)
{
printf("Writing UDF data to data file...\n");
fprintf(fp,"%d",kount); /* 将Kount写出到数据文件*/
}
DEFINE_RW_FILE(reader,fp)
{
printf("Reading UDF data from data file...\n");
fscanf(fp,"%d",&kount); /* 从数据文件中读取Kount*/
}