| 5 | 1/1 | 返回列表 |
| 查看: 1558 | 回復(fù): 15 | ||
| 當(dāng)前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | ||
[求助]
幫忙看下這個udf有問題嗎?初始化沒問題,點計算出錯
|
||
|
幫忙看下這個udf有問題嗎?初始化沒問題,點計算出錯 #include "udf.h" /*包括常規(guī)宏*/ #include "sg_mphase.h" /*包括體積分?jǐn)?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ù)進(jìn)行檢查。 你可以采用程序截斷的形式,用Message插入可能出問題的位置前后,看是否能輸出語言與數(shù)據(jù),這樣可以檢測你的程序運行到哪里出現(xiàn)了浮點錯誤。 你還可以用Error語句來控制程序的停止,你可以讓程序運行到任意位置停止,以便不讓程序在每一個控制容積里運行。 出現(xiàn)浮點錯誤的原因,是你計算出現(xiàn)極大或極小值,比0等等。 調(diào)試程序需要耐心與經(jīng)驗,祝你好運! |

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

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 070300,一志愿北航320求調(diào)劑 +3 | Jerry0216 2026-03-22 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 0703 調(diào)劑 +3 | 我可以上岸的對?/a> 2026-03-16 | 6/300 |
|
|
[考研]
|
酥酥魚.. 2026-03-21 | 4/200 |
|
|
[考研] 一志愿中南大學(xué)化學(xué)學(xué)碩0703總分337求調(diào)劑 +4 | niko- 2026-03-22 | 4/200 |
|
|
[考研] 289材料與化工(085600)B區(qū)求調(diào)劑 +3 | 這么名字咋樣 2026-03-22 | 4/200 |
|
|
[考研] 08工科 320總分 求調(diào)劑 +11 | 梨花珞晚風(fēng) 2026-03-17 | 11/550 |
|
|
[考研] 一志愿中南化學(xué)(0703)總分337求調(diào)劑 +9 | niko- 2026-03-19 | 10/500 |
|
|
[考研] 275求調(diào)劑 +6 | shansx 2026-03-22 | 8/400 |
|
|
[考研] 260求調(diào)劑 +3 | 朱芷琳 2026-03-20 | 4/200 |
|
|
[考研] 生物學(xué)調(diào)劑 +5 | Surekei 2026-03-21 | 5/250 |
|
|
[考研] 384求調(diào)劑 +3 | 子系博 2026-03-22 | 4/200 |
|
|
[基金申請] 山東省面上項目限額評審 +4 | 石瑞0426 2026-03-19 | 4/200 |
|
|
[考研] 資源與環(huán)境 調(diào)劑申請(333分) +5 | holy J 2026-03-21 | 5/250 |
|
|
[考研] 材料學(xué)碩301分求調(diào)劑 +7 | Liyouyumairs 2026-03-21 | 7/350 |
|
|
[考研] 274求調(diào)劑 +10 | S.H1 2026-03-18 | 10/500 |
|
|
[考研] 330求調(diào)劑 +4 | 小材化本科 2026-03-18 | 4/200 |
|
|
[考研] A區(qū)線材料學(xué)調(diào)劑 +5 | 周周無極 2026-03-20 | 5/250 |
|
|
[考研] 一志愿吉林大學(xué)材料學(xué)碩321求調(diào)劑 +11 | Ymlll 2026-03-18 | 15/750 |
|
|
[考研] 【同濟(jì)軟件】軟件(085405)考研求調(diào)劑 +3 | 2026eternal 2026-03-18 | 3/150 |
|
|
[考研] 考研求調(diào)劑 +3 | 橘頌. 2026-03-17 | 4/200 |
|