利用Turbo C 2.0編程軟件實(shí)現(xiàn)孔板流量計(jì)的計(jì)算
一、 C語(yǔ)言的起源 C 語(yǔ)言是1972年由美國(guó)的Dennis Ritchie設(shè)計(jì)發(fā)明的, 并首次在UNIX操作系統(tǒng) 的 DEC PDP-11 計(jì)算機(jī)上使用。 它由早期的編程語(yǔ)言 BCPL( Basic Combind Programming Language) 發(fā)展演變而來(lái)。在1970年, AT&T 貝爾實(shí)驗(yàn)室的 Ken Thompson根據(jù)BCPL語(yǔ)言設(shè)計(jì)出較先進(jìn)的并取名為 B的語(yǔ)言, 最后導(dǎo)了C 語(yǔ)言的問(wèn)世。 隨著微型計(jì)算機(jī)的日益普及, 出現(xiàn)了許多C 語(yǔ)言版本。由于沒(méi)有統(tǒng)一的標(biāo)準(zhǔn), 使得這些C 語(yǔ)言之間出現(xiàn)了一些不一致的地方。為了改變這種情況, 美國(guó)國(guó)家標(biāo)準(zhǔn) 研究所(ANSI)為C 語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn), 成為現(xiàn)行的C語(yǔ)言標(biāo)準(zhǔn)[1]。 二、C 語(yǔ)言的特點(diǎn) C 語(yǔ)言發(fā)展如此迅速, 而且成為最受歡迎的語(yǔ)言之一, 主要因?yàn)樗哂袕?qiáng)大的功能。許多著名的系統(tǒng)軟件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語(yǔ)言編寫(xiě)的。用C 語(yǔ)言加上一些匯編語(yǔ)言子程序, 就更能顯示C 語(yǔ)言的優(yōu)勢(shì)了, 象PC- DOS 、WORDSTAR等就是用這種方法編寫(xiě)的。歸納起來(lái)C 語(yǔ)言具有下列特點(diǎn): 1. C是中級(jí)語(yǔ)言 它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C 語(yǔ)言可以象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。 2. C是結(jié)構(gòu)式語(yǔ)言 結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化, 即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦? 便于使用、維護(hù)以及調(diào)試。C 語(yǔ)言是以函數(shù)形式提供給用戶(hù)的, 這些函數(shù)可方便的調(diào)用, 并具有多種循環(huán)、條件語(yǔ)句控制程序流向, 從而使程序完全結(jié)構(gòu)化。 3. C語(yǔ)言功能齊全 C 語(yǔ)言具有各種各樣的數(shù)據(jù)類(lèi)型, 并引入了指針概念, 可使程序效率更高。另外C 語(yǔ)言也具有強(qiáng)大的圖形功能, 支持多種顯示器和驅(qū)動(dòng)器。而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大, 可以實(shí)現(xiàn)決策目的。 4. C語(yǔ)言適用范圍大 C 語(yǔ)言還有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng), 如DOS、UNIX,也適用于 多種機(jī)型[1]。 三、 Turbo C 2.0集成編程環(huán)境 Turbo C 2.0最好安裝在硬盤(pán)特定的目錄下,如“D:\ TC(下依次為例),可再以章為單位建立下級(jí)目錄,如D1、D2。DOS下鍵入TC↙(回車(chē))第一次運(yùn)行。 進(jìn)入 Turbo C 2.0集成編程界面。(注:第一次進(jìn)入Turbo C 2.0集成編程界面時(shí),需要對(duì)Turbo C 2.0集成編程界面進(jìn)行必要的設(shè)置。按下F10鍵激活菜單,進(jìn)入Options子菜單,有7項(xiàng)。第4項(xiàng)Directories中。修改3處:“Include directories::D:\ TC \ TC20 \ INCLUDE”,“Library directories:D:\ TC \ TC20 \ LIB”,“Turbo C directory:D:\ TC \ TC20 ”。按ESC鍵退回。選擇“Save options”,在“Config File”窗口中選擇“D:\ TC \ TC20 \ TCCONFIG.TC “,覆蓋存盤(pán)。最后還提醒一點(diǎn):FILES中的Change dir(改變當(dāng)前目錄)中應(yīng)設(shè)置為當(dāng)前程序所在目錄。) 四、利用Turbo C 2.0編程軟件編寫(xiě)孔板流量計(jì)孔徑的計(jì)算程序 求:20℃情況下孔板節(jié)流孔直徑d20 已知條件: 質(zhì)量流量Qmax,Qcom,Qmin(kg/h);操作密度M (kg/m3); 動(dòng)力黏度N (mPa•s); 20℃情況下工藝管道內(nèi)徑D20(m); 正常操作壓力P MPa(G);正常操作溫度T (℃);管道材質(zhì)的線(xiàn)膨脹系數(shù)rD; 孔板材質(zhì)的線(xiàn)膨脹系數(shù)rd ; 通過(guò)計(jì)算后所得的數(shù)據(jù): 正常操作溫度T情況下工藝管道內(nèi)徑D(m);雷諾數(shù)ReD;計(jì)算差壓上限值CPcom 和CPmax; 計(jì)算A2[2] ;計(jì)算孔板流量計(jì)的流出系數(shù)C[2] 在知道了相應(yīng)的工藝條件后,下面我就利用Turbo C 2.0編程軟件編寫(xiě)孔板流量計(jì)孔徑的計(jì)算程序。首先,在開(kāi)始前,我還要先介紹一下Turbo C 2.0相關(guān)的幾個(gè)基本函數(shù),然后通過(guò)應(yīng)用這些函數(shù)來(lái)編寫(xiě)孔板流量計(jì)孔徑的計(jì)算程序。 1 數(shù)學(xué)函數(shù) 2 由上面的已知條件和Turbo C 2.0的數(shù)學(xué)函數(shù),通過(guò)Turbo C 2.0編程軟件編寫(xiě)孔板流量計(jì)孔徑的計(jì)算程序如下: #include main() { int n; const float pai=3.141592653289; const float b0=0.500000; const float C0=0.606000; float Qmax,Qcom,Qmin,M,N,D20,rD,rd,T=0.0,b,D,ReD,CPmax,CPcom,A2, L,C,C1,b1,b2,d,d20; printf("Qmax,Qcom,Qmin,M,N,D20,rD,rd,T=\n"); scanf("%f%f%f%f%e%f%e%e%f",&Qmax,&Qcom,&Qmin,&M,&N,&D20,&rD,&rd,&T); /*輸入已知的工藝參數(shù)*/ D=D20*(1+rD*(T-20)); ReD=4*Qcom/(3600*pai*N*D); CPcom=pow(4*Qcom*sqrt(1-pow(b0,4))/(3600*pai*b0*b0*D*D*C0),2)*1/(2*M); CPmax=CPcom*pow((Qmax/Qcom),2); A2=4*Qcom/(3600*pai*D*D*sqrt(2*25e3*M)); printf("CPcom=%6.10f\n",CPcom); printf("CPmax=%6.10f\n",CPmax); if(ReD>2e5) /*利用Turbo C的if判斷語(yǔ)句對(duì)雷諾數(shù)進(jìn)行判斷計(jì)算*/ if(ReD<2e5) L=0.0254/D; C=0.5961+ 0.0261*pow(b,2)- 0.216*pow(b,8)+ 0.000521*pow(((pow(10,6)*b)/ReD),0.7)+ ((0.0188+0.0063*pow((19000*b/ReD),0.8)))*pow(b,3.5)*pow((pow(10,6)/ReD),0.3)+ (0.043+0.080*exp(-10*L)-0.123*exp(-7*L))*(1-0.11*pow((19000*b/ReD),0.8))* (pow(b,4)/(1-pow(b,4)))- 0.031*(2*L/(1-b)-0.8*pow(2*L/(1-b),1.1))*pow(b,1.3); b1=pow(1+pow((C/A2),2),-0.25); C1=0.5961+ 0.0261*pow(b1,2)- 0.216*pow(b1,8)+ 0.000521*pow(((pow(10,6)*b1)/ReD),0.7)+ ((0.0188+0.0063*pow((19000*b1/ReD),0.8)))*pow(b1,3.5)*pow((pow(10,6)/ReD),0.3)+ (0.043+0.080*exp(-10*L)-0.123*exp(-7*L))*(1-0.11*pow((19000*b1/ReD),0.8))* (pow(b1,4)/(1-pow(b1,4)))- 0.031*(2*L/(1-b1)-0.8*pow(2*L/(1-b1),1.1))*pow(b1,1.3); b2=pow(1+pow((C1/A2),2),-0.25); for(n=2;fabs(b2-b1)>1.0e-10;n++) /*利用Turbo C的for循環(huán)語(yǔ)句進(jìn)行迭代計(jì)算*/ printf("C1=%6.10f\n",C1); /*輸出計(jì)算孔板流量計(jì)的流出系數(shù)C1*/ printf("b2=%6.10f\n\n",b2); /*輸出計(jì)算孔板流量計(jì)的直徑比b2*/ d=D*b2; d20=d/(1+rd*(T-20)); printf("d20=%6.10f\n\n",d20); /*輸出計(jì)算孔板流量計(jì)在20℃情況下孔板節(jié)流孔直徑d20*/ } 以上就是計(jì)算孔板流量計(jì)孔徑的計(jì)算程序。通過(guò)此程序可以很快的計(jì)算出孔板流量計(jì)在20℃情況下孔板節(jié)流孔孔徑的大小。 五 應(yīng) 用 實(shí)例一: ① 被測(cè)流體 :水; ② 流體流量:******流量Qmax=500t/h;正常流量Qcom=400t/h;最小流量Qmin=200t/h ③ 正常操作壓力:P=14.6 MPa(G); ④ 正常操作溫度:T=220 ℃; ⑤ 20℃情況下工藝管道內(nèi)徑:D20=233㎜; ⑥ 管道材質(zhì)的線(xiàn)膨脹系數(shù):rD=11.16e-6㎜/㎜•℃; ⑦ 孔板材質(zhì)的線(xiàn)膨脹系數(shù):rd=16.60e-6 ㎜/㎜•℃; ⑧ 操作密度:M=850.9082 (kg/m3); ⑨ 動(dòng)力黏度:N=0.124 (mPa•s) ; 按下Ctrl+F9運(yùn)行計(jì)算程序:(注意單位換算) 要求輸入已知的工藝參數(shù):Qmax, Qcom, Qmin, M, N, D20, rD, rd, T = 500000 400000 200000 850.9082 124e-6 .233 11.16e-6 16.60e-6 233↙(回車(chē)) 經(jīng)過(guò)程序的運(yùn)算得到如下的結(jié)果:(按下Alt+F5查看結(jié)果) CPcom=166259.4432591512 CPmax=257980.3725675625 C1=0.6023605334 b2=0.5024122240 d20=0.116966338 實(shí)例二: ① 測(cè)流體 :汽油; ② 流體流量:******流量Qmax=40000 kg/h;正常流量Qcom=31250 kg/h; 最小流量Qmin=20000 kg/h ③ 正常操作壓力:P=0.80 MPa(G); ④ 正常操作溫度:T=40 ℃; ⑤ 20℃情況下工藝管道內(nèi)徑:D20=102㎜; ⑥ 管道材質(zhì)的線(xiàn)膨脹系數(shù):rD=11.16e-6㎜/㎜•℃; ⑦ 孔板材質(zhì)的線(xiàn)膨脹系數(shù):rd=16.60e-6 ㎜/㎜•℃; ⑧ 操作密度:M=720 (kg/m3); ⑨ 動(dòng)力黏度:N=0.3000 (mPa•s) ; 按下Ctrl+F9運(yùn)行計(jì)算程序:(注意單位換算) 要求輸入已知的工藝參數(shù):Qmax, Qcom, Qmin, M, N, D20, rD, rd, T = 40000 31250 20000 720 300e-6 .102 11.16e-6 16.60e-6 40↙(回車(chē)) 經(jīng)過(guò)程序的運(yùn)算得到如下的結(jié)果:(按下Alt+F5查看結(jié)果) CPcom=31982.3496093750 CPmax=52399.8828125000 C1=0.6041094065 b2=0.5007327199 d20=0.051069240 實(shí)例三: ① 測(cè)流體 :堿液; ② 流體流量:******流量Qmax=6000 kg/h;正常流量Qcom=5000 kg/h; 最小流量Qmin=3000 kg/h ③ 正常操作壓力:P=0.65 MPa(G); ④ 正常操作溫度:T=40 ℃; ⑤ 20℃情況下工藝管道內(nèi)徑:D20=52㎜; ⑥ 管道材質(zhì)的線(xiàn)膨脹系數(shù):rD=11.16e-6㎜/㎜•℃; ⑦ 孔板材質(zhì)的線(xiàn)膨脹系數(shù):rd=16.60e-6 ㎜/㎜•℃; ⑧ 操作密度:M=1112 (kg/m3); ⑨ 動(dòng)力黏度:N=2.0000 (mPa•s) ; 按下Ctrl+F9運(yùn)行計(jì)算程序:(注意單位換算) 要求輸入已知的工藝參數(shù):Qmax, Qcom, Qmin, M, N, D20, rD, rd, T = 6000 5000 23000 1112 2000e-6 .052 11.16e-6 16.60e-6 40↙(回車(chē)) 經(jīng)過(guò)程序的運(yùn)算得到如下的結(jié)果:(按下Alt+F5查看結(jié)果) CPcom=7848.1137695312 CPmax=11301.2841796875 C1=0.6153961420 b2=0.5284164548 d20=0.027457322 六:結(jié)束語(yǔ) 通過(guò)上述實(shí)例對(duì)孔板流量計(jì)孔徑的計(jì)算程序進(jìn)一步的做了驗(yàn)證,可以得到如下結(jié)論:一,利用此程序可以精確的計(jì)算出不同介質(zhì)、不同溫度、不同流量等條件下的孔板流量計(jì)孔徑的大??;二:利用此程序計(jì)算孔板流量計(jì)孔徑的特點(diǎn)是快速,簡(jiǎn)單、計(jì)算量小;三:利用此程序?yàn)榻窈蟮脑O(shè)計(jì)提供了一套有序的計(jì)算方法。 |