董磊磊,崔之健,孫明龍
(1.西安石油大學(xué),陜西 西安 710065;2.中國(guó)石油集團(tuán)西部鉆探工程有限公司試油公司,新疆 克拉瑪依 834000)
伴隨著全球經(jīng)濟(jì)和現(xiàn)代化管理工業(yè)的飛速發(fā)展,相應(yīng)而來(lái)的是計(jì)算機(jī)技術(shù)在各行各業(yè)的普及。這大大減少了人力的消耗,且使有些原本比較復(fù)雜的問題求解起來(lái)變得容易。計(jì)算機(jī)技術(shù)的相對(duì)成熟,再結(jié)合一些專業(yè)領(lǐng)域的知識(shí),一些專業(yè)人士開發(fā)出一些軟件,模擬工程領(lǐng)域和自然領(lǐng)域的各種場(chǎng)景,用來(lái)解決一些實(shí)際問題,其處理問題的過程叫做數(shù)值模擬。經(jīng)過幾十年的發(fā)展,數(shù)值模擬已經(jīng)可以較為真實(shí)的模擬現(xiàn)場(chǎng)情況。通過模擬結(jié)果進(jìn)而調(diào)整各個(gè)設(shè)計(jì)參數(shù),以使設(shè)備在最優(yōu)設(shè)計(jì)結(jié)構(gòu)下達(dá)到最佳的工況。數(shù)值模擬把數(shù)學(xué)和計(jì)算機(jī)聯(lián)系了起來(lái),在許多工程領(lǐng)域扮演著不可或缺的角色。在數(shù)值模擬過程中,遇到的都是一些連續(xù)域內(nèi)的非線性偏微分的問題,直接求解十分困難,而離散化的出現(xiàn)使這個(gè)問題簡(jiǎn)單化,變得易于求解。
在早期的工業(yè)領(lǐng)域,許多問題因?yàn)槠鋵?shí)際情況的復(fù)雜性,得到其解析解非常困難。1953年,Bruce G.H和PeacemanD.W對(duì)一維氣相不穩(wěn)定徑向和線形流進(jìn)行了模擬,這是數(shù)值模擬技術(shù)初次面世。起初數(shù)值模擬的解法相對(duì)較少,相關(guān)的計(jì)算機(jī)技術(shù)不夠成熟,所以只能應(yīng)用于模擬一維問題。1954年,兩相流動(dòng)模型應(yīng)運(yùn)而生,West W.J和Garvin W.W針對(duì)油藏中存在的問題,模擬了不穩(wěn)定兩相流的流動(dòng)情況[1]。
數(shù)值模擬,顧名思義就是對(duì)現(xiàn)實(shí)中某些工況數(shù)值的模擬,那么就必須借助電子計(jì)算機(jī)來(lái)進(jìn)行[2]。既然是模擬,就會(huì)要求提供一些參數(shù)以作為原始數(shù)據(jù),并且要根據(jù)特定問題選用適當(dāng)?shù)哪M方法。通過對(duì)有限元和有限容積有關(guān)知識(shí)的學(xué)習(xí),熟悉了數(shù)值模擬相關(guān)理論后,接著進(jìn)行大量數(shù)值模擬計(jì)算,最后的結(jié)果再以圖像顯示的方法展示出來(lái),可以直觀的解釋某些特定問題[3]。這對(duì)學(xué)者了解發(fā)生某種現(xiàn)象的內(nèi)部原因有很大的幫助。數(shù)值模擬在研究生涯里使用非常廣泛,同時(shí)因?yàn)樗枰玫接?jì)算機(jī),因此可以叫做計(jì)算機(jī)模擬。
數(shù)值模擬其實(shí)就是用計(jì)算機(jī)做試驗(yàn),并且可以較為真實(shí)的展現(xiàn)特定介質(zhì)的工況。例如,某一特定尺寸形狀的機(jī)翼在空氣中的繞流情況,建立模型后,通過在計(jì)算機(jī)上模擬計(jì)算,最后將結(jié)果以圖片的形式展示出來(lái),直觀明了,可以看到流場(chǎng)中的許多細(xì)節(jié)。計(jì)算機(jī)模擬結(jié)果與實(shí)驗(yàn)結(jié)果沒有什么較大區(qū)別,而且簡(jiǎn)化了許多步驟,耗時(shí)較短,有利于模擬較多的不同條件下設(shè)備的運(yùn)轉(zhuǎn)。最后根據(jù)不同條件下模擬的結(jié)果,對(duì)比選出該設(shè)備在某些特定條件下的最佳工況的相關(guān)參數(shù)。數(shù)值模擬在處理一些幾何形狀復(fù)雜,或包含某些非線性特征的問題時(shí),數(shù)值模擬可以簡(jiǎn)單地分為以下幾個(gè)步驟:
1)針對(duì)特定工程問題,建立數(shù)學(xué)模型;2)模型建立完成后,就是確定計(jì)算方法;3)編制程序并進(jìn)行計(jì)算;4)通過圖像展示的結(jié)果進(jìn)行分析,得出結(jié)論[4]。
離散化,就是把無(wú)限空間中有限的個(gè)體通過映射放到有限的空間中去,以此來(lái)提高算法的時(shí)空效率[5],是在有限個(gè)體原始數(shù)據(jù)相對(duì)大小不變的情況下,按比例進(jìn)行縮小后來(lái)建立相應(yīng)的模型。離散化的應(yīng)用在程序設(shè)計(jì)中非常普遍,在諸多可能的情況下,離散化只需考慮要使用到的值。這就大大簡(jiǎn)化了實(shí)驗(yàn),同時(shí)也有效地降低了計(jì)算機(jī)處理過程中的時(shí)間復(fù)雜度。離散化可以提高一個(gè)算法的質(zhì)量,而且有可能實(shí)現(xiàn)原本不會(huì)實(shí)現(xiàn)的某些算法。
區(qū)域離散化是將要計(jì)算的空間區(qū)域,劃分成大量互不重疊的子區(qū)域,每個(gè)子區(qū)域有一個(gè)節(jié)點(diǎn),以及此節(jié)點(diǎn)代表的一個(gè)控制體積,最后需要確定上述節(jié)點(diǎn)在空間中所處的位置和其代表的控制體積。根據(jù)選用的研究方法不同,控制體積可能是流場(chǎng)中一個(gè)固定的區(qū)域,也可能會(huì)隨流體流動(dòng)位置發(fā)生變化。網(wǎng)格節(jié)點(diǎn)一般會(huì)被看成是控制體積的代表,因?yàn)槊恳粋€(gè)節(jié)點(diǎn)必然對(duì)應(yīng)一個(gè)控制體積,不會(huì)出現(xiàn)一對(duì)多或多對(duì)一的情況,且每個(gè)節(jié)點(diǎn)代表的位置不會(huì)重合[6]。控制體積作為一個(gè)特定的區(qū)域,并不能全部與最開始劃分出來(lái)的子區(qū)域重合,這種情況也不會(huì)影響離散質(zhì)量。
有限差分法,是數(shù)值解法中發(fā)展時(shí)間較長(zhǎng),相對(duì)來(lái)說較為完善,也最為經(jīng)典的一種離散方法[7]。差分過程是將需要求解的空間區(qū)域劃分為大量的網(wǎng)格,根據(jù)特定的幾何形狀選擇適當(dāng)?shù)膭澐址绞?,這樣有助于簡(jiǎn)化轉(zhuǎn)化方程的步驟。劃分網(wǎng)格后,用有限個(gè)網(wǎng)格上的節(jié)點(diǎn)代替原來(lái)連續(xù)的求解域[8],選用適當(dāng)?shù)牟钌绦问?,把原本偏微分方?(控制方程)中的偏導(dǎo)數(shù)項(xiàng)全部用差商表示出來(lái),再經(jīng)過一些處理就能得到對(duì)應(yīng)的差分方程。
有限差分法將原來(lái)復(fù)雜的偏微分方程問題直接轉(zhuǎn)換為代數(shù)問題的求解,不需要構(gòu)造特定的函數(shù),建模簡(jiǎn)單,編程也相對(duì)容易。適用曲線型和拋物線型相關(guān)問題的求解,橢圓形型問題應(yīng)用較少,對(duì)于邊界條件復(fù)雜的問題也表現(xiàn)出相對(duì)劣勢(shì)[9]。
有限元法,是將空間里一個(gè)連續(xù)的求解域,劃分許多合適大小、形狀的單元,分別在每個(gè)單元上構(gòu)造插值函數(shù),再對(duì)這些插值函數(shù)使用相應(yīng)的極值原理,然后在這些所有的微小單元上都能找到一個(gè)特定的有限元方程,最后用這些有限元方程把初始問題的控制方程所代替。經(jīng)過如此轉(zhuǎn)換后,則所有微小單元極值的和就代表了該系統(tǒng)總體的極值,即將系統(tǒng)劃分為局部單元,分別處理各局部單元后,再進(jìn)行總體合成,于是使原本問題的初始控制方程就變成了含有特定邊界條件的代數(shù)方程組。
有限元法在求解橢圓型問題時(shí),有較好的適應(yīng)性。相比其它方法,處理問題的過程較慢,對(duì)復(fù)雜問題分析時(shí),占用內(nèi)存較大,耗費(fèi)的計(jì)算資源也很驚人,在使用時(shí)對(duì)操作者的經(jīng)驗(yàn)要求較高。所以它在商用CFD軟件中應(yīng)用的不多,F(xiàn)IDAP軟件是基于有限元方法建立的,在這個(gè)軟件里較為常用[10]。
有限體積法,是將計(jì)算區(qū)域劃分為大量的小網(wǎng)格,每個(gè)網(wǎng)格點(diǎn)所處的位置不同,所以其代表的一個(gè)在它周圍的控制體積肯定也不同。這些控制體積不會(huì)相互重合,但是在求解的時(shí)候必須應(yīng)用到他們之間的關(guān)系。用初始微分方程的形式,在這些控制體積上應(yīng)用并進(jìn)行積分,其中的偏導(dǎo)數(shù)項(xiàng)就會(huì)消失,對(duì)應(yīng)每個(gè)網(wǎng)格點(diǎn)會(huì)得到一個(gè)相應(yīng)的離散方程,聯(lián)立這些方程,就會(huì)得到一個(gè)與所劃分網(wǎng)格形式對(duì)應(yīng)的離散方程組。離散方程組中的未知數(shù)會(huì)因節(jié)點(diǎn)所處位置不同而發(fā)生變化。
有限體積法在處理過程中需要尋求節(jié)點(diǎn)值,這點(diǎn)十分類似于前面所說的有限差分法;在積分過程中時(shí),有限體積法需要根據(jù)網(wǎng)格特點(diǎn),對(duì)物理量值的分布規(guī)律做出假設(shè),這一點(diǎn)又與有限元法雷同。
有限體積法在使用過程中始終遵循積分守恒原理,因此不管針對(duì)微小計(jì)算單元還是結(jié)構(gòu)整體,都有良好的守恒性;其插值函數(shù)可以根據(jù)具體問題靈活假設(shè),而且對(duì)于泰勒展開造成的離散能有效的避免;對(duì)于有些結(jié)構(gòu)復(fù)雜的工程問題,需要分區(qū)域劃分網(wǎng)格時(shí),能夠很好地適應(yīng);與有限元法融合,綜合彼此的優(yōu)點(diǎn),更好的進(jìn)行流固耦合分析[11]。在對(duì)控制體積積分進(jìn)行計(jì)算時(shí),有限積分法需要使用到插值函數(shù)。離散方程在這個(gè)插值函數(shù)的作用下,比較容易得出,而且有限積分法不要求微分方程里的所有項(xiàng)必須采取同一種插值函數(shù)。這也是其優(yōu)于其他離散方法的一個(gè)方面。
在數(shù)值模擬過程中,常用的離散化方法有三個(gè),都有各自的特點(diǎn):
1)對(duì)于有限差分法,現(xiàn)在發(fā)展的已經(jīng)非常成熟,利用差分直接將偏微分問題簡(jiǎn)化為代數(shù)問題,處理結(jié)構(gòu)性網(wǎng)格有較大的優(yōu)勢(shì),對(duì)于非結(jié)構(gòu)網(wǎng)格差分效果較差[12]。
2)對(duì)于有限元法,是一種具有高效的處理能力、且使用較多的計(jì)算方法。適用于一些幾何和物理?xiàng)l件比較復(fù)雜的情況,尤其是在以拉普拉斯和泊松方程所描述的物理場(chǎng)中,而且和程序的契合相對(duì)較好,這樣就有利于程序的標(biāo)準(zhǔn)化設(shè)計(jì)。
3)對(duì)于有限體積法,其原理非常簡(jiǎn)單,積分守恒在這個(gè)方法中得到了充分的體現(xiàn),不管是在無(wú)限小控制體積還是整個(gè)計(jì)算區(qū)域,所有因變量都遵循積分守恒原理。