压力控制的相变UDF.docx
《压力控制的相变UDF.docx》由会员分享,可在线阅读,更多相关《压力控制的相变UDF.docx(4页珍藏版)》请在冰点文库上搜索。
#include"udf.h"
#include"sg_mphase.h"
#defineLAT_HT1.e3
DEFINE_SOURCE(air_src,cell,pri_th,dS,eqn) /*主相湿空气质量输运源项*/
{
Thread*mix_th,*sec_th; /*计算区域指针*/
realm_v; /*主相质量输运量*/
realmfv; /*湿空气中水蒸气的质量分数*/
realt_air; /*湿空气的温度*/
realhr; /*湿空气的含湿量*/
realpa; /*湿空气的总压力*/
realpa_v; /*湿空气的水蒸气分压*/
realmfs; /*licl溶液的质量分数*/
realt_sol;/*licl溶液的温度*/
realps_w; /*licl溶液的水蒸气分压*/
mix_th=THREAD_SUPER_THREAD(pri_th); /*混合区液相指针*/
sec_th=THREAD_SUB_THREAD(mix_th,1); /*单相区气相指针*/
mfv=C_YI(cell,pri_th,0); /*获得湿空气中水蒸气的质量分数,注意species列表中的顺序,水是第一个时序号才是0,dS要对该项求导*/
hr=mfv/(1-mfv); /*由湿空气中水蒸气的质量分数算到湿空气的含湿量*/
pa=ABS_P(C_P(cell,pri_th),op_pres); /*获取湿空气的总压力*/
pa_v=(pa*hr)/(hr+0.622); /*获取湿空气水蒸气分压*/
/* t_air=C_T(cell,pri_th); /*湿空气的温度,单位为摄氏度*/
mfs=C_YI(cell,sec_th,0); /*获得溶液中licl的质量分数,注意species列表中的顺序,licl是第一个时序号才是0,*/
t_sol=C_T(cell,sec_th); /*溶液的温度,单位为摄氏度*/
ps_w=1.1491997+0.11242725*t_sol-0.06183172*mfs+0.0014521543*pow(t_sol,2)+0.0011080673*pow(mfs,2)-0.0035782429*t_sol*mfs; /*溶液水蒸气分压*/
if(pa_v>ps_w) /*如果湿空气的水蒸气分压大于溶液的水蒸气分压,则水蒸气向溶液移动,冷凝放热,属于除湿过程*/
{
m_v=0.00165*(((pa*mfv/(1-mfv))/(mfv/(1-mfv)+0.622))-ps_w); /*masstransferrateindehumidifier*/
dS=0.00165*((pa*(0.378*mfv+0.622)-pa*mfv*0.378)/pow(0.378*mfv+0.622,2)); /*湿空气质量源项对湿空气的质量转移求导,对湿空气中水蒸气质量分数mfv求导*/
}
elseif(pa_v {
m_v=-0.00165*(((pa*mfv/(1-mfv))/(mfv/(1-mfv)+0.622))-ps_w); /*masstransferrateindehumidifier*/
dS=0; /*水蒸气由溶液向湿空气转移,湿空气质量源项对质量转移的偏导为0*/
}
returnm_v;
}
DEFINE_SOURCE(sol_src,cell,sec_th,dS,eqn) /*次相氯化锂溶液质量输运源项*/
{
Thread*mix_th,*pri_th;
realm_s; /*次相溶液相质量输运量*/
realmfv;
realt_air; /*湿空气的温度*/
realhr; /*湿空气的含湿量*/
realpa; /*湿空气的总压力*/
realpa_v; /*湿空气的水蒸气分压*/
realmfs; /*licl溶液的质量分数*/
realt_sol;/*licl溶液的温度*/
realps_w; /*licl溶液的水蒸气分压*/
mix_th=THREAD_SUPER_THREAD(sec_th); /*混合区液相指针*/
pri_th=THREAD_SUB_THREAD(mix_th,0); /*单相区气相指针*/
mfv=C_YI(cell,pri_th,0); /*获得湿空气中水蒸气的质量分数,注意species列表中的顺序,水是第一个时序号才是0*/
hr=mfv/(1-mfv); /*由湿空气中水蒸气的质量分数算到湿空气的含湿量*/
pa=ABS_P(C_P(cell,pri_th),op_pres); /*获取湿空气的总压力*/
pa_v=(pa*hr)/(hr+0.622); /*获取湿空气水蒸气分压*/
/* t_air=C_T(cell,pri_th); /*湿空气的温度,单位为摄氏度*/
mfs=C_YI(cell,sec_th,0); /*获得溶液中licl的质量分数,注意species列表中的顺序,licl是第一个时序号才是0,dS要对该项求导*/
t_sol=C_T(cell,sec_th); /*溶液的温度,单位为摄氏度*/
ps_w=1.1491997+0.11242725*t_sol-0.06183172*mfs+0.0014521543*pow(t_sol,2)+0.0011080673*pow(mfs,2)-0.0035782429*t_sol*mfs; /*溶液水蒸气分压*/
if(pa_v>ps_w) /*如果湿空气的水蒸气分压大于溶液的水蒸气分压,则水蒸气向溶液移动,冷凝放热,属于除湿过程*/
{
m_s=0.00165*(((pa*mfv/(1-mfv))/(mfv/(1-mfv)+0.622))-ps_w); /*masstransferrateindehumidifier*/
dS=0; /*水蒸气由湿空气转移到溶液,溶液的质量源项对质量转移的偏导为0*/
}
elseif(pa_v {
m_s=-0.00165*(((pa*mfv/(1-mfv))/(mfv/(1-mfv)+0.622))-ps_w); /*masstransferrateindehumidifier*/
dS=-0.00165*(0.06183172-0.0022161346*mfs+0.0035782429*t_sol);/*dS:
溶液的质量源项对质量转移求偏导,对溶液中水蒸气质量分数mfs求导*/
}
returnm_s;
}
DEFINE_SOURCE(enrg_src,cell,mix_th,dS,eqn) /*混合相能量方程输运源项*/
{
Thread*pri_th,*sec_th;
realm_e; /*相变质量*/
realmfv;
realt_air; /*湿空气的温度*/
realhr; /*湿空气的含湿量*/
realpa; /*湿空气的总压力*/
realpa_v; /*湿空气的水蒸气分压*/
realmfs; /*licl溶液的质量分数*/
realt_sol;/*licl溶液的温度*/
realps_w; /*licl溶液的水蒸气分压*/
pri_th=THREAD_SUB_THREAD(mix_th,0); /*混合区液相指针*/
sec_th=THREAD_SUB_THREAD(mix_th,1); /*单相区气相指针*/
mfv=C_YI(cell,pri_th,0); /*获得湿空气中水蒸气的质量分数,注意species列表中的顺序,水是第一个时序号才是0*/
hr=mfv/(1-mfv); /*由湿空气中水蒸气的质量分数算到湿空气的含湿量*/
pa=ABS_P(C_P(cell,pri_th),op_pres); /*获取湿空气的总压力*/
pa_v=(pa*hr)/(hr+0.622); /*获取湿空气水蒸气分压*/
/* t_air=C_T(cell,pri_th); /*湿空气的温度,单位为摄氏度*/
mfs=C_YI(cell,sec_th,0); /*获得溶液中licl的质量分数,注意species列表中的顺序,licl是第一个时序号才是0*/
t_sol=C_T(cell,sec_th); /*溶液的温度,单位为摄氏度*/
ps_w=1.1491997+0.11242725*t_sol-0.06183172*mfs+0.0014521543*pow(t_sol,2)+0.0011080673*pow(mfs,2)-0.0035782429*t_sol*mfs; /*溶液水蒸气分压*/
if(pa_v>ps_w) /*如果湿空气的水蒸气分压大于溶液的水蒸气分压,则水蒸气向溶液移动,冷凝放热,属于除湿过程*/
{
m_e=0.00165*(((pa*mfv/(1-mfv))/(mfv/(1-mfv)+0.622))-ps_w); /*masstransferrateindehumidifier*/
dS=0;
}
elseif(pa_v {
m_e=-0.00165*(((pa*mfv/(1-mfv))/(mfv/(1-mfv)+0.622))-ps_w); /*masstransferrateindehumidifier*/
dS=0;
}
returnLAT_HT*m_e;
}