资源描述:
《水沸腾算例UDF的详细解析.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、【强烈推荐】水沸腾算例UDF的详细解析【强烈推荐】水沸腾算例UDF的详细解析#include"udf.h" /*包括常规宏*/#include"sg_mphase.h" /*包括体积分数宏*/#defineT_SAT373 /*定义饱和温度*/#defineLAT_HT1.e3 /*定义水蒸汽潜热*/DEFINE_SOURCE(liq_src,cell,pri_th,dS,eqn) /*定义液相源项*/{ Thread*mix_th,*sec_th; /*混合相、第二相定义计算区域指针*/ realm_dot_l;
2、 /*蒸发冷凝速率 定义液相质量转移*/ mix_th=THREAD_SUPER_THREAD(pri_th); /*指向混合区的主相即液相的指针*/ sec_th=THREAD_SUB_THREAD(mix_th,1);/*指向单相控制区的气相的指针*/ if(C_T(cell,mix_th)>=T_SAT){ m_dot_l=-0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)* fabs(C_T(cell,pri_th)-T_SAT)/T_SAT; /*如果液相单元的温度
3、高于蒸发温度,液相向气相的质量转移*/ dS[eqn]=-0.1*C_R(cell,pri_th)* fabs(C_T(cell,pri_th)-T_SAT)/T_SAT;/*定义源项对质量转移偏导*/ } else{ m_dot_l=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.;/*于是气相向液相转移,所以液相的质量源项对质量转移的偏导为零*/
4、} returnm_dot_l;}DEFINE_SOURCE(vap_src,cell,sec_th,dS,eqn)/*定义气相源项*/{ Thread*mix_th,*pri_th; /*混合相、第一相*/ realm_dot_v; mix_th=THREAD_SUPER_THREAD(sec_th); /*指向混合区的第二相即气相的指针*/ pri_th=THREAD_SUB_THREAD(mix_th,0); /*指向单相控制区的液相的指针,液相为主相*/ if(C_T(cell,mix_th)>=T_SAT){ m_d
5、ot_v=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.; /*由于是液相向气相转移,所以气相的质量源项对来自液相的质量转移的偏导为零*/ } else{ m_dot_v=-0.1*C_VOF(cell,sec_th)*C_R(cell,sec_th)* fabs(T_SAT-C
6、_T(cell,mix_th))/T_SAT; dS[eqn]=-0.1*C_R(cell,sec_th)* fabs(C_T(cell,sec_th)-T_SAT)/T_SAT; /*由于是气相向液相转移,所以气相的质量源项对自身的质量转移的偏导不为零*/ } returnm_dot_v;}DEFINE_SOURCE(enrg_src,cell,mix_th,dS,eqn) /*混合模型能量源项*/{ Thread*pri_th,*sec_th; realm_dot; pri_th=THREAD_SUB_THREAD(
7、mix_th,0); /*指向混合区的液相的指针*/ sec_th=THREAD_SUB_THREAD(mix_th,1); /*指向混合区的气相的指针*/ if(C_T(cell,mix_th)>=T_SAT){ m_dot=-0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)* fabs(C_T(cell,pri_th)-T_SAT)/T_SAT; /*如果混合区的单元温度高于蒸发温度。质量转移由液相向气相转移,吸热,质量转移量前有负号*/ dS[eqn]=-0.1*C_VOF(cell
8、,pri_th)*C_R(cell,pri_th)/T_SAT; }