有限差分法(Finite Difference Method--FDM)
有限差分法是計算機數值模擬最早采用的方法,至今仍被廣泛運用。該方法將 求解域劃分為差分網格,用有限個網格節點代替連續的求解域。有限差分法以Taylor級 數展開等方法,把控制方程中的導數用網格節點上的函數值的差商代替進行離散,從而 建立以網格節點上的值為未知數的代數方程組。
該方法是一種直接將微分問題變為代數 問題的近似數值解法,數學概念直觀,表達簡單,是發展較早且比較成熟的數值方法。對于有限差分格式,從格式的精度來劃分,有一階格式、二階格式和高階格式。從差分的空間形式來考慮,可分為中心格式和逆風格式。考慮時間因子的影響,差分格式還可以分為顯格式、隱格式、顯隱交替格式等。目前常見的差分格式,主要是上述幾種形式的組合,不同的組合構成不同的差分格式。差分方法主要適用于有結構網格,網格的步長一般根據實際地形的情況和柯朗穩定條件來決定。
構造差分的方法有多種形式,目前主要采用的是泰勒級數展開方法。其基本的差分表達式主要有三種形式:一階向前差分、一階向后差分、一階中心差分和二階中心差分等,其中前兩種格式為一階計算精度,后兩種格式為二階計算精度。通過對時間和空間這幾 種不同差分格式的組合,可以組合成不同的差分計算格式。
有限元法(Finite Element Method--FEM)
有限元法的基礎是變分原理和加權余量法,其基本求解思想是把計算域劃分為有限個互不重疊的單元,在每個單元內,選擇一些合適的節點作為求解函數的插值點,將微分方程中的變量改寫成由各變量或其導數的節點值與所選用的插值函數組成的線性表達式,借助于變分原理或加權余量法,將微分方程離散求解。采用不同的權函數和插值函數形式,便構成不同的有限元方法。
有限元方法最早應用于結構力學,后來隨著計算機的發展慢慢用于流體力學的數值模擬。在有限元方法中,把計算域離散剖分為有限個互不重疊且相互連接的單元,在每個單元內選擇基函數,用單元基函數的線形組合來逼近單元中的真解,整個計算域上總體的基函數可以看為由每個單元基函數組成的,則整個計算域內的解可以看作是由所有單元上的近似解構成。在河道數值模擬中,常見的有限元計算方法是由變分法和加權余量法發展而來的里茲法和伽遼金法、最小二乘法等。根據所采用的權函數和插值函數的不同,有限元方法也分為多種計算格式。從權函數的選擇來說,有配置法、矩量法、最小二乘法和伽遼金法,從計算單元網格的形狀來劃分,有三角形網格、四邊形網格和多邊形網格,從插值函數的精度來劃分,又分為線性插值函數和高次插值函數等。不同的組合同樣構成不同的有限元計算格式。對于權函數,伽遼金(Galerkin)法是將權函數取為逼近函數中的基函數;最小二乘法是令權函數等于余量本身,而內積的極小值則為對代求系數的平方誤差最小;在配置法中,先在計算域 內選取N個配置點。令近似解在選定的N個配置點上嚴格滿足微分方程,即在配置點上令方程余量為0。插值函數一般由不同次冪的多項式組成,但也有采用三角函數或指數函數組成的乘積表示,但最常用的多項式插值函數。有限元插值函數分為兩大類,一類只要求插值多項式本身在插值點取已知值,稱為拉格朗日(Lagrange)多項式插值;另一種不僅要求插值多項式本身,還要求它的導數值在插值點取已知值,稱為哈密特(Hermite)多項式插值。單元坐標有笛卡爾直角坐標系和無因次自然坐標,有對稱和不對稱等。常采用的無因次坐標是一種局部坐標系,它的定義取決于單元的幾何形狀,一維看作長度比,二維看作面積比,三維看作體積比。在二維有限元中,三角形單元應用的最早,近來四邊形等參元的應用也越來越廣。對于二維三角形和四邊形電源單元,常采用的插值函數為有Lagrange插值直角坐標系中的線性插值函數及二階或更高階插值函數、面積坐標系中的線性插值函數、二階或更高階插值函數等。
對于有限元法,其基本思路和解題步驟可歸納為
(1)建立積分方程,根據變分原理或方程余量與權函數正交化原理,建立與微分方程初邊值問題等價的積分表達式,這是有限元法的出發點。
(2) 區域單元剖分,根據求解區域的形狀及實際問題的物理特點,將區域剖分為若干相互連接、不重疊的單元。區域單元劃分是采用有限元方法的前期準備工作,這部分工作量比較大,除了給計算單元和節點進行編號和確定相互之間的關系之外,還要表示節點的位置坐標,同時還需要列出自然邊界和本質邊界的節點序號和相應的邊界值。
(3) 確定單元基函數,根據單元中節點數目及對近似解精度的要求,選擇滿足一定插值條 件的插值函數作為單元基函數。有限元方法中的基函數是在單元中選取的,由于各單元具有規則的幾何形狀,在選取基函數時可遵循一定的法則。
(4) 單元分析:將各個單元中的求解函數用單元基函數的線性組合表達式進行逼近;再將近似函數代入積分方程,并對單元區域進行積分,可獲得含有待定系數(即單元中各節點的參數值)的代數方程組,稱為單元有限元方程。
(5) 總體合成:在得出單元有限元方程之后,將區域中所有單元有限元方程按一定法則進行累加,形成總體有限元方程。
(6) 邊界條件的處理:一般邊界條件有三種形式,分為本質邊界條件(狄里克雷邊界條件)、自然邊界條件(黎曼邊界條件)、混合邊界條件(柯西邊界條件)。對于自然邊界條件, 一般在積分表達式中可自動得到滿足。對于本質邊界條件和混合邊界條件,需按一定法 則對總體有限元方程進行修正滿足。
(7) 解有限元方程:根據邊界條件修正的總體有限元方程組,是含所有待定未知量的封閉方程組,采用適當的數值計算方法求解,可求得各節點的函數值。
有限體積法(Finite Volume Method--FVM)
有限體積法又稱為控制體積法。其基本思路是:將計算區域劃分為一系列不重復的控制體積,并使每個網格點周圍有一個控制體積;將待解的微分方程對每一個控制體積積分,便得出一組離散方程。其中的未知數是網格點上的因變量的數值。為了求出控制體積的積分,必須假定值在網格點之間的變化規律,即假設值的分段的分布的分布剖面。從積分區域的選取方法看來,有限體積法屬于加權剩余法中的子區域法;從未知解的近似方法看來,有限體積法屬于采用局部近似的離散方法。簡言之,子區域法屬于有限體積發的基本方法。
有限體積法的基本思路易于理解,并能得出直接的物理解釋。離散方程的物理意義,就是因變量在有限大小的控制體積中的守恒原理,如同微分方程表示因變量在無限小的控 制體積中的守恒原理一樣。限體積法得出的離散方程,要求因變量的積分守恒對任意一組控制體積都得到滿足,對整個計算區域,自然也得到滿足。這是有限體積法吸引人的優點。有一些離散方法,例如有限差分法,僅當網格極其細密時,離散方程才滿足積分守恒;而有限體積法即使在粗網格情況下,也顯示出準確的積分守恒。就離散方法而言,有限體積法可視作有限單元法和有限差分法的中間物。有限單元法必須假定值在網格點之間的變化規律(既插值函數),并將其作為近似解。有限差分法只考慮網格點上的數值而不考慮值在網格點之間如何變化。有限體積法只尋求的結點值,這與有限差分法相類似;但有限體積法在尋求控制體積的積分時,必須假定值在網格點之間的分布,這又與有限單元法相類似。在有限體積法中,插值函數只用于計算控制體積的積分,得出離散方程之后,便可忘掉插值函數;如果需要的話,可以對微分方程中不同的項采取不同的插值函數。