最近在搞一个非稳态算例,前一时刻流体出口面的平均温度赋值给当前时刻的进口面。初始状态时,流体区域平均分成前后两个区域,前后的温度不一样。
我网上搞了一个udf(如下),计算中,用monitor监控进口和出口的平均温度,每10个时间步长输出一次。发现两者温度曲线相差很大,如图所示(纵坐标为平均温度K,横坐标为时间步长)。请问是这个udf的问题还是怎啦?
real NV_VEC(A);
real avg_temp;
real sum_T_A=0.0;
real sum_A=0.0;
Thread *thread_out;
face_t f;
Domain *domain;
DEFINE_ADJUST(adjust,d)
{domain=Get_Domain(1);
thread_out=Lookup_Thread(domain,14);/14是出口面的id/
begin_f_loop(f,thread_out)
{ F_AREA(A,f,thread_out);
sum_A+=NV_MAG(A);
sum_T_A+=NV_MAG(A)*F_T(f, thread_out);
}
end_f_loop(f,thread_out)
avg_temp=sum_T_A/sum_A;
}
DEFINE_PROFLIE(inlet_T,t,i)
{begin_f_loop(f,t)
{F_PROFILE(f,t,i) = avg_temp;
}
end_f_loop(f,t)
}
![用udf实现出口温度赋值给进口温度]()
1212.JPG |