趙自豪,李鵬慧,呂海建
(內(nèi)蒙古科技大學(xué) 礦業(yè)與煤炭學(xué)院,內(nèi)蒙古 包頭 014010)
礦井分風(fēng)系統(tǒng)解算的本質(zhì)是解非線性方程組,解算方法可以分為回路分析法和節(jié)點(diǎn)分析法2類(lèi)?;芈贩治龇ɡ霉?jié)點(diǎn)風(fēng)量連續(xù)方程和回路風(fēng)壓連續(xù)方程構(gòu)建方程組,在處理進(jìn)風(fēng)井和出風(fēng)井的開(kāi)口節(jié)點(diǎn)時(shí),需要引入虛擬回路的概念[1-2],該方法多用牛頓迭代法進(jìn)行求解,其難點(diǎn)在于獨(dú)立回路矩陣的求取、解算結(jié)果的初值依賴(lài)和如何提高解算效率上;節(jié)點(diǎn)分析法利用節(jié)點(diǎn)風(fēng)量連續(xù)方程和節(jié)點(diǎn)壓降方程構(gòu)建方程組,在處理進(jìn)風(fēng)井和出風(fēng)井的開(kāi)口節(jié)點(diǎn)時(shí),往往引入固定等級(jí)節(jié)點(diǎn)概念[3-4],該方法多用線性逼近法進(jìn)行解算,其難點(diǎn)在于如何處理計(jì)算結(jié)果的擺動(dòng)收斂問(wèn)題。
回路分析法按照解算方程組的方法不同,分為牛頓法、斯考特-恒斯雷法、連續(xù)法(同倫法)等。牛頓法是目前最常用的風(fēng)網(wǎng)解算方法,該方法雖然對(duì)初值有依賴(lài),但理論上嚴(yán)格收斂,且有唯一解,其缺點(diǎn)是每次迭代都需要重新計(jì)算雅克比矩陣的逆矩陣,計(jì)算量偏大。文獻(xiàn)[5-8]在對(duì)雅克比矩陣的對(duì)稱(chēng)性進(jìn)行分析的基礎(chǔ)上,提出利用LDLT分解法求解雅克比矩陣的逆矩陣,并用計(jì)算機(jī)并行運(yùn)算的方式進(jìn)行實(shí)驗(yàn)驗(yàn)證,結(jié)果表明利用LDLT分解法相較于傳統(tǒng)解法可節(jié)約50%的工作量。斯考特-恒斯雷法是基于在牛頓法不嚴(yán)密假設(shè)基礎(chǔ)上的1種風(fēng)網(wǎng)快速解法,該方法較牛頓法計(jì)算量小,但容易出現(xiàn)計(jì)算結(jié)果不收斂的情況。文獻(xiàn)[9-11]基于傳統(tǒng)的最小生成樹(shù)原理對(duì)斯考特-恒斯雷法進(jìn)行改進(jìn),通過(guò)改進(jìn)的BFS生成樹(shù)創(chuàng)建法和雙通路快速回路圈劃法,有效避免斯考特-恒斯雷法的初值依賴(lài)問(wèn)題,加大收斂速度,避免計(jì)算結(jié)果發(fā)散的情況發(fā)生。擾動(dòng)法是在工程和科學(xué)計(jì)算中常用的1種解析近似方法,該方法基于漸近級(jí)數(shù)理論,對(duì)擾動(dòng)級(jí)數(shù)在工程允許的范圍內(nèi)進(jìn)行截?cái)?,從而獲得1個(gè)近似的表達(dá)式,該表達(dá)式的解根據(jù)截?cái)囗?xiàng)的多少,在一定精度內(nèi)逼近原方程的解。利用該方法,無(wú)需執(zhí)行循環(huán)運(yùn)算,無(wú)需設(shè)定初值,計(jì)算時(shí)間可預(yù)估,在工程允許的誤差范圍內(nèi),簡(jiǎn)單有效。Basha等[12]首先在供水網(wǎng)絡(luò)解算中引入擾動(dòng)分析法,通過(guò)對(duì)含多級(jí)加壓水泵和出水點(diǎn)的復(fù)雜水網(wǎng)進(jìn)行模擬計(jì)算,表明在工程允許的精度范圍內(nèi),該方法相對(duì)于傳統(tǒng)方法快捷高效;Bush[13]從數(shù)學(xué)的角度論證擾動(dòng)法在解算多元二次方程組時(shí)的精度問(wèn)題和收斂問(wèn)題,從理論上證明該方法解算流體網(wǎng)絡(luò)的可行性;王樹(shù)剛等[14]將擾動(dòng)法的原理應(yīng)用于流體網(wǎng)絡(luò)的靈敏度分析問(wèn)題,提出流體網(wǎng)絡(luò)中靈敏分支的特征值計(jì)算公式和靈敏分支的識(shí)別方法,并進(jìn)行理論驗(yàn)證。
本文在深入研究礦井風(fēng)網(wǎng)解算傳統(tǒng)方法的優(yōu)缺點(diǎn)及發(fā)展趨勢(shì)的基礎(chǔ)上,將擾動(dòng)法引入風(fēng)網(wǎng)解算領(lǐng)域;并針對(duì)風(fēng)網(wǎng)解算的特點(diǎn),演化出擾動(dòng)法的矩陣表示法,針對(duì)3種常見(jiàn)的風(fēng)機(jī)工況點(diǎn),提出擾動(dòng)法的擾動(dòng)方程系數(shù)矩陣的構(gòu)成原理和MATLAB擾動(dòng)解算法的算法步驟;就擾動(dòng)法中出現(xiàn)的數(shù)學(xué)公式定義域問(wèn)題給出解決辦法;通過(guò)2個(gè)具體實(shí)例,驗(yàn)證該方法的可靠性和高效性。
擾動(dòng)法是1種基于級(jí)數(shù)的近似算法,本文用到的2個(gè)級(jí)數(shù)展開(kāi)如式(1)~(2)所示:
(1)
(2)
式中:z為擾動(dòng)法展開(kāi)式里的1個(gè)未知數(shù)。
在不考慮方向性的情況下,通風(fēng)阻力為正,則反映風(fēng)量與通風(fēng)阻力之間關(guān)系的通風(fēng)阻力定律可改寫(xiě)為式(3)[15]:
Q=αhx
(3)
式中:Q為風(fēng)量,m3/s;h為通風(fēng)阻力,Pa;α為風(fēng)量和通風(fēng)阻力的關(guān)系系數(shù);x為常數(shù),取0.5。
α可以用風(fēng)阻表示,如式(4)所示:
(4)
式中:R為風(fēng)阻,Pa。
對(duì)式(3)利用δ展開(kāi),可以獲得1個(gè)關(guān)于變量δ的多項(xiàng)式擾動(dòng)級(jí)數(shù)。將h表示為式(5):
h=h0+h1δ+h2δ2+h3δ3+h4δ4+O(δ5),δ=x-1
(5)
式中:δ為用擾動(dòng)法展開(kāi)式的變量;h0~h4均為展開(kāi)式各項(xiàng)的系數(shù);O(δ5)為展開(kāi)式的余項(xiàng)。
則得式(6):
hx=hhδ=heδlnh
(6)
將式(5)代入lnh,并取前5項(xiàng),得式(7):
(7)
利用式(1)~(2)和式(5),則式(6)最終展開(kāi)為δ擾動(dòng)級(jí)數(shù),得式(8):
(8)
則通風(fēng)阻力定律可表示為式(9):
(9)
對(duì)于任意采用機(jī)械通風(fēng)的礦井,至少存在1個(gè)風(fēng)機(jī)。風(fēng)機(jī)的風(fēng)量和風(fēng)壓之間的關(guān)系可表示為式(10):
(10)
式中:hp為風(fēng)機(jī)的風(fēng)壓,Pa;Qp為風(fēng)機(jī)的風(fēng)量,m3/s;p,q,r為各項(xiàng)系數(shù);η為風(fēng)機(jī)效率。
1)若p>0
通過(guò)數(shù)學(xué)變換,式(10)可以表示成式(11):
Qp=ap(hp+cp)x-bp
(11)
2)若p<0
同理,得式(12):
Qp=ap(-hp+cp)x-bp
(12)
3)若p=0
此時(shí)風(fēng)機(jī)特性曲線為1條直線。
類(lèi)似式(8),風(fēng)機(jī)性能函數(shù)方程可展開(kāi)為式(13):
(13)
在1個(gè)分風(fēng)網(wǎng)絡(luò)中存在如式(14)所示的關(guān)系:
NP=NJ+NL+NF-1
(14)
式中:NP為分支數(shù);NJ為連接節(jié)點(diǎn)數(shù);NL為獨(dú)立回路數(shù);NF為固定等級(jí)節(jié)點(diǎn)數(shù)。
此處,固定等級(jí)節(jié)點(diǎn)是在水力網(wǎng)絡(luò)解算時(shí)的常用說(shuō)法,指的是固定水頭壓力或固定流量的節(jié)點(diǎn)。在風(fēng)網(wǎng)解算中,也就是進(jìn)風(fēng)井或出風(fēng)井的開(kāi)口節(jié)點(diǎn)。為表達(dá)簡(jiǎn)潔僅討論NF=2的情形。
對(duì)于連接節(jié)點(diǎn),滿(mǎn)足風(fēng)量連續(xù)方程,如式(15)所示:
BAHx=0
(15)
式中:A=(α)NP×NP為對(duì)角線矩陣,對(duì)角線上按順序存儲(chǔ)每個(gè)分支的α值;B=(b)NJ×NP為連接節(jié)點(diǎn)的基本關(guān)聯(lián)矩陣;H=(h)NP×1為分支風(fēng)壓向量[14-15]。
對(duì)于獨(dú)立回路,滿(mǎn)足回路風(fēng)壓連續(xù)方程,如式(16)所示:
CH=0
(16)
式中:C=(c)NL×NP為僅與連接節(jié)點(diǎn)相聯(lián)分支的獨(dú)立回路矩陣。
在風(fēng)網(wǎng)解算中,可以用虛擬回路的方式將固定等級(jí)節(jié)點(diǎn)轉(zhuǎn)變?yōu)檫B接節(jié)點(diǎn)。本文不假設(shè)虛擬回路,則有NF-1個(gè)通路壓降方程或固定等級(jí)節(jié)點(diǎn)風(fēng)量連續(xù)方程。
常見(jiàn)的3種風(fēng)機(jī)工況下的擾動(dòng)方程矩陣表達(dá)式如下。
1)若風(fēng)機(jī)處于固定風(fēng)壓工況點(diǎn)Hp
根據(jù)固定等級(jí)節(jié)點(diǎn)的分布,選定NF-1個(gè)連接2個(gè)固定等級(jí)節(jié)點(diǎn)的獨(dú)立風(fēng)路組合,得出通路壓降方程,如式(17)所示:
FH=Hp
(17)
式中:F=(f)(NF-1)×NP為通路分支關(guān)聯(lián)方程系數(shù)矩陣;Hp=(hp)(NF-1)×1為每個(gè)通路對(duì)應(yīng)的總壓降。
2)若風(fēng)機(jī)處于固定風(fēng)量工況點(diǎn)Qp
選定NF-1個(gè)固定等級(jí)節(jié)點(diǎn),寫(xiě)出針對(duì)固定等級(jí)節(jié)點(diǎn)的風(fēng)量連續(xù)方程,如式(18)所示:
BfAHx=Qp
(18)
式中:Bf=(bf)(NF-1)×NP為固定等級(jí)節(jié)點(diǎn)的基本關(guān)聯(lián)矩陣;Qp=(qp)(NF-1)×1為對(duì)應(yīng)固定等級(jí)節(jié)點(diǎn)的出入風(fēng)量。
3)若給定風(fēng)機(jī)的性能函數(shù)
此時(shí)需要同時(shí)確定風(fēng)機(jī)的風(fēng)量Qp和風(fēng)壓Hp,相當(dāng)于增加NF-1個(gè)未知量。
①通路壓降方程如式(19)所示:
FH-hp=0
(19)
②固定等級(jí)節(jié)點(diǎn)風(fēng)量連續(xù)方程如式(20)所示:
BfAHx-ap(hp+cp)x=bp
(20)
對(duì)式(15)~(17)聯(lián)立方程,得式(21):
(21)
令M,N,P如式(22)所示:
(22)
得式(23):
Mh+N(hx-h)=P
(23)
將式(5),式(8)代入式(23),可得固定風(fēng)壓工況點(diǎn)時(shí)的通風(fēng)網(wǎng)絡(luò)方程擾動(dòng)展開(kāi)式。
根據(jù)擾動(dòng)理論,首先忽略擾動(dòng)展開(kāi)式的擾動(dòng)項(xiàng),得關(guān)于h0的線性方程組,如式(24)所示:
(24)
然后,將h0代入通風(fēng)方程擾動(dòng)展開(kāi)式,且只保留δ擾動(dòng)項(xiàng),同時(shí)令P=0,得出關(guān)于h1的線性方程組,如式(25)所示:
(25)
類(lèi)似的,可求得h2,h3,h4的解。h2,h3的解如式(26)~(27)所示:
(26)
(27)
式中:h0,h1,h2,h3均為NP×1的列向量,如h0=(hoi)NP×1代表分支1~NP的通風(fēng)阻力關(guān)于h的主擾動(dòng)項(xiàng)系數(shù)。h1~h3分別為1~3次擾動(dòng)項(xiàng)系數(shù)。
從以上各擾動(dòng)系數(shù)的表達(dá)式形式來(lái)看,除擾動(dòng)主項(xiàng)外,其他擾動(dòng)系數(shù)括號(hào)外的部分均相同,其結(jié)果可重復(fù)利用。只有括號(hào)內(nèi)的算式部分有差異。但該部分執(zhí)行的是向量元素之間的代數(shù)運(yùn)算,相比矩陣運(yùn)算,其復(fù)雜度非常小。因此,隨著要求計(jì)算精度增加,其增加的運(yùn)算量不明顯。
聯(lián)立式(15)~(16),式(18),得式(28):
(28)
記M,N,P如式(29)所示:
(29)
可寫(xiě)出同式(23)形式完全相同的方程式,其求解過(guò)程與式(24)~(27)完全相同。
假定礦山風(fēng)機(jī)為抽出式通風(fēng),對(duì)于連接風(fēng)機(jī)的固定等級(jí)節(jié)點(diǎn),其風(fēng)機(jī)分支的基本關(guān)聯(lián)系數(shù)為1。在風(fēng)機(jī)性能函數(shù)p<0時(shí),聯(lián)立式(12),式(15)~(16),式(19)~(20),得式(30):
(30)
(31)
仿照式(23),可寫(xiě)出給定風(fēng)機(jī)性能函數(shù)下的通風(fēng)網(wǎng)絡(luò)方程組,如式(32)所示:
(32)
將式(5)、式(8)、式(13)代入式(32),獲得通風(fēng)網(wǎng)絡(luò)方程擾動(dòng)展開(kāi)式。
(33)
(34)
式(3)成立的基本條件是h>0,但在擾動(dòng)法解算風(fēng)網(wǎng)時(shí)需要計(jì)算lnh0,hx./h0,所以在計(jì)算過(guò)程中,當(dāng)h0≤0時(shí),會(huì)出現(xiàn)計(jì)算錯(cuò)誤,從而導(dǎo)致解算失敗。下面分別討論如何處理此種情形。
1)h0<0
在通風(fēng)網(wǎng)絡(luò)解算時(shí),基本關(guān)聯(lián)矩陣、獨(dú)立回路矩陣等的選取依賴(lài)于事先假設(shè)的分支風(fēng)流方向。如果事先假設(shè)的分支風(fēng)流方向錯(cuò)誤,會(huì)出現(xiàn)h<0的情況,進(jìn)而h0<0。則式(23)~(25)中涉及到計(jì)算lnh0時(shí)會(huì)出現(xiàn)錯(cuò)誤,導(dǎo)致計(jì)算失敗。出現(xiàn)這種情況時(shí),修改原來(lái)假設(shè)的分支風(fēng)流方向即可。反應(yīng)在對(duì)應(yīng)矩陣上,可以在式(22)解算結(jié)束后,根據(jù)h0的正負(fù),利用代碼1更新矩陣M,N,h0。
>>Sig=diag((h0>=0)*2-1);
>>M=M*Sig;N=N*Sig;
>>h0=abs(h0);
代碼1
diag函數(shù)用來(lái)將向量展開(kāi)為對(duì)角線矩陣。Sig為對(duì)角矩陣,當(dāng)h0≥0時(shí),對(duì)角線上相應(yīng)位置為1,否則為-1。
2)h0=0
當(dāng)風(fēng)網(wǎng)的拓?fù)浣Y(jié)構(gòu)和分支參數(shù)處于某種特殊狀態(tài)(如對(duì)稱(chēng)狀態(tài))時(shí),容易出現(xiàn)某些分支風(fēng)量為0的情形。此時(shí)h=0,根據(jù)擾動(dòng)理論,其所有擾動(dòng)項(xiàng)系數(shù)均為0。在MATLAB中會(huì)導(dǎo)致無(wú)法計(jì)算lnh0,hx./h0,從而使解算失敗。這時(shí),可以進(jìn)行如代碼2所示處理,直接令擾動(dòng)項(xiàng)系數(shù)為零,從而跳過(guò)對(duì)數(shù)和除法運(yùn)算。
>>x0=h0,x0(~~x0)=1./x0(~~x0);
>>y=h0,y(~~y)=log(y(~~y));
代碼2
經(jīng)過(guò)以上處理后,則hx./h0轉(zhuǎn)化為hx.×x0,需要計(jì)算lnh0的地方,替換為y。
綜上所述,利用擾動(dòng)法解算通風(fēng)網(wǎng)絡(luò)的流程如下:
1)分析通風(fēng)網(wǎng)絡(luò)圖,找出連接節(jié)點(diǎn)、獨(dú)立回路和固定等級(jí)節(jié)點(diǎn);
2)對(duì)網(wǎng)絡(luò)中所有的分支,根據(jù)R計(jì)算出α,寫(xiě)出矩陣A。寫(xiě)出對(duì)連接節(jié)點(diǎn)、固定等級(jí)節(jié)點(diǎn)的基本關(guān)聯(lián)矩陣B,Bf。寫(xiě)出對(duì)獨(dú)立回路的獨(dú)立回路矩陣C和對(duì)固定等級(jí)節(jié)點(diǎn)的通路壓降矩陣F。寫(xiě)出Hp,Qp等;
3)根據(jù)風(fēng)機(jī)性能函數(shù),計(jì)算參數(shù)ap,bp,cp;
4)將A,B,Bf,C,F(xiàn),Hp,Qp,ap,bp,cp等構(gòu)建矩陣M,N,P,T;
5)計(jì)算M的逆矩陣,并求出-M-1N;
8)根據(jù)代碼2處理后續(xù)的牽涉到計(jì)算lnh0,hx./h0的公式;
10)根據(jù)式(5)求解通風(fēng)網(wǎng)絡(luò)各分支的通風(fēng)阻力,根據(jù)式(3)求解各分支的風(fēng)量。
文獻(xiàn)[6]針對(duì)通風(fēng)網(wǎng)絡(luò)1分風(fēng)網(wǎng)絡(luò)利用擬牛頓法和直接解非線性方程法,在MATLAB中進(jìn)行解算。此處風(fēng)機(jī)工況點(diǎn)固定在500 Pa的風(fēng)壓處。通風(fēng)網(wǎng)絡(luò)1如圖1所示,其中,1~6表示支路,Ⅰ~Ⅴ表示節(jié)點(diǎn)。
圖1 通風(fēng)網(wǎng)絡(luò)1
為驗(yàn)證擾動(dòng)法的有效性,根據(jù)事先擬定的分支風(fēng)流流向,遵照風(fēng)量連續(xù)方程和風(fēng)壓連續(xù)方程,人為設(shè)定各分支風(fēng)量Qr。指定部分分支風(fēng)阻,推算出其他各分支風(fēng)阻和所有分支風(fēng)壓情況。各分支的風(fēng)阻、風(fēng)量和風(fēng)壓見(jiàn)表1,單位取標(biāo)準(zhǔn)國(guó)際單位。此處的風(fēng)量為對(duì)應(yīng)風(fēng)阻情況下的精確解。
表1 通風(fēng)網(wǎng)絡(luò)1的相關(guān)參數(shù)
表2 擾動(dòng)法和牛頓法解算效果比較
由表2可知,限定的精度下,擾動(dòng)法的精度相當(dāng)于牛頓法8次迭代時(shí)的精度,且用時(shí)遠(yuǎn)小于牛頓法。隨著擾動(dòng)項(xiàng)指數(shù)的增加,擾動(dòng)法的計(jì)算誤差以0.5倍的速率遞減。但通過(guò)分析擾動(dòng)法的計(jì)算原理可知,擾動(dòng)項(xiàng)指數(shù)每增加1,需要計(jì)算的擾動(dòng)項(xiàng)系數(shù)的個(gè)數(shù)增加1倍,理論上其計(jì)算時(shí)間也會(huì)增加。而牛頓法的每次迭代時(shí)間是相同的,并且迭代次數(shù)10次以?xún)?nèi)時(shí)誤差下降速率最大。從本文案例中可以看出,在分支誤差控制在1%左右時(shí),擾動(dòng)法用時(shí)遠(yuǎn)小于牛頓法。
圖2 通風(fēng)網(wǎng)絡(luò)2
根據(jù)分析,該風(fēng)網(wǎng)有12個(gè)分支,6個(gè)連接節(jié)點(diǎn),2個(gè)固定等級(jí)節(jié)點(diǎn),5個(gè)獨(dú)立回路。故M,N均為13×13的矩陣,文獻(xiàn)[8]中計(jì)算出有2個(gè)分支風(fēng)量為0,本文針對(duì)存在0風(fēng)量分支的風(fēng)網(wǎng)解算進(jìn)行說(shuō)明。
利用牛頓法進(jìn)行驗(yàn)算,證明用擾動(dòng)法計(jì)算的精度同牛頓法計(jì)算20次時(shí)的精度相近,且所用時(shí)間遠(yuǎn)小于牛頓法,具體驗(yàn)算過(guò)程和產(chǎn)生的數(shù)據(jù)表格同5.1節(jié)類(lèi)似。
1)在擾動(dòng)法系數(shù)求解的過(guò)程中,僅需要計(jì)算1次風(fēng)網(wǎng)方程組系數(shù)矩陣M的逆,并且除擾動(dòng)主項(xiàng)系數(shù)外,其他擾動(dòng)項(xiàng)系數(shù)的-M-1N部分均相同,可反復(fù)利用,而括號(hào)內(nèi)的部分是向量元素間的代數(shù)運(yùn)算,故計(jì)算工作量遠(yuǎn)小于其他傳統(tǒng)方法。
2)利用擾動(dòng)法無(wú)需迭代運(yùn)算,無(wú)需進(jìn)行多次循環(huán)運(yùn)算、判斷。并且其矩陣運(yùn)算量相較于牛頓法的每次迭代都要小,在工程允許的精度范圍內(nèi),其耗時(shí)遠(yuǎn)小于同精度下的牛頓法。
3)擾動(dòng)法無(wú)需提供計(jì)算初值,克服了牛頓法的初值依賴(lài)性問(wèn)題。
4)由于該方法中用到對(duì)數(shù)計(jì)算和除法運(yùn)算,因此從數(shù)學(xué)角度講需要保證h≥0。本文通過(guò)增設(shè)MATLAB運(yùn)算代碼來(lái)修改原來(lái)假設(shè)的分支風(fēng)流方向,并對(duì)無(wú)風(fēng)分支進(jìn)行特殊處理,確保計(jì)算的成功。
中國(guó)安全生產(chǎn)科學(xué)技術(shù)2021年5期