| 4 | 1/1 | 返回列表 |
| 查看: 1064 | 回復(fù): 3 | ||
jimoxingzhe新蟲 (初入文壇)
|
[求助]
求組大俠給我看看鄙人編寫的UDF,感激不盡……小弟沒有金幣啊嗚嗚
|
|
#include "udf.h" #include "sg_mphase.h" #define A 16.0114 #define B 3456.80 #define C -8.67 #define L 0.00000125.0 #define POP 101325.0 #define K 0.1 #define C10H22_NUM 0 #define LIQ_PHASE_ID 0 #define GAS_PHASE_ID 1 DEFINE_SOURCE(liq_zhengkuiwan,c,liq_thread,dS,eqn) { int i; cell_t c; Thread*gas_thread,*mixture_thread; Domain*mixture_domain,*liq_domain,*gas_domain; Material *gas_material,*species; real c10h22_mole_fract,P_c10h22,total_mole,Mw[MAX_SPE_EQNS]; mixture_domain=Get_Domain(1); liq_domain=DOMAIN_SUB_DOMAIN(mixture_domain,LIQ_PHASE_ID); gas_domain=DOMAIN_SUB_DOMAIN(mixture_domain,GAS_PHASE_ID); //感覺沒什么用,第一次編寫udf就都寫上了 mixture_thread=THREAD_SUPER_THREAD(liq_thread); gas_thread=THREAD_SUB_THREAD(mixture_thread,GAS_PHASE_ID); gas_material=THREAD_MATERIAL(gas_thread); real m_dot_liq,c_s,c_g,m_kuosan; real x[ND_ND],y=x[1]; real ps,v; //ps為液滴表面飽和壓力 v為單個(gè)網(wǎng)格的體積 thread_loop_c(mixture_thread,mixture_domain) //在整個(gè)二維控制區(qū)查詢混合物的單元線 { begin_c_loop(c,mixture_thread) //在單元線上查詢單元 {if(0.01<=C_VOF(c,liq_thread)&&C_VOF(c,liq_thread)<1.0) //查詢氣液界面處的網(wǎng)格,我選了0.01到1之間,因?yàn)楫?dāng)液滴的體積分?jǐn)?shù)小于0.01時(shí)會(huì)產(chǎn)生沸騰蒸發(fā) { ps=133*exp(A-B/(C_T(c,liq_th)+C); //Antoine蒸氣壓方程求得液滴表面飽和壓力ps c_s=ps/(C_RGAS(c,gas_thread)*C_T(c,liq_thread)); //求得液滴表面濃度 C_RGAS(c,gas_thread)氣體常數(shù)這樣可以嗎??也可以直接輸入8.3134 total_mole=0; mixture_species_loop(gas_material,species,i) { Mw=MATERIAL_PROP(species,PROP_mwi); total_mole+=C_YI(c,gas_thread,i)/Mw; //求得氣液界面網(wǎng)格內(nèi)氣體的總摩爾數(shù) } c10h22_mole_fract=(C_YI(c,gas_thread,C10H22_NUM)/Mw[C10H22_NUM])/total_mole; //求得氣液界面內(nèi)c10h22的摩爾分?jǐn)?shù) P_c10h22=POP*c10h22_mole_fract; //求得氣液界面內(nèi)c10h22的分壓 c_g=P_c10h22/(C_RGAS(c,gas_thread)*C_T(c,liq_thread)); //求得氣液界面網(wǎng)格內(nèi)氣體中c10h22的濃度 m_kuosan=c_s-c_g; //氣液界面網(wǎng)格內(nèi)液滴表面c10h22濃度和氣體中c10h22濃度的差值,從而產(chǎn)生擴(kuò)散 v=L*L*L; m_dot_liq=142*K*y*m_kuosan*C_DIFF_EFF(c,gas_thread,i)/v*C_VOF(c,liq_th)*pow(1-C_VOF(c,liq_thread),2.0)*(1-(1-C_VOF(c,liq_thread))*c10h22_mole_fract); dS[eqn]= //最終源項(xiàng) dS還沒有求,比較麻煩 } } end_c_loop(c,mixture_thread) return m_dot_liq; } [ Last edited by jimoxingzhe on 2013-4-9 at 16:14 ] |
新蟲 (初入文壇)
新蟲 (初入文壇)
用戶注銷 (著名寫手)
| 4 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|