| 5 | 1/1 | 返回列表 |
| 查看: 1568 | 回復(fù): 15 | ||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | ||
[求助]
幫忙看下這個udf有問題嗎?初始化沒問題,點計算出錯
|
||
|
幫忙看下這個udf有問題嗎?初始化沒問題,點計算出錯 #include "udf.h" /*包括常規(guī)宏*/ #include "sg_mphase.h" /*包括體積分數(shù)宏*/ #define LAT_HT 2260000 /*定義水蒸汽潛熱*/ #define pi 3.1415 /*圓周率常數(shù)*/ #define R 8314 /*gas constant 8.314j/mol.K*/ #define moleweight 0.018 /*SI unit water mole weight 0.018kg/mol */ #define A 7.19621 #define B 1730.63 #define C 233.426 DEFINE_SOURCE(liq_src, cell, pri_th, dS, eqn) /*定義液相源項*/ { Thread *mix_th, *sec_th; /*混合相、第二相 定義計算區(qū)域指針*/ real m_dot_l; /*蒸發(fā)冷凝速率 定義液相質(zhì)量轉(zhuǎn)移*/ real P_SAT ; mix_th = THREAD_SUPER_THREAD(pri_th); /*指向混合區(qū)的主相即液相的指針*/ sec_th = THREAD_SUB_THREAD(mix_th, 1); /* 指向單相控制區(qū)的氣相的指針*/ P_SAT=exp(A-B/(C_T(cell,pri_th)+C-273.15))*1e3; /*定義飽和蒸汽壓與液相溫度的關(guān)系式,即antoine公式*/ if(C_P(cell, sec_th)< P_SAT) {m_dot_l = -(P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th)); /*定義液相向氣相轉(zhuǎn)移的速率,如果氣相的壓力小于一定溫度下的飽和蒸汽壓,液相向氣相發(fā)生質(zhì)量轉(zhuǎn)移*/ dS[eqn]= -2*pi*R*sqrt(moleweight)*(P_SAT-P_SAT*C_T(cell,pri_th)*B/pow((C_T(cell,pri_th)+C-273.15),2)-C_P(cell, sec_th)); /*定義源項對質(zhì)量轉(zhuǎn)移偏導(dǎo),fabs為取絕對值*/ } else {m_dot_l = (P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th)); /*定義液相向氣相轉(zhuǎn)移的速率,如果氣相壓力大于一定溫度下的飽和蒸汽壓,氣相向液相發(fā)生質(zhì)量轉(zhuǎn)移*/ dS[eqn] = 0; /*由于氣相向液相轉(zhuǎn)移,所以液相的質(zhì)量源項對質(zhì)量轉(zhuǎn)移的偏導(dǎo)為零*/ } return m_dot_l; } DEFINE_SOURCE(vap_src, cell, sec_th, dS, eqn) { Thread *mix_th, *pri_th; real m_dot_v; real P_SAT ; mix_th = THREAD_SUPER_THREAD(sec_th); pri_th = THREAD_SUB_THREAD(mix_th, 0); P_SAT=exp(A-B/(C_T(cell,pri_th)+C-273.15))*1e3; if(C_P(cell, sec_th)< P_SAT) { m_dot_v = (P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th)); dS[eqn] =0; } else {m_dot_v = -(P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th)); dS[eqn]=-2*pi*R*sqrt(moleweight)*(P_SAT-P_SAT*C_T(cell,pri_th)*B/pow((C_T(cell,pri_th)+C-273.15),2)-C_P(cell, sec_th)); } return m_dot_v; } DEFINE_SOURCE(enrg_src, cell, mix_th, dS, eqn) { Thread *pri_th,*sec_th; real m_dot; real P_SAT; pri_th=THREAD_SUB_THREAD(mix_th,0); sec_th=THREAD_SUB_THREAD(mix_th,1); P_SAT=exp(A-B/(C_T(cell,pri_th)+C-273.15))*1e3; if(C_P(cell, sec_th)< P_SAT) { m_dot =- (P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th)); dS[eqn]=-2*pi*R*sqrt(moleweight)*(P_SAT-P_SAT*C_T(cell,pri_th)*B/pow((C_T(cell,pri_th)+C-273.15),2)-C_P(cell, sec_th)); } else { m_dot = (P_SAT-C_P(cell,sec_th))*sqrt(moleweight)*(2*pi*R*C_T(cell,pri_th)); dS[eqn]=2*pi*R*sqrt(moleweight)*(P_SAT-P_SAT*C_T(cell,pri_th)*B/pow((C_T(cell,pri_th)+C-273.15),2)-C_P(cell, sec_th)); } return LAT_HT*m_dot; } |
金蟲 (正式寫手)
擊破長空
|
這種情況下,建議你對計算的數(shù)據(jù)進行檢查。 你可以采用程序截斷的形式,用Message插入可能出問題的位置前后,看是否能輸出語言與數(shù)據(jù),這樣可以檢測你的程序運行到哪里出現(xiàn)了浮點錯誤。 你還可以用Error語句來控制程序的停止,你可以讓程序運行到任意位置停止,以便不讓程序在每一個控制容積里運行。 出現(xiàn)浮點錯誤的原因,是你計算出現(xiàn)極大或極小值,比0等等。 調(diào)試程序需要耐心與經(jīng)驗,祝你好運! |

