龔士林
摘 要:首次提出了LINGO軟件在水力計算方面的應(yīng)用,尤其是在迭代公式和多項求和方面,并介紹了LINGO實現(xiàn)水力計算的一般步驟。工程實例計算表明LINGO在迭代和多項求和方面的計算具有程序編寫簡單、可視性強和結(jié)果精度高等優(yōu)點,比較適合非專業(yè)編程的水利工作者使用。
關(guān)鍵詞:LINGO;水力計算;迭代;多項求和
在水利工程中,水力計算是不可或缺的一部分,然而水力計算公式大都過于繁瑣,不易計算。另外,進行水力計算時經(jīng)常會遇到求解非線性方程根的問題,非線性方程最常用的求解方法是迭代法,計算復(fù)雜,工作量大,需要借助計算機編程加以解決。目前存在的水力計算軟件比較少,并且功能單一,給水利工作者造成了極大不便。LINGO軟件[1-2]界面簡單,易于操作,經(jīng)常被用于線性規(guī)劃求解以及計算非線性方程等方面。對于水利計算,只需要正確將方程輸入,即可求解出方程中的未知量,計算過程直觀明了,便于閱讀和改正,非常適合非專業(yè)編程人員理解和掌握。本文擬利用LINGO軟件求解非線性方程根的功能,將LINGO引用到水力計算中,進行常見的水力計算求解。
1 LINGO在水力計算中的應(yīng)用概述
1.1 在迭代公式方面的應(yīng)用
在水力計算中,常常會遇到一些高次的隱函數(shù)方程和微分方程,對于這些方程,水力學(xué)中經(jīng)通常采用試算法和迭代法。試算法概念簡單,方法直觀,易于理解。但是該方法往往帶有一定的盲目性,若要達到給定的精度,有時需經(jīng)過多次試湊,才能完成。而若采用數(shù)值分析中的迭代法則可以避免盲目性,準(zhǔn)確的解出正確的答案,并且此方法適合用計算機編程求解,尤其用LINGO軟件求解非常方便。
1.2 在多項求和公式方面的應(yīng)用
多項求和公式通??梢杂汕蠛头枴坪唵蔚乇磉_出來,然而進行求解時卻非常困難,計算量大,耗時費力。多項求和公式在水力計算中也是經(jīng)常出現(xiàn),比如管網(wǎng)中枝狀管網(wǎng)和環(huán)狀管網(wǎng)的水力計算、分水閘中有壓流圓形涵管式分水閘流量系數(shù)的計算、河道恒定流水面曲線計算中的復(fù)式斷面動能修正系數(shù)的計算、裁彎工程中引河和老河道的河道特征數(shù)的計算、以及普通完全井的井群計算等等,加大了水力計算的工作量。LINGO軟件卻可以簡單地求解此類問題,只需要將求和項以求和符號∑的方式輸入進去,即可以快速地得到正確結(jié)果。
2 LINGO的一般計算步驟
2.1 將水力學(xué)的計算公式輸入LINGO Model界面中
在LINGO中,計算公式的輸入格式與平時書寫形式相似。不過,兩項相乘中間用“*”隔開;式子中無大括號、小括號之分,統(tǒng)一使用小括號;乘方項可使用“^”表示;每一段程序統(tǒng)一使用“;”結(jié)束;使用三角函數(shù)或?qū)?shù)形式時,需加上“@”;各項負號采用英文的形式且不分大小寫。
2.2 輸入約束表達式
約束表達式的形式可以為數(shù)值,也可以是范圍,范圍需要分開寫。如,b=1則輸入“b=1;”;2
2.3 對參數(shù)進行設(shè)置
若使用迭代法,可以在主菜單“LINGO”下的子菜單“options ”中進行操作,當(dāng)所得結(jié)果已為精確值時,迭代次數(shù)將不發(fā)生改變。LINGO默認保留小數(shù)點后六位,對于一般的水力學(xué)計算,此步驟有時可以不予考慮。
2.4 輸出結(jié)果并對結(jié)果進行分析
通過窗口操作“LINGO→solve”或者通過“Ctrl+u”即可得到相應(yīng)結(jié)果,其中“total solver iterations”表示結(jié)果的迭代次數(shù);“Variable”和“Value”分別表示變量和相應(yīng)值。
3 工程實例
考慮到LINGO在多項式求和方面具有獨特的優(yōu)勢,本文將以LINGO在迭代方面的應(yīng)用為例,對明渠恒定非均勻流的水面曲線進行計算。
某一明渠中有一長直梯形斷面,底寬b為25m,邊坡系數(shù)m為2.4,壁面粗糙系數(shù)n為0.022,底坡i為0.0001,當(dāng)通過流量Q為160,渠道末端水深h為6.0m。試計算渠道中的水面曲線[3]。
4 計算結(jié)果
由LINGO計算結(jié)果得正常水深h0為4.45m,臨界水深hk為1.53m。h0>hk,可判斷此明渠水流為緩流,因此(7)式中取負號。以兩個斷面間間距為已知量,用LINGO將(7)式進行求解,可以得到沿程各個斷面的水深,結(jié)果如表1所示。
5 結(jié)論
(1)LINGO軟件可以方便地實現(xiàn)復(fù)雜水力計算的求解,尤其可以快速解決迭代問題和多項式求和問題,程序編寫格式與平時書寫形式相似,易于掌握,便于操作,比較適合非專業(yè)編程的水利工作者使用。
(2)LINGO軟件在計算水面曲線時比較方便,類推時編程公式不變,只需改變約束條件,即可得到相應(yīng)結(jié)果。
(3)LINGO軟件在數(shù)值計算方面功能非常強大,本文只涉及其在迭代方面及多項式求和方面的應(yīng)用,在水力計算中的微積分方面略有不足,仍需進一步研究。
參考文獻
[1] 袁新生. LINGO和Excel在數(shù)學(xué)建模中的應(yīng)用[M]. 北京:科學(xué)出版社,2014:32-43.
[2] 喬雙全.伏世紅.孟祥國 Excel迭代功能在水力計算中的應(yīng)用[期刊論文].黑龍江水利科技,2011.39(5)
[3] Rich Grace. Lingo Handbook,The (Bk/CD-ROM)[M]. New Jersey:Prentice Hall Ptr,1997.
[4] 李煒. 水力計算手冊( 第二版)[K]. 北京: 中國水利水電出版社,2006.