數值模擬偏微分方程的三種方法:FDM、FEM及FVM

2020-05-02     數學那些事


偏微分方程數值模擬常用的方法主要有三種:有限差分方法(FDM)、有限元方法(FEM)、有限體積方法(FVM),本文將對這三種方法進行簡單的介紹和比較。

一.有限差分方法

有限差分方法(Finite Difference Methods)是數值模擬偏微分方程最早採用的方法,至今仍被廣泛運用。該方法包括區域剖分和差商代替導數兩個過程。

具體地,首先將求解區域劃分為差分網格,用有限個網格節點代替連續的求解區域。其次,利用Taylor級數展開等方法將偏微分方程中的導數項在網格節點上用函數值的差商代替來進行離散,從而建立以網格節點上的值為未知量的代數方程組。

該方法是一種直接將微分問題變為代數問題的近似數值解法,數學概念直觀,表達簡單,是發展較早且比較成熟的數值方法。差商代替導數後的格式稱為有限差分格式,從格式的精度來考慮,有一階格式、二階格式和高階格式。從差分的空間離散形式來考慮,有中心格式和迎風格式。對於瞬態方程,考慮時間方向的離散,有顯格式、隱格式、交替顯隱格式等。

目前常見的差分格式,主要是以上幾種格式的組合,不同的組合構成不同的差分格式。差分方法主要適用於結構網格,網格的步長一般根據問題模型和Courant穩定條件來決定。

二.有限元方法

有限元方法(Finite Element Methods)的基礎是變分原理和分片多項式插值。該方法的構造過程包括以下三個步驟。

首先,利用變分原理得到偏微分方程的弱形式(利用泛函分析的知識將求解空間擴大)。其次,將計算區域劃分為有限個互不重疊的單元(三角形、四邊形、四面體、六面體等)。再次,在每個單元內選擇合適的節點作為求解函數的插值點,將偏微分方程中的變量改寫成由各變量或其導數的節點值與所選用的分片插值基函數組成的線性表達式,得到微分方程的離散形式。利用插值函數的局部支集性質及數值積分可以得到未知量的代數方程組。

有限元方法有較完善的理論基礎,具有求解區域靈活(複雜區域)、單元類型靈活(適於結構網格和非結構網格)、程序代碼通用(數值模擬軟體多數基於有限元方法)等特點。有限元方法最早應用於結構力學,隨著計算機的發展已經滲透到計算物理、流體力學等各個數值模擬領域的廣泛應用中。

根據所採用的檢驗函數(虛位移函數)和插值函數的不同,有限元方法也分為多種計算格式。從檢驗函數的選擇來說,有配置法、最小二乘法和伽遼金法,從計算單元網格的形狀來劃分,有三角形網格、四邊形網格和多邊形網格,從插值函數的精度來劃分,又分為線性插值函數和高次插值函數等。不同的組合同樣構成不同的有限元計算格式。對於有限元方法,其基本思路和解題步驟可歸納為

  • 建立積分方程,根據變分原理或方程餘量與檢驗函數正交化原理,建立與微分方程初邊值問題等價的積分表達式,這是有限元法的出發點。
  • 區域單元剖分,根據求解區域的形狀及實際問題的物理特點,將區域剖分為若干相互連接、不重疊的單元。區域單元劃分是採用有限元方法的前處理過程,要給出計算單元和節點進行編號相互之間的關係、節點的位置坐標,同時還需要列出問題的自然邊界和本質邊界的節點序號和相應的邊界值。
  • 確定單元基函數,根據單元中節點數目及對近似解精度的要求,選擇滿足一定插值條件的插值函數作為單元基函數。有限元方法中的基函數是在單元中選取的,由於各單元具有規則的幾何形狀,在選取基函數時可遵循一定的法則。
  • 單元分析:將各個單元中的求解函數用單元基函數的線性組合表達式進行逼近;再將近似函數代入積分方程,並對單元區域進行積分,可獲得含有待定係數(即單元中各節點的函數值)的代數方程組,稱為單元有限元方程。
  • 總體合成:在得出單元有限元方程之後,將區域中所有單元有限元方程按一定法則進行累加,形成總體有限元方程。
  • 邊界條件的處理:一般邊界條件有三種形式,分為本質邊界條件(Dirichlet邊界條件)、自然邊界條件(Neumann邊界條件)、混合邊界條件(Cauchy邊界條件)。對於自然邊界條件,一般在積分表達式中可自動得到滿足。對於本質邊界條件和混合邊界條件,需按一定法則對總體有限元方程進行修正滿足。
  • 解有限元方程:根據邊界條件修正的總體有限元方程組,採用適當的代數方程組求解器,可求得各節點的函數值。

三.有限體積法

有限體積法(Finite Volume Methods)又稱為控制體積法。其基本思路是:將計算區域劃分為一系列互不重疊的控制體,並使每個網格點周圍有一個控制體;將待求解的微分方程對每一個控制體積積分,便得出一組離散方程。

該方法的未知量為網格點上的函數值。為了求出控制體積的積分,須假定函數值在網格點控制體邊界上的變化規律。從積分區域的選取方法看來,有限體積法屬於有限元方法中檢驗函數取分片常數插值的子區域法;從未知量的近似方法看來,有限體積法屬於採用局部近似的離散方法。

有限體積法的基本思路易於理解,能夠保持物理量在控制體上的守恆性質,也即離散方程保持了微分方程物理量在控制體滿足某種守恆原理的物理意義。這是有限體積法吸引人的優點。此外,在有限體積法中,插值函數隻用於計算控制體積的積分,因此可以對微分方程中不同的項採取不同的插值函數。

三者各有所長

有限差分方法直觀,理論成熟,精度可選。但是不規則區域處理繁瑣,雖然網格生成可以使FDM應用於不規則區域,但是對區域的連續性和解的光滑性等要求較高。使用FDM的好處在於易於編程。

有限元方法適合處理複雜區域,精度可選,程序代碼具有較強的通用性,適於大規模編程開發和計算。有限體積法適於流體計算,可以應用於非結構網格,適於並行。但是精度最高達到二階。FVM的優勢正逐漸顯現出來,FVM在應力應變、高頻電磁場方面的特殊的優點正在被人重視。

三者間的區別

FVM和FDM在精度和守恆性方面的差別

FVM由積分方程離散,而FDM方法由微分方程直接離散,前者的精度不但取決於積分時的精度,還取決於對導數處理時的精度,一般總體最高具有二階精度;後者的精度不涉及積分,而是藉助Taylor展開利用差商代替導數,可以具有較高階的精度。前者對於守恆型方程保持守恆性質,而後者不一定具有守恆性。

FVM和FEM的區別

有限元在複雜區域的適應性對有限體積是相同的,而有限容積的守恆性,物理概念明顯的這些特點,有限元是沒有的。但是有限體積方法在精度方面與有限元方法還有些差距。

FEM和FDM的區別

有限元方法在適應複雜求解區域和對解的光滑性要求上要優於有限差分法,但是在編程和實現上,有限差分方法在效率上占有一定的優勢。


文章來源: https://twgreatdaily.com/fy6Z2nEBiuFnsJQVCAN_.html