FLUENT UDF-DEFINE_INIT宏
以此为例:
DEFINE_INIT(init,domain)//一般格式
#include"udf.h"
DEFINE_INIT(init,domain)
{
cell_t c;
Thread *thread;
real xc[ND_ND],x,y;
thread_loop_c(thread,domain)
{
begin_c_loop(c,thread)
}
C_CENTROID(xc,c,thread)
x=xc[0];
y=xc[1];
if(pow((x-0.05),2)/pow(0.03,2)+pow((y-0.03),2)/pow(0.015,2)<1)
{
C_T(c,thread)=500;
}
else
{
C_T(c,thread)=300;
}
end_c_loop(c,thread)
}
//椭圆区域内500,区域外是300,在define中的functions加载区域的UDF;然后在user-Defined中的function hooks中初始化入口init;然后再初始化入口,就可以了;
**
DEFINE_DELTAT宏
**
自定义时间步长!
#include “udf.h”
DEFINE_DELTAT(mydeltat,d)
{
real time_step;
real flow_time = CURRENT_TIME;//可以替换成RP_Get_Real(“flow-time”)
if (flow_time < 0.5)
time_step = 0.1;
else
time_step = 0.2;
return time_step;
}
流动时间=流动步长*步数
FLUENT UDF-DEFINE_ADJUST宏
使用DEFINE_ADJUST对湍流耗散在整个区域上积分;
#include “udf.h”
{
Thread *t
real sum_diss=0;
cell_t c;
thread_loop_c (t,d)
{
begin_c_loop(c,t)
sum_diss +=C_D(c,t)*
C_VOLUME(c,t);
end_c_loop (c,t)
}
printf(“Volume integral of turbulent dissipation”%g\n", sum_diss);
}