| 查看: 1553 | 回復(fù): 15 | ||
[求助]
幫忙看下這個(gè)udf有問題嗎?初始化沒問題,點(diǎn)計(jì)算出錯(cuò)
|
||
|
幫忙看下這個(gè)udf有問題嗎?初始化沒問題,點(diǎn)計(jì)算出錯(cuò) #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) /*定義液相源項(xiàng)*/ { Thread *mix_th, *sec_th; /*混合相、第二相 定義計(jì)算區(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)); /*定義源項(xiàng)對(duì)質(zhì)量轉(zhuǎn)移偏導(dǎo),fabs為取絕對(duì)值*/ } 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ì)量源項(xiàng)對(duì)質(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; } |
金蟲 (正式寫手)
擊破長(zhǎng)空

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

金蟲 (正式寫手)
擊破長(zhǎng)空
|
這種情況下,建議你對(duì)計(jì)算的數(shù)據(jù)進(jìn)行檢查。 你可以采用程序截?cái)嗟男问,用Message插入可能出問題的位置前后,看是否能輸出語(yǔ)言與數(shù)據(jù),這樣可以檢測(cè)你的程序運(yùn)行到哪里出現(xiàn)了浮點(diǎn)錯(cuò)誤。 你還可以用Error語(yǔ)句來控制程序的停止,你可以讓程序運(yùn)行到任意位置停止,以便不讓程序在每一個(gè)控制容積里運(yùn)行。 出現(xiàn)浮點(diǎn)錯(cuò)誤的原因,是你計(jì)算出現(xiàn)極大或極小值,比0等等。 調(diào)試程序需要耐心與經(jīng)驗(yàn),祝你好運(yùn)! |

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

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

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

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料學(xué)碩333求調(diào)劑 +3 | 北道巷 2026-03-18 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 336求調(diào)劑 +5 | rmc8866 2026-03-21 | 5/250 |
|
|
[考研] 298求調(diào)劑 +4 | 上岸6666@ 2026-03-20 | 4/200 |
|
|
[考研] 316求調(diào)劑 +6 | 梁茜雯 2026-03-19 | 6/300 |
|
|
[考研] 301求調(diào)劑 +10 | yy要上岸呀 2026-03-17 | 10/500 |
|
|
[考研] 324分 085600材料化工求調(diào)劑 +4 | llllkkkhh 2026-03-18 | 4/200 |
|
|
[考研] 一志愿武理材料305分求調(diào)劑 +6 | 想上岸的鯉魚 2026-03-18 | 7/350 |
|
|
[考研] 330求調(diào)劑 +4 | 小材化本科 2026-03-18 | 4/200 |
|
|
[考研] 一志愿南京理工大學(xué)085701資源與環(huán)境302分求調(diào)劑 +4 | 葵梓衛(wèi)隊(duì) 2026-03-18 | 6/300 |
|
|
[考研] 288求調(diào)劑 +16 | 于海海海海 2026-03-19 | 16/800 |
|
|
[考研] 329求調(diào)劑 +9 | 想上學(xué)吖吖 2026-03-19 | 9/450 |
|
|
[考研] 281求調(diào)劑(0805) +14 | 煙汐憶海 2026-03-16 | 25/1250 |
|
|
[考研] 求調(diào)劑 +3 | 暗涌afhb 2026-03-16 | 3/150 |
|
|
[考研]
|
不想起名字112 2026-03-19 | 3/150 |
|
|
[考博] 申博26年 +3 | 八6八68 2026-03-19 | 3/150 |
|
|
[考研] 277調(diào)劑 +5 | 自由煎餅果子 2026-03-16 | 6/300 |
|
|
[考研] 085601求調(diào)劑 +4 | Du.11 2026-03-16 | 4/200 |
|
|
[考研] [導(dǎo)師推薦]西南科技大學(xué)國(guó)防/材料導(dǎo)師推薦 +3 | 尖角小荷 2026-03-16 | 6/300 |
|
|
[考研] 070300化學(xué)學(xué)碩求調(diào)劑 +6 | 太想進(jìn)步了0608 2026-03-16 | 6/300 |
|
|
[考研] 070303 總分349求調(diào)劑 +3 | LJY9966 2026-03-15 | 5/250 |
|