邢隆飛,張?jiān)?,于海英,郝俊?/p>
(山西大學(xué) 化學(xué)化工學(xué)院,山西 太原 030006)
化工原理基礎(chǔ)實(shí)驗(yàn)是化工原理課程體系中重要的技術(shù)基礎(chǔ)課,其應(yīng)用自然科學(xué)原理和工程實(shí)驗(yàn)方法來(lái)解決化工過(guò)程中的實(shí)際工程問(wèn)題,不同于無(wú)機(jī)化學(xué)、有機(jī)化學(xué)、分析化學(xué)等課程的基礎(chǔ)實(shí)驗(yàn),化工原理基礎(chǔ)實(shí)驗(yàn)具有較強(qiáng)的工程背景,不局限于驗(yàn)證某一原理或觀察某一現(xiàn)象,更注重加深對(duì)化工生產(chǎn)過(guò)程及設(shè)備的認(rèn)識(shí)和理解,樹(shù)立工程意識(shí)、解決工程問(wèn)題[1]。但化工原理基礎(chǔ)實(shí)驗(yàn)涉及設(shè)備多、流程復(fù)雜、規(guī)模大、采集數(shù)據(jù)多、實(shí)驗(yàn)結(jié)束后數(shù)據(jù)處理復(fù)雜[2]。隨著計(jì)算機(jī)的不斷普及,計(jì)算機(jī)處理繁瑣的實(shí)驗(yàn)數(shù)據(jù)已經(jīng)成為普遍的數(shù)據(jù)處理方式。中國(guó)石油大學(xué)(華東)倪化境[3]針對(duì)手工作圖求理論板數(shù)方法的步驟繁瑣且誤差較大的問(wèn)題,采用Excel 軟件處理精餾實(shí)驗(yàn)數(shù)據(jù),給出了兩組非理想溶液的分區(qū)域擬合方法及理論板梯級(jí)圖的繪制過(guò)程,該方法簡(jiǎn)單快速準(zhǔn)確、容易熟練掌握。東北電力大學(xué)李強(qiáng)[4]使用PowerBuilder 語(yǔ)言工具,編寫(xiě)了能對(duì)空氣物性數(shù)據(jù)、傳熱系數(shù)、傳熱準(zhǔn)數(shù)等計(jì)算的傳熱實(shí)驗(yàn)數(shù)據(jù)處理軟件,提高了實(shí)驗(yàn)數(shù)據(jù)處理的效率和實(shí)驗(yàn)數(shù)據(jù)處理的精確度。常州大學(xué)黃澤恩等[5]使用Origin 軟件對(duì)離心泵性能曲線測(cè)定實(shí)驗(yàn)進(jìn)行數(shù)據(jù)處理,介紹了如何使用Origin 軟件對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行非線性擬合,并得到擬合曲線的擬合參數(shù)、標(biāo)準(zhǔn)誤差及相關(guān)系數(shù)。
MATLAB(Matrix Laboratory)軟件是由Marhworks公司于20 世紀(jì)80 年代開(kāi)發(fā)的數(shù)學(xué)軟件,是目前應(yīng)用最廣泛的科學(xué)計(jì)算機(jī)軟件之一,用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)據(jù)計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,幾乎可以解決科學(xué)計(jì)算中的所有問(wèn)題,而且MATLAB 軟件具有編寫(xiě)程序簡(jiǎn)單、代碼效率高等優(yōu)點(diǎn),使得MATLAB 軟件在工程計(jì)算與仿真、圖像處理等領(lǐng)域獲得廣泛應(yīng)用[6]。
本文以離心泵性能曲線測(cè)定實(shí)驗(yàn)數(shù)據(jù)處理為例,介紹使用MATLAB 軟件在處理實(shí)驗(yàn)數(shù)據(jù)時(shí)的簡(jiǎn)捷、直觀和高效。
離心泵特性曲線測(cè)定實(shí)驗(yàn)裝置流程圖如圖1所示。
圖1 離心泵性能曲線測(cè)定實(shí)驗(yàn)裝置流程圖
對(duì)給定型號(hào)的離心泵,在一定轉(zhuǎn)速下,揚(yáng)程H、軸功率N以及效率η都隨著流量Q的改變而改變,通過(guò)實(shí)驗(yàn)測(cè)出Q-H、Q-N、Q-η的關(guān)系,并用曲線表示,稱(chēng)為特性曲線,是流體在離心泵內(nèi)部流動(dòng)規(guī)律的宏觀表現(xiàn)形式。由于泵內(nèi)部結(jié)構(gòu)復(fù)雜導(dǎo)致流體在離心泵內(nèi)部的流動(dòng)情況復(fù)雜,因此不能通過(guò)理論方法推導(dǎo)出離心泵的特性關(guān)系曲線,只能采取實(shí)驗(yàn)方式測(cè)定[1]。
1.2.1 揚(yáng)程H 的測(cè)定
在離心泵進(jìn)口真空表安裝處和出口壓力表安裝處之間,運(yùn)用伯努利方程式:
其中,Σhf為離心泵進(jìn)口和出口之間管路的流體流動(dòng)阻力(不包括離心泵內(nèi)部的流動(dòng)阻力所引起的壓頭損失),由于兩截面間的管長(zhǎng)度較短,通常與伯努利方程中其他相相比,阻力項(xiàng)Σhf可忽略不計(jì)。另外,因速度平方差也很小,故也可忽略不計(jì),則有:
式(1)~式(2) 中:H0=z2-z1,為離心泵出口和進(jìn)口間的位差(m);ρ為流體密度(kg/m3);g為重力加速度(m/s2);p1、p2分別為離心泵流體進(jìn)、出口壓力(Pa);H1、H2分別為離心泵流體進(jìn)、出口壓力所對(duì)應(yīng)的壓頭(m);u1、u2分別為離心泵流體進(jìn)、出口流速(m/s);z1、z2分別為離心泵進(jìn)口真空表、出口壓力表的安裝高度(m)。
由式(2)可知,只要測(cè)出離心泵流體進(jìn)、出口壓力及離心泵出口和進(jìn)口間的位差,就可計(jì)算出離心泵的揚(yáng)程H。
1.2.2 軸功率N 的測(cè)定
功率表測(cè)得的功率是電動(dòng)機(jī)的輸入功率。由于泵由電動(dòng)機(jī)直接帶動(dòng),傳動(dòng)效率k可以取值0.95,因此軸功率N的計(jì)算公式為:
軸功率N=功率表的讀數(shù)N電×電動(dòng)機(jī)傳動(dòng)效率k(3)
1.2.3 效率η的計(jì)算
離心泵的有效功率Ne與軸功率N的比值為離心泵的效率η[7]。
式(4)~式(5)中:η為 離 心 泵 的 效率(%);N為 離心泵的軸功率(kW);Ne為離心泵有效功率(kW);H為離心泵壓頭(m);Q為離心泵流量(m3/s);ρ為流體密度(kg/m3)。
1.2.4 實(shí)驗(yàn)數(shù)據(jù)記錄
某離心泵特性曲線測(cè)定實(shí)驗(yàn)的原始數(shù)據(jù)如表1 所示,將表1 數(shù)據(jù)保存到excel 文件中,文件命名為1-1.xls。
表1 離心泵特性曲線測(cè)定實(shí)驗(yàn)的原始數(shù)據(jù)
由式(1)可知在計(jì)算揚(yáng)程時(shí),需要使用水在采集數(shù)據(jù)點(diǎn)時(shí)對(duì)應(yīng)溫度下的密度,其數(shù)據(jù)的準(zhǔn)確性直接影響實(shí)驗(yàn)數(shù)據(jù)處理的準(zhǔn)確性。而在常壓不同溫度下水的密度的數(shù)據(jù)文獻(xiàn)較多,不同來(lái)源的水的密度數(shù)據(jù)由于疏密程度和有效數(shù)字的不同,會(huì)導(dǎo)致不同的實(shí)驗(yàn)數(shù)據(jù)處理結(jié)果。因此,同一組實(shí)驗(yàn)數(shù)據(jù)會(huì)由于選取的水的密度數(shù)據(jù)不同而得到不同的實(shí)驗(yàn)處理結(jié)果,給實(shí)驗(yàn)數(shù)據(jù)處理結(jié)果的評(píng)判帶來(lái)了較大的困難。為了提供統(tǒng)一的水的密度數(shù)據(jù),可以用化工過(guò)程模擬軟件Aspen Plus,選取合適的物性方法,來(lái)估算常壓下在不同溫度下水的密度,最終得到水的密度與溫度的關(guān)系[8],實(shí)驗(yàn)中測(cè)得溫度下的水的密度可以使用插值法獲得。如果采用傳統(tǒng)的手工計(jì)算方法,計(jì)算過(guò)程復(fù)雜、效率較低、出錯(cuò)率較高。為了提高計(jì)算的效率和準(zhǔn)確性,可以采用MATLAB 的插值函數(shù)interp1,使用20 世紀(jì)40 年代逐漸發(fā)展起來(lái)的樣條插值,該方法具有良好的收斂性與穩(wěn)定性,理論研究和現(xiàn)實(shí)應(yīng)用上都具有重要意義[9]。
采用化工過(guò)程模擬軟件Aspen Plus,選取NRTL 物性方法估算出常壓下在實(shí)驗(yàn)測(cè)得溫度范圍內(nèi)不同溫度下水的密度數(shù)據(jù),如圖2 所示,包括溫度數(shù)據(jù)、壓力數(shù)據(jù)和密度數(shù)據(jù)。將溫度數(shù)據(jù)和密度數(shù)據(jù)保存到MATLAB軟件可以讀取的excel 文件中,命名為T(mén)-ρ.xls。
圖2 Aspen Plus 軟件估算不同溫度下水的密度數(shù)據(jù)
再利用MATLAB 軟件編寫(xiě)程序可實(shí)現(xiàn)插值計(jì)算。首先,用MATLAB 軟件中的xlsread 函數(shù)讀取T-ρ.xls 數(shù)據(jù);其次,使用MATLAB 軟件中的插值函數(shù)interp1,用三次樣條插值(spline)的插值方法進(jìn)行插值計(jì)算;最后,運(yùn)行程序,并將數(shù)據(jù)結(jié)果用xlswrite函數(shù)保存到t-Density.xls 文件中,以備后續(xù)MATLAB軟件處理離心泵性能曲線測(cè)定實(shí)驗(yàn)時(shí)使用。
MATLAB 軟件代碼如下:
x=xlsread('T-ρ.xls');T=x(:,1);density=x(:,2);
y=xlsread('1-1.xls');t=y(:,3);%t 為插值溫度單位℃
Density=interp1(T,density,t,'spline')
xlswrite('t-Density.xls',Density,1,'B1:B25');xlsw rite('t-Density.xls',t,1,'A1:A25');
利用化工過(guò)程模擬軟件Aspen Plus 估算的常壓下不同溫度下水的密度數(shù)據(jù),再結(jié)合數(shù)學(xué)計(jì)算軟件MATLAB 中插值函數(shù)interp1 處理物性數(shù)據(jù),可以高效快捷地得到高精確度數(shù)據(jù),大大提高了學(xué)習(xí)效率,將學(xué)生從枯燥乏味的重復(fù)性計(jì)算中解脫出來(lái),激發(fā)學(xué)習(xí)興趣,使學(xué)生有充分的時(shí)間和熱情去更好地理解熟悉離心泵結(jié)構(gòu)和特性,學(xué)會(huì)離心泵操作,掌握離心泵特性曲線測(cè)定方法、表示方法,加深對(duì)離心泵性能以及離心泵工作點(diǎn)和流量調(diào)節(jié)方法的了解。
離心泵性能曲線是將流量與揚(yáng)程、流量與軸功率、流量與效率關(guān)系在同坐標(biāo)系中繪制出來(lái)。Q-H、Q-N和Q-η實(shí)驗(yàn)數(shù)據(jù)是離散數(shù)據(jù),需要用一定的擬合方法擬合出一條光滑的曲線,該曲線要準(zhǔn)確地反映離散數(shù)據(jù)點(diǎn)的變化趨勢(shì)。若實(shí)驗(yàn)離散數(shù)據(jù)與曲線對(duì)應(yīng)數(shù)據(jù)的誤差平方和最小,擬合曲線可以不通過(guò)實(shí)驗(yàn)數(shù)據(jù)的每一個(gè)點(diǎn),這種擬合方法是化學(xué)化工經(jīng)常使用的最小二乘法[10]。離心泵性能曲線關(guān)系是非線性的,選取二次多項(xiàng)式作為曲線擬合模型,擬合的二次多項(xiàng)式相關(guān)系數(shù)R接近于1,說(shuō)明二次多項(xiàng)式方程的相關(guān)性好,因此選取二次多項(xiàng)式作為曲線擬合的模型[5]。過(guò)程中涉及機(jī)械重復(fù)性的計(jì)算過(guò)程比較復(fù)雜、耗時(shí)較長(zhǎng)、出錯(cuò)率較高,因此為了提高數(shù)據(jù)處理的效率和準(zhǔn)確性,采用MATLAB 中的多項(xiàng)式擬合函數(shù)polyfit 對(duì)Q-H、Q-N和Q-η關(guān)系數(shù)據(jù)進(jìn)行擬合,另外為了能夠清楚直觀地在同一坐標(biāo)系中展現(xiàn)出Q-H、Q-N和Q-η關(guān)系,則使用MATLAB 編寫(xiě)函數(shù)對(duì)使用polyfit 函數(shù)擬合好的數(shù)據(jù)進(jìn)行歸一化處理,再將歸一化數(shù)據(jù)選取同一參照按照一定比例縮小或放大處理。最后將處理后的Q-H、Q-N和Q-η關(guān)系使用MATLAB 畫(huà)圖函數(shù)plot繪制。
數(shù)據(jù)處理具體步驟如下:
首先,MATLAB 編寫(xiě)歸一化函數(shù),命名為gyi.m,具體代碼如下:
function y1=gyi(y)
m i n y=m i n(y);m a x y=m a x(y);y 1=(y-m i n y)./(maxy-miny);end
然后,MATLAB 編寫(xiě)縮小或放大函數(shù),命名為fgyi.m,具體代碼如下:
function fy=fgyi(y,y1)
maxy1=max(y1);miny1=min(y1);fy=y.*(maxy1-miny1)+miny1;end
最后,MATLAB 編寫(xiě)程序?qū)Ρ4娴絜xcel 文件中的數(shù)據(jù)(即1-1.xls)按照公式計(jì)算出揚(yáng)程H、軸功率N和效率η,并使用MATLAB 自帶函數(shù)polyfit 對(duì)Q-H、Q-N和Q-η關(guān)系數(shù)據(jù)進(jìn)行擬合,再使用自建函數(shù)gyi 和fanguiyi 對(duì)擬合好的數(shù)據(jù)和擬合前的數(shù)據(jù)進(jìn)行處理,然后使用MATLAB 自帶函數(shù)plot 繪制3Y 軸的離心泵特性曲線。運(yùn)行程序后結(jié)果如圖3 所示,其代碼如下:
x=xlsread('1-1.xls');density=xlsread('t-Density.xls');density1=density(:,2);
Q=x(:,2);n1=3100;n=x(:,7);Q1=Q.*(n1./n);
P1=x(:,4);P2=x(:,5);H=0.1+(P2-P1).*1000./9.8./density1;H1=H.*((n1./n).^2);
k=0.95;N=x(:,6);N1=N*k;N2=N1.*((n1./n).^3);y=(Q1.*H1.*9.8.*density1)./N2./3600.*100;
Q1fit=Q1(1):0.001:Q1(end);p1=polyfit(Q1,H1,2);H1fit=polyval(p1,Q1fit);p2=polyfit(Q1,N2,2);N2fit=polyval(p2,Q1fit);p3=polyfit(Q1,y,2);yfit=polyval(p3,Q1fit);
N21=gyi(N2);fN21=fgyi(N21,H1fit);y1=gyi(y);f y1=fgyi(y1,H1fit);N2fit1=gyi(N2fit);fN2fit=fgyi(N2f it1,H1fit);yfit1=gyi(yfit);fyfit=fgyi(yfit1,H1fit);
h1=axes('position',[0.1 0.1 0.65 0.8]);plot(Q1fit,H1fit,'k','LineWidth',1.5);
hold on
plot(Q1fit,fN2fit,'k','LineWidth',1.5);plot(Q1fit,fyfit,'k','LineWidth',1.5);
plot(Q1,H1,'ko','LineWidth',1.5);plot(Q1,fN21,'k*','LineWidth',1.5);
plot(Q1,fy1,'k^','LineWidth',1.5);
hold off
xlabel('流量Q /m^3/h','FontSize',20);ylabel('揚(yáng)程H /m','FontSize',20);
set(gca,'xminortick','on','yminortick','on','FontSi ze',20);axis([0.35 6.7 13 27]);
h2=axes('position',[0.8 0.1 0.0001 0.8]);plot(Q1fit,yfit,'w');
set(h2,'ycolor','k','yaxislocation','right','xtick',[],'xminortick','on','yminortick','on','FontSize',20);
hold on
limx2=get(h2,'Xlim');limy2=get(h2,'Ylim');plot([limx2(2) limx2(2)],limy2,'k')
hold off
ylabel('效率 η /%','FontSize',20);
h 3=a x e s('p o s i t i o n',[0.9 0.1 0.0 0 0 1 0.8]);plot(Q1fit,N2fit,'w');
set(h3,'ycolor','k','yaxislocation','right','xtick',[],'xminortick','on','yminortick','on','FontSize',20)
hold on
limx3=get(h3,'Xlim');limy3=get(h3,'Ylim');plot([limx3(2) limx3(2)],limy3,'k')
hold off
ylabel('軸功率 N /kW','FontSize',20);
圖3 為使用MATLAB 軟件處理實(shí)驗(yàn)數(shù)據(jù)后得到的離心泵性能曲線。由圖3 可知,離心泵的揚(yáng)程H隨著流量Q的增加而減少,軸功率N隨著流量Q的增加而增加,效率η隨著流量Q的增加呈現(xiàn)先增加后減小趨勢(shì)。
MATLAB 軟件應(yīng)用于離心泵特性曲線實(shí)驗(yàn)數(shù)據(jù)處理中,可以得到預(yù)期的數(shù)據(jù)處理效果。但是MATLAB 軟件對(duì)數(shù)據(jù)的處理正確與否建立在實(shí)驗(yàn)數(shù)據(jù)的精確采集上。因此,需要嚴(yán)格按照實(shí)驗(yàn)的操作規(guī)程進(jìn)行操作,保證實(shí)驗(yàn)中每個(gè)取樣點(diǎn)記錄的實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確性,可以通過(guò)多次實(shí)驗(yàn)取平均值的方法減少實(shí)驗(yàn)的偶然誤差,保證MATLAB 軟件處理實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確性。
實(shí)驗(yàn)數(shù)據(jù)處理是離心泵性能曲線測(cè)定實(shí)驗(yàn)的關(guān)鍵環(huán)節(jié),實(shí)驗(yàn)需要處理的數(shù)據(jù)量巨大、涉及的計(jì)算過(guò)程復(fù)雜,離散Q-H、Q-N和Q-η關(guān)系需要按照二次多項(xiàng)式模型進(jìn)行擬合,只要其中有一個(gè)步驟出現(xiàn)差錯(cuò)都會(huì)影響實(shí)驗(yàn)結(jié)果。若采用傳統(tǒng)的手工計(jì)算,為了保證實(shí)驗(yàn)數(shù)據(jù)處理結(jié)果的準(zhǔn)確性,必須對(duì)數(shù)據(jù)處理的每一個(gè)過(guò)程進(jìn)行反復(fù)計(jì)算和檢查,大大降低了學(xué)習(xí)效率。因此,將MATLAB 軟件應(yīng)用于離心泵性能曲線測(cè)定實(shí)驗(yàn)數(shù)據(jù)處理過(guò)程中具有明顯的優(yōu)勢(shì),MATLAB 強(qiáng)大的數(shù)據(jù)處理功能、操作性強(qiáng)的編程及繪圖功能可以使復(fù)雜的計(jì)算和繪圖過(guò)程變得簡(jiǎn)單,提高學(xué)習(xí)效率。