金蟲 (正式寫手)
擊破長空

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 299求調(diào)劑 +8 | 15188958825 2026-03-25 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 一志愿北京理工大學(xué)本科211材料工程294求調(diào)劑 +6 | mikasa的圍巾 2026-03-28 | 6/300 |
|
|
[考研] 332求調(diào)劑 +4 | @MZB382400 2026-03-28 | 4/200 |
|
|
[考研] 0856材料化工調(diào)劑 總分330 +11 | zhubinhao 2026-03-27 | 11/550 |
|
|
[考研] 311求調(diào)劑 +9 | lin0039 2026-03-26 | 9/450 |
|
|
[考研] 一志愿南京航空航天大學(xué)材料學(xué)碩求調(diào)劑 +3 | @taotao 2026-03-28 | 3/150 |
|
|
[考研] 352分 化工與材料 +5 | 海納百川Ly 2026-03-27 | 5/250 |
|
|
[考研] 086000調(diào)劑 +3 | 7901117076 2026-03-26 | 3/150 |
|
|
[考研] 266分求材料化工冶金礦業(yè)等專業(yè)的調(diào)劑 +4 | 哇呼哼呼哼 2026-03-26 | 4/200 |
|
|
[考研] 材料292調(diào)劑 +12 | 橘頌思美人 2026-03-23 | 12/600 |
|
|
[考研] 298調(diào)劑 +3 | jiyingjie123 2026-03-27 | 3/150 |
|
|
[考研] 0703化學(xué)一志愿南京師范大學(xué)303求調(diào)劑 +3 | zzffylgg 2026-03-24 | 3/150 |
|
|
[考研] 求調(diào)劑323材料與化工 +7 | 1124361 2026-03-24 | 7/350 |
|
|
[考研] 281求調(diào)劑 +6 | Koxui 2026-03-24 | 7/350 |
|
|
[考研] 290分調(diào)劑求助 +3 | 吉祥止止陳 2026-03-25 | 3/150 |
|
|
[考研] 材料與化工304求B區(qū)調(diào)劑 +3 | 邱gl 2026-03-25 | 3/150 |
|
|
[考研] 302求調(diào)劑 +4 | 錦衣衛(wèi)藤椒 2026-03-25 | 4/200 |
|
|
[考研] 293求調(diào)劑 +7 | 加一一九 2026-03-24 | 7/350 |
|
|
[考研] 289材料與化工(085600)B區(qū)求調(diào)劑 +4 | 這么名字咋樣 2026-03-22 | 5/250 |
|
|
[考研] 一志愿河北工業(yè)大學(xué)0817化工278分求調(diào)劑 +7 | jhybd 2026-03-23 | 12/600 |
|