2.2.8. DEFINE_INIT
DEFINE_INIT可以为算例指定一组初始值。DEFINE_INIT可实现与patching相同的结果。DEFINE_INIT函数在求解器执行默认初始化后调用,通常用于设置流量值的初始值。
example
以下名为my_init_func的UDF用来初始化流场变量。
#include "udf.h"
DEFINE_INIT(my_init_func,d)
{
cell_t c;
Thread *t;
real xc[ND_ND];/*定义xc数组用来存放重心坐标*/
thread_loop_c(t,d)
{
begin_c_loop_all(c,t)
{
C_CENTROID(xc,c,t);
if (sqrt(ND_SUM(pow(xc[0] - 0.5,2.),
pow(xc[1] - 0.5,2.),
pow(xc[2] - 0.5,2.))) < 0.25)
C_T(c,t) = 400.;/*如果cell的重心与(0.5,0.5,0.5)这点的距离小于0.25,则将该cell的温度设为400k*/
else
C_T(c,t) = 300.;/*否则将温度设为300k*/
}
end_c_loop_all(c,t)
}
}