|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
用udf编写的sauer空化模型
按道理来讲计算结果应该和fluent自带的sauer模型一致
但是计算的收敛性很不好,而且结果也不理想
下图是用fluent自带sauer计算的结果
#include "udf.h"
#include "mem.h"
#define MIN_VOF 1.e-5
#define MAX_VOF 0.999999
DEFINE_MASS_TRANSFER(liq_gas_src, c, t, from_index, from_species_index, to_index, to_species_index)
{
real p_vapor;
real n_bubbles;
real dp, Tvap, Tliq, rhoL, rhoV, rho_mix, xs_zhong, rad_dot, m_dot, vofM, RB;
Thread *gas, *liq;
liq=THREAD_SUB_THREAD(t, from_index);
gas=THREAD_SUB_THREAD(t, to_index);
m_dot=0.0;
n_bubbles=pow(10., 8.);
vofM=MIN(MAX(MIN_VOF, C_VOF(c, gas)), MAX_VOF); /*气相体积分数通过该算法控制在0与1之间,增加收敛性*/
RB=pow((3*vofM/(1-vofM)/4/M_PI/n_bubbles), 1./3.);
if(C_T(c, gas)>=66.&&C_T(c, gas)<=99.) /*给定一个判断,使得带入后续的温度T在正常范围内,增加收敛性*/
Tvap=C_T(c, gas);
else
Tvap=83.06;
if(C_T(c, liq)>=66.&&C_T(c, liq)<=99.) /*给定一个判断,使得带入后续的温度T在正常范围内,增加收敛性*/
Tliq=C_T(c, liq);
else
Tliq=83.06;
p_vapor=-2.714*pow(10., 6.)+1.275*pow(10., 5.)*Tliq-2037.*pow(Tliq, 2.)+11.12*pow(Tliq, 3.); /*饱和蒸气压---随液相温度变化的曲线*/
dp=p_vapor-C_P(c, liq);
rhoL=1200.-7.743*Tliq+0.06109*pow(Tliq, 2.)-0.0003474*pow(Tliq, 3.); /*液相密度---随温度变化的函数*/
rhoV=-126.2+5.696*Tvap-0.08805*pow(Tvap, 2.)+0.0004689*pow(Tvap, 3.); /*气相密度---随温度变化的函数*/
rho_mix=vofM*rhoV+(1-vofM)*rhoL;
xs_zhong=(3*vofM*(1-vofM)/RB)*rhoL*rhoV/rho_mix;
rad_dot=pow(2.*ABS(dp)/3./rhoL, 1./2.);
if(dp>0.)
m_dot=xs_zhong*rad_dot;
else
{
m_dot=-xs_zhong*rad_dot;
if(C_VOF(c, gas)<=MIN_VOF) m_dot=0.;
}
return(m_dot);
}
|
|