|
楼主 |
发表于 2014-11-1 18:14:35
|
显示全部楼层
/*迭代时间不同,入口速度也不同*/
#include "udf.h"
int kount=0;
real m;
DEFINE_ADJUST(demo_calc,domain)
{
kount++;
printf("kount=%d\n",kount);
}
DEFINE_ADJUST(my_adjust,d)
{
Thread *t;
real r=350;
real kp=0.01,ki=0.01;
real temp_last,temp=0;
cell_t c;
if(kount>50)
{
thread_loop_c(t,d)
{
begin_c_loop(c,t)
{
m=1;
temp_last=r-C_T_M1(c,t);
temp=r-C_T(c,t);
m+=kp*(temp-temp_last)+ki*temp;
}
end_c_loop(c,t)
}
}
else if (kount<=100.&&kount>=50.)
{
thread_loop_c(t,d)
{
begin_c_loop(c,t)
{
m=2;
temp_last=r-C_T_M1(c,t);
temp=r-C_T(c,t);
m+=kp*(temp-temp_last)+ki*temp;
}
end_c_loop(c,t)
}
}
else
{
thread_loop_c(t,d)
{
begin_c_loop(c,t)
{
m=4;
temp_last=r-C_T_M1(c,t);
temp=r-C_T(c,t);
m+=kp*(temp-temp_last)+ki*temp;
}
end_c_loop(c,t)
}
}
}
DEFINE_PROFILE(x_velocity,thread,nv)
{
float x[2];
float y;
face_t f;
begin_f_loop(f,thread)
{
y=x[1]; /* x[0]=x; x[1]=y; x[2]=z */
F_PROFILE(f,thread,nv)=m;
}
end_f_loop(f,thread)
}
原程序附上 |
|