| 查看: 1947 | 回复: 4 | ||||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||||
[交流]
UDF源项编写中如何调用壁面温度
|
||||
|
楼主新人,目前想写一个液滴的能量源项,但是在源项中不知道如何调用壁面温度,代码如下,可以编译,但无法运行。 DEFINE_SOURCE(liq_enrg_src, c, sec_th, dS, eqn) { Thread *mix_th, *pri_th, *t; Domain *domain=Get_Domain(1); int zone_ID=18;/*wall ID*/ real m_dot_d=0; real kd=0; real Cnt=0; real a; real b; real d=0; real vg=0; real Reg=0; real tr=0; real Enrg_Source=0; face_t f; mix_th = THREAD_SUPER_THREAD(sec_th); pri_th = THREAD_SUB_THREAD(mix_th,0); t=Lookup_Thread(domain,zone_ID); begin_f_loop(f, t) { Cnt=(1.0-C_VOF(c,pri_th))*C_R(c,sec_th); a=Cnt/C_R(c,pri_th); if(a<0.3) { kd=0.18*sqrt(0.026/(C_R(c,pri_th)*0.008)); } else { kd=pow(a,-0.85)*sqrt(0.026/(C_R(c,pri_th)*0.008)); } m_dot_d=kd*Cnt; dS[eqn]=0; vg=sqrt(pow(C_U(c,pri_th),2)+pow(C_V(c,pri_th),2)+pow(C_W(c,pri_th),2)); Reg=C_R(c,pri_th)*vg*0.008/C_MU_EFF(c,pri_th); d=0.00796*0.026/C_R(c,pri_th)/pow(C_VOF(c,pri_th)*vg,2)*pow(Reg,2/3)*pow(C_R(c,pri_th)/C_R(c,sec_th),-1/3)*pow(C_MU_EFF(c,pri_th)/C_MU_EFF(c,sec_th),2/3); tr=3.14*sqrt(C_R(c,sec_th)*d*d*d/16/0.026); b=pow(18*pow(C_K_L(c,pri_th)*tr,3)*C_R(c,pri_th)*LAT_HT*pow(m_dot_d,5)/pow(C_R(c,sec_th),4)/C_MU_EFF(c,pri_th)/(1.0-C_VOF(c,pri_th))/(F_T(f,t)-T_SAT),0.25); Enrg_Source=(F_T(f,t)-T_SAT)*b*4/0.008; if(C_T(c,mix_th)<T_SAT) { return 0; } else { return Enrg_Source; } } |
» 收录本帖的淘帖专辑推荐
博士科研新路历程 |
» 猜你喜欢
申请26博士
已经有5人回复
职称评审没过,求安慰
已经有22人回复
垃圾破二本职称评审标准
已经有15人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有20人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
聘U V热熔胶研究人员
已经有10人回复
求助文献
已经有3人回复
投稿返修后收到这样的回复,还有希望吗
已经有8人回复
三无产品还有机会吗
已经有6人回复
3楼2016-12-27 23:44:14
2楼2016-12-27 16:16:32
4楼2016-12-28 10:46:57
|
这个是我重新写的,不知是否已经实现我所说的功能,另我这个源项加进去是要模拟液滴与壁面之间的对流换热,所以我的想法是给壁面液体设置一个正能量源项,给气体设置一个负的能量源项。 DEFINE_SOURCE(liq_enrg_src, c, sec_th, dS, eqn) { Thread *mix_th, *pri_th, *t; Domain *domain=Get_Domain(1); int zone_ID=18;/*wall ID*/ real m_dot_d=0; real kd; real Cnt; real a; real Area[ND_ND]; real b; real d; real vg; real Reg; real tr; real Enrg_Source=0; face_t f; mix_th = THREAD_SUPER_THREAD(sec_th); pri_th = THREAD_SUB_THREAD(mix_th,0); t=Lookup_Thread(domain,zone_ID); begin_f_loop(f, t) { if(c == F_C0(f,t)) { Cnt=(1.0-C_VOF(c,pri_th))*C_R(c,sec_th); a=Cnt/C_R(c,pri_th); if(a<0.3) { kd=0.18*sqrt(0.026/(C_R(c,pri_th)*0.008)); } else { kd=pow(a,-0.85)*sqrt(0.026/(C_R(c,pri_th)*0.008)); } m_dot_d=kd*Cnt; vg=sqrt(pow(C_U(c,pri_th),2)+pow(C_V(c,pri_th),2)+pow(C_W(c,pri_th),2)); Reg=C_R(c,pri_th)*vg*0.008/C_MU_L(c,pri_th); d=0.00796*0.026/C_R(c,pri_th)/pow(C_VOF(c,pri_th)*vg,2)*pow(Reg,2/3)*pow(C_R(c,pri_th)/C_R(c,sec_th),-1/3)*pow(C_MU_L(c,pri_th)/C_MU_L(c,sec_th),2/3); tr=3.14*sqrt(C_R(c,sec_th)*d*d*d/16/0.026); b=pow(18*pow(C_K_L(c,pri_th)*tr,3)*C_R(c,pri_th)*LAT_HT*pow(m_dot_d,5)/pow(C_R(c,sec_th),4)/C_MU_EFF(c,pri_th)/(1.0-C_VOF(c,pri_th))/(F_T(f,t)-T_SAT),0.25); F_AREA(Area,f,t); Enrg_Source=(F_T(f,t)-T_SAT)*b/C_VOLUME(c,mix_th)/(1-C_VOF(c, pri_th))*NV_MAG(Area); dS[eqn]=0; //Enrg_Source=2; return Enrg_Source; } } end_f_loop(f, t) } |
5楼2016-12-28 13:28:51













回复此楼