|
|
【答案】应助回帖
我这个是以前帮别人写的一个 可以同步的速度入口 你可以参考一下。 一侧的出口 变为另外一侧入口。
# include "udf.h"
#include <stdio.h>
#include <stdlib.h>
face_t f;
Domain *domain;
Thread *t_out;
DEFINE_EXECUTE_AT_END(flux_end)
{ real outlet_flux;
real flow_time = RP_Get_Real("flow-time" ;
FILE *f_frc;
real flow=0.0;
domain = Get_Domain(1);
t_out=Lookup_Thread(domain,2);
begin_f_loop(f,t_out)
{
flow+=F_FLUX(f,t_out);
}
end_f_loop(f,t_out)
outlet_flux=flow;
/*printf("%f,%f\n",flow_time, outlet_flux); */
f_frc=fopen("face_interior1_flux.txt","w" ;
fprintf(f_frc,"%f %f\n",flow_time, outlet_flux);
fclose(f_frc);
}
DEFINE_PROFILE(symmetry_outlet_flux,t,i)
{
real flow_time,outlet_flux;
FILE *f_frc;
f_frc=fopen("face_interior1_flux.txt","r" ;
fscanf(f_frc,"%lf %lf",&flow_time,&outlet_flux);/*flow_time也读入了但是这里没用到*/
fclose(f_frc);
begin_f_loop(f,t)
{
F_PROFILE(f,t,i) = -outlet_flux;
}
end_f_loop(f,t)
}
DEFINE_PROFILE(aa,t,i)
{
face_t f;
real time;
int a;
time=CURRENT_TIME;
begin_f_loop(f,t)
{
a=(int)(time/10);
if(time>=(10*a+0)&&time<=(10*a+5))
F_PROFILE(f,t,i) =-(time-10*a)*(time-10*a) ;/*周期10秒*/
else F_PROFILE(f,t,i) =0 ;
}
end_f_loop(f,t)
} |
|