|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
请各位大神帮我看看这个udf,计算不了几步就发散
#include "udf.h"
#include "sg_mphase.h"
DEFINE_SOURCE(liq_src,c,pri_th,dS,eqn)
{
Thread *mix_th,*sec_th;
real m_dot_l;
real stc;
real fv;
real pres_vap;
real pres_sat;
real pres_turb;
mix_th=THREAD_SUPER_THREAD(pri_th);
sec_th=THREAD_SUB_THREAD(mix_th,1);
fv=C_VOF(c,sec_th)*C_R(c,sec_th)/(C_VOF(c,sec_th)*C_R(c,sec_th)+C_VOF(c,pri_th)*C_R(c,pri_th));
stc=5.98633e-7*C_T(c,mix_th)*C_T(c,mix_th)-3.21398e-4*C_T(c,mix_th)+0.03015;
pres_sat=0.04782*C_T(c,mix_th)*C_T(c,mix_th)*C_T(c,mix_th)*C_T(c,mix_th)-4.33987*C_T(c,mix_th)*C_T(c,mix_th)*C_T(c,mix_th)-172.30441*C_T(c,mix_th)*C_T(c,mix_th)+27971.53714*C_T(c,mix_th)-734733.4355;
pres_turb=0.39*C_R(c,mix_th)*C_K(c,mix_th);
pres_vap=pres_sat+0.5*pres_turb;
if(C_P(c,mix_th)<=pres_vap)
{
m_dot_l=-0.02*sqrt(C_K(c,mix_th))/stc*C_R(c,pri_th)*C_R(c,sec_th)*sqrt((2*(pres_vap-C_P(c,mix_th)))/(3*C_R(c,pri_th)))*(1-fv);
dS[eqn]=-0.02*sqrt(C_K(c,mix_th))/stc*C_R(c,pri_th)*C_R(c,sec_th)*sqrt((2*(pres_vap-C_P(c,mix_th)))/(3*C_R(c,pri_th)));
}
else
{
m_dot_l=0.01*sqrt(C_K(c,mix_th))/stc*C_R(c,pri_th)*C_R(c,pri_th)*sqrt((2*(C_P(c,mix_th)-pres_vap))/(3*C_R(c,pri_th)))*fv;
dS[eqn]=0;
}
return m_dot_l;
}
DEFINE_SOURCE(vap_src,c,sec_th,dS,eqn)
{
Thread *mix_th,*pri_th;
real m_dot_v;
real stc;
real fv;
real pres_vap;
real pres_sat;
real pres_turb;
mix_th=THREAD_SUPER_THREAD(sec_th);
pri_th=THREAD_SUB_THREAD(mix_th,0);
fv=C_VOF(c,sec_th)*C_R(c,sec_th)/(C_VOF(c,sec_th)*C_R(c,sec_th)+C_VOF(c,pri_th)*C_R(c,pri_th));
stc=5.98633e-7*C_T(c,mix_th)*C_T(c,mix_th)-3.21398e-4*C_T(c,mix_th)+0.03015;
pres_sat=0.04782*C_T(c,mix_th)*C_T(c,mix_th)*C_T(c,mix_th)*C_T(c,mix_th)-4.33987*C_T(c,mix_th)*C_T(c,mix_th)*C_T(c,mix_th)-172.30441*C_T(c,mix_th)*C_T(c,mix_th)+27971.53714*C_T(c,mix_th)-734733.4355;
pres_turb=0.39*C_R(c,mix_th)*C_K(c,mix_th);
pres_vap=pres_sat+0.5*pres_turb;
if(C_P(c,mix_th)<=pres_vap)
{
m_dot_v=0.02*sqrt(C_K(c,mix_th))/stc*C_R(c,pri_th)*C_R(c,sec_th)*sqrt((2*(pres_vap-C_P(c,mix_th)))/(3*C_R(c,pri_th)))*(1-fv);
dS[eqn]=0;
}
else
{
m_dot_v=-0.01*sqrt(C_K(c,mix_th))/stc*C_R(c,pri_th)*C_R(c,pri_th)*sqrt((2*(C_P(c,mix_th)-pres_vap))/(3*C_R(c,pri_th)))*fv;
dS[eqn]=-0.01*sqrt(C_K(c,mix_th))/stc*C_R(c,pri_th)*C_R(c,pri_th)*sqrt((2*(C_P(c,mix_th)-pres_vap))/(3*C_R(c,pri_th)));
}
return m_dot_v;
}
DEFINE_SOURCE(enrg_src,c,mix_th,dS,eqn)
{
Thread *pri_th,*sec_th;
real m_dot;
real hc;
real source;
real stc;
real fv;
real pres_vap;
real pres_sat;
real pres_turb;
pri_th=THREAD_SUB_THREAD(mix_th,0);
sec_th=THREAD_SUB_THREAD(mix_th,1);
fv=C_VOF(c,sec_th)*C_R(c,sec_th)/(C_VOF(c,sec_th)*C_R(c,sec_th)+C_VOF(c,pri_th)*C_R(c,pri_th));
stc=5.98633e-7*C_T(c,mix_th)*C_T(c,mix_th)-3.21398e-4*C_T(c,mix_th)+0.03015;
pres_sat=0.04782*C_T(c,mix_th)*C_T(c,mix_th)*C_T(c,mix_th)*C_T(c,mix_th)-4.33987*C_T(c,mix_th)*C_T(c,mix_th)*C_T(c,mix_th)-172.30441*C_T(c,mix_th)*C_T(c,mix_th)+27971.53714*C_T(c,mix_th)-734733.4355;
pres_turb=0.39*C_R(c,mix_th)*C_K(c,mix_th);
pres_vap=pres_sat+0.5*pres_turb;
hc=-3.01379e-4*C_T(c,mix_th)*C_T(c,mix_th)*C_T(c,mix_th)+0.05766*C_T(c,mix_th)*C_T(c,mix_th)-4.80036*C_T(c,mix_th)+364.96837;
if(C_P(c,mix_th)<=pres_vap)
{
m_dot=-0.02*sqrt(C_K(c,mix_th))/stc*C_R(c,pri_th)*C_R(c,sec_th)*sqrt((2*(pres_vap-C_P(c,mix_th)))/(3*C_R(c,pri_th)))*(1-fv);
source=m_dot*hc;
dS[eqn]=0;
}
else
{
m_dot=0.01*sqrt(C_K(c,mix_th))/stc*C_R(c,pri_th)*C_R(c,pri_th)*sqrt((2*(C_P(c,mix_th)-pres_vap))/(3*C_R(c,pri_th)))*fv;
source=m_dot*hc;
dS[eqn]=0;
}
return source;
} |
-
|