资源描述:
《蒸发过程udf程序flue nt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Fluent蒸发相变模拟UDF经过几天的不懈折腾,终于找到一个较为完成的用于fluent蒸发相变模拟的udf的一个程序。而且注释相对完整。#include"udf.h" //包括常规宏#include"sg_mphase.h" //包括体积分数宏CVOF(C,T)#defineT_SAT373 //定义蒸发温度100℃#defineLAT_HT1.e3 //定义蒸发潜热J/Kg DEFINE_SOURCE(liq_src,cell,pri_th,dS,eqn) //液相质量源项UDF{ Thread*mix_th,*sec_th; //定义计算区线
2、指针 realm_dot_l; //定义液相质量转移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) //如果液相单元的温度高于蒸发温度,液相向气相的质量质量转移 { m_dot_l=-0.1*C_VOF(cell,pri_th)*C_R(cell,pri_th)*fabs(C_T
3、(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 { 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)//气相质量源项UDF{ 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) //如果混合区单元
5、的温度高于蒸发温度,液相向气相的质量质量转移 { m_dot_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_T(cell,mix_th))/T_SAT;
6、 //如果指向混合区的单元温度小于蒸发温度,气相向液相的质量转移,气相失 dS[eqn]=-0.1*C_R(cell,sec_th)*fabs(C_T(cell,mix_th)-T_SAT)/T_SAT; //由于是气相向液相转移,所以气相的质量源项对自身的质量转移的偏导不为零 } returnm_dot_v;}DEFINE_SOURCE(enrg_src,cell,mix_th,dS,eqn)//混合模型能量源项UDF{ Thread*pri_th,*sec_th; realm_dot; pri_th=THREAD_S
7、UB_THREAD(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,mix_th)-T_SAT)/T_SAT; dS[eqn]=-0.1*C_VOF(cell,pri_th)*
8、C_R(c