|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 YUPeng 于 2016-3-19 10:20 编辑
我计算的是蒸发冷凝,想在源项中求取累积蒸发量,下面是液相的质量源项UDF代码,加载在流体域液相上,可在实际计算中,累积UDM蒸发量一直为0,这是为什么,求大神解答。
DEFINE_SOURCE(liq_src, cell, pri_th, dS, eqn) //液相质量源项UDF
{
Thread *mix_th;
Thread *sec_th; //定义指针
real massl; //定义液相质量转移 kg/(m2.s)
mix_th = THREAD_SUPER_THREAD(pri_th); //液相指针
sec_th = THREAD_SUB_THREAD(mix_th, 1); //指向单相控制区的气相的指针,气相为第二相
if(C_T(cell, mix_th)>=T_sat) //如果指向混合区液相的单元温度高于蒸发温度(蒸发)
{
massl = -0.1*C_VOF(cell,pri_th)*C_R(cell, pri_th)* fabs(C_T(cell, mix_th) - T_sat)/T_sat; //液相向气相的质量质量转移
dS[eqn] = -0.1*C_R(cell, pri_th)*fabs(C_T(cell, mix_th) - T_sat)/T_sat; //定义源项对质量转移偏导
}
else //如果指向混合区液相的单元温度小于蒸发温度(冷凝)
{
massl=0.1*C_VOF(cell,sec_th)*C_R(cell,sec_th)*fabs(T_sat-C_T(cell,mix_th))/T_sat; //气相向液相的质量转移,液相增加
dS[eqn] = 0; //由于是气相向液相转移,所以液相的质量源项对质量转移的偏导为零
}
return massl;
begin_c_loop(cell,pri_th)
{
e= Ce*C_VOF(cell,pri_th)*C_R(cell, pri_th)* fabs(C_T(cell, pri_th) - T_sat)/T_sat;/*计算蒸发量*/
e_sum+=e;
}
end_c_loop(cell,pri_th);
C_UDMI(cell,t,1)=e_sum;
}
|
|