有限差分方法概述

2021-03-04 09:44:39 字數 5082 閱讀 1232

有限差分法(finite difference method,簡稱fdm)是數值方法中最經典的方法,也是計算機數值模擬最早採用的方法,至今仍被廣泛運用。該方法將求解域劃分為差分網格,用有限個網格節點代替連續的求解域。有限差分法以taylor級數展開等方法,把控制方程中的導數用網格節點上的函式值的差商代替進行離散,從而建立以網格節點上的值為未知數的代數方程組。

該方法是一種直接將微分問題變為代數問題的近似數值解法,數學概念直觀,表達簡單,是發展較早且比較成熟的數值方法。對於有限差分格式,從格式的精度來劃分,有一階格式、二階格式和高階格式。從差分的空間形式來考慮,可分為中心格式和逆風格式。

考慮時間因子的影響,差分格式還可以分為顯格式、隱格式、顯隱交替格式等。目前常見的差分格式,主要是上述幾種形式的組合,不同的組合構成不同的差分格式。差分方法主要適用於有結構網格,網格的步長一般根據實際地形的情況和柯朗穩定條件來決定。

構造差分的方法有多種形式,目前主要採用的是泰勒級數展開方法。其基本的差分表示式主要有三種形式:一階向前差分、一階向後差分、一階中心差分和二階中心差分等,其中前兩種格式為一階計算精度,後兩種格式為二階計算精度。

通過對時間和空間這幾種不同差分格式的組合,可以組合成不同的差分計算格式。

下面我們從有限差分方法的基本思想、技術要點、應用步驟三個方面來深入了解一下有限差分方法。

1.基本思想

有限差分演算法的基本思想是把連續的定解區域用有限個離散點構成的網格來代替,這些離散點稱作網格的節點;把連續定解區域上的連續變數的函式用在網格上定義的離散變數函式來近似;把原方程和定解條件中的微商用差商來近似,積分用積分和來近似,於是原微分方程和定解條件就近似地代之以代數方程組,即有限差分方程組,解此方程組就可以得到原問題在離散點上的近似解。然後再利用插值方法便可以從離散解得到定解問題在整個區域上的近似解。在採用數值計算方法求解偏微分方程時,再將每一處導數由有限差分近似公式替代,從而把求解偏微分方程的問題轉換成求解代數方程的問題,即所謂的有限差分法。

2.技術要點

如何根據問題的特點將定解區域作網格剖分;如何把原微分方程離散化為差分方程組以及如何解此代數方程組。此外為了保證計算過程的可行性和計算結果的正確性,還需從理論上分析差分方程組的性態,包括解的唯一性、存在性和差分格式的相容性、收斂性和穩定性。對於乙個微分方程建立的各種差分格式,為了有實用意義,乙個基本要求是它們能夠任意逼近微分方程,這就是相容性要求。

另外,乙個差分格式是否有用,最終要看差分方程的精確解能否任意逼近微分方程的解,這就是收斂性的概念。此外,還有乙個重要的概念必須考慮,即差分格式的穩定性。因為差分格式的計算過程是逐層推進的,在計算第n+1層的近似值時要用到第n層的近似值 ,直到與初始值有關。

前面各層若有捨入誤差,必然影響到後面各層的值,如果誤差的影響越來越大,以致差分格式的精確解的面貌完全被掩蓋,這種格式是不穩定的,相反如果誤差的傳播是可以控制的,就認為格式是穩定的。只有在這種情形,差分格式在實際計算中的近似解才可能任意逼近差分方程的精確解。關於差分格式的構造一般有以下3種方法。

最常用的方法是數值微分法,比如用差商代替微商等。另一方法叫積分插值法,因為在實際問題中得出的微分方程常常反映物理上的某種守恆原理,一般可以通過積分形式來表示。此外還可以用待定係數法構造一些精度較高的差分格式。

3.基本步驟

有限差分法求解偏微分方程的步驟如下:

1 區域離散化,即把所給偏微分方程的求解區域細分成由有限個格點組成的網格;

2 近似替代,即採用有限差分公式替代每乙個格點的導數;

3 逼近求解。換而言之,這一過程可以看作是用乙個插值多項式及其微分來代替偏微分方程的解的過程。

換而言之,這一過程可以看作是用乙個插值多項式及其微分來代替偏微分方程的解的過程。在第一步中,我們通過所謂的網路分割法,將函式定義域分成大量相鄰而不重合的子區域。通常採用的是規則的分割方式。

這樣可以便於計算機自動實現和減少計算的複雜性。網路線劃分的交點稱為節點。若與某個節點 p相鄰的節點都是定義在場域內的節點,則 p點稱為正則節點;反之,若節點 p有處在定義域外的相鄰節點,則 p點稱為非正則節點。

在第三步中,數值求解的關鍵就是要應用適當的計算方法,求得特定問題在所有這些節點上的離散近似值。

差分方程,又叫做差分格式,從格式的精度來劃分,有一階格式、二階格式和高階格式;從差分的空間形式來考慮,可分為中心格式和逆風格式;考慮時間因子的影響,差分格式還可以分為顯格式、隱格式、顯隱交替格式等。目前常見的差分格式,主要是上述幾種形式的組合,不同的組合構成不同的差分格式。

向前差分(forword difference):

向後差分(backword difference):

中心差分(cential difference):

下面以乙個例子解釋其他差分格式:

設求解區域內乙個節點a,座標。根據微商定義和中值定理,把偏微分方程寫成差分格式。

對流方程:

2-1或

可以將其化為三種不同的差分方程:

1)時間前差、空間中心差

或2)時間前差、空間前差

或3)時間前差、空間後差

或差分方程的時間微商採用前差,稱為顯式差分格式;時間微商採用後差,稱為隱式差分格式。顯式差分方程可以直接求解,隱式差分方程需要迭代求解。除此之外,它還可以構造其他形式的差分格式。

不同的差分格式具有不同的計算精度。

用差分方程代替偏微分方程時必然有誤差,稱為截斷誤差,用表示。差分方程的截斷誤差等於各項差商逼近微商時所產生誤差的總和。用差分方程的定解條件來代替偏微分方程的定解條件也會產生誤差,稱為定解條件的截斷誤差,用來表示。

差分方程的截斷誤差可以用taylor展開法得到。如上述例子中時間前差、空間中心差分格式,通過taylor展開可得:

它的截斷誤差為: ,即時間上是一節精度,空間上是二階精度。構造差分的方法有多種形式,直接差分逼近法、taylor級數展開法、控制體積元法和積分方法等。

目前主要採用的是泰勒級數展開方法。其基本的差分表示式主要有三種形式:一階向前差分、一階向後差分、一階中心差分和二階中心差分等,其中前兩種格式為一階計算精度,後兩種格式為二階計算精度。

通過對時間和空間這幾種不同差分格式的組合,可以組合成不同的差分計算格式。

首先討論taylor級數展開法:給定任意連續方程,對於,令步長,可寫出taylor級數展開式:

給出有限差分表示式是反過來:對有限的給出的近似表示式:

記,由taylor級數表示式可得表示式

對於上述提到的對流方程2-1,taylor展開法是將在點上進行展開,再利用方程把、、變換為、、,並把、、用差商表示,就可以得到各種不同的差分方程。

對式2-1首先將在點上進行taylor展開,可得:

2-2)

利用原方程關係:

,將上式代入式2-2,得到:

其中,,這就是著名的lax-wendroff差分方程。

直接差分逼近法

由微商定義:

和中值定理得到:

其中,為之間的常數。

把這些表示式代入到對流方程式2-1中,取一階近似,並略去的小量得到相應的差分方程。如上式可得:

略去等式右邊項後,得到差分方程:

時間前差、空間前差:

其中,。採用相同的差分逼近法,也可以得到其它差分方程。例如:

時間前差、空間後差:

時間前差、空間中心差:

積分方法

計分方法是把偏微分方程在一定的控制體內進行積分,得到相應的差分方程。以對流方程2-1為例,在矩形網格的控制體單元內,對時間和空間取前差,並從到,從到進行積分:

通過積分運算:

則得到;

把上式用數值積分近似表示,整理後可得:

其中,。

差分方程的有效性分析

乙個偏微分方程可以得到不同的差分方程。但不同的差分方程和原微分方程有完全不同的對應關係,它們有不同的數學性質,數值結果也不完全相同。因此,有些差分方程是有效的可靠的,有些則在一定條件下是有效的可靠的,有些則完全是無效的。

如何判斷和分析差分方程的有效性和可靠性就稱為有限差分演算法十分重要的問題。

1 相容性(consistency)

導數與其差分近似式之間存在截斷誤差。因此,差分方程的解並不是嚴格的,而是近似地滿足原來的偏微分方程。但是,當時間步長和空間步長都趨近於零時,差分方程的截差(截斷誤差)也趨近於零,差分方程的極限形式就是原偏微分方程。

這時,認為差分方程與偏微分方程是相容的,這種相容性表示差分方程「收斂」於原偏微分方程。

差分方程相容性是討論當、時,差分方程逼近於偏微分方程的程度。

相容性定義:對於足夠光滑的函式u,若時間步長,空間步長趨近於0時,差分方程的截斷誤差對於每一點都趨近於零,則該差分方程逼近偏微分方程,差分方程與偏微分方程是相容的。

2 收斂性(convergence)

差分方程收斂性是討論當時,差分方程數值解逼近於偏微分方程精確解的程度。

定義:差分方程數值解為,偏微分方程的精確解為,它們之間的誤差用表示,則稱為離散化誤差。

收斂性定義:節點為偏微分方程求解區域內任意一點,當時,差分方程數值解逼近於偏微分方程的精確解,即,則差分方程收斂於該偏微分方程。

3 穩定性(stability)

由於差分方程的求解是以步進方式進行的,在逐步推進的過程中,誤差也逐步積累。若這種誤差積累保持有界,則差分方程是穩定的,若這種誤差積累無界則差分方程是不穩定的。

穩定性是討論在計算過程中,某一時刻某一點產生計算誤差,隨著計算時間增加,誤差是否能被抑制的問題。

當數值求解差分方程時,計算誤差總是不可避免的。計算誤差包括捨入誤差、離散誤差和初值誤差。設偏微分方程精確解為,數值解為,則計算誤差定義為:

式中是離散誤差,是捨入誤差。

定義:在某一時刻,差分方程的計算誤差為,若在時刻滿足:

或條件,則該差分方程是穩定的。

上述可知,穩定性反映出差分方程在時間程序中的特性,收斂性反應差分方程在空間位置上的特性,它們體現了差分方程的內在特性。lax定理給出了收斂性和穩定性的關係。

lax定理:對於適定和線性的偏微分方程的初值問題,若逼近它的差分方程與它是相容的,則差分方程的穩定性是保證差分方程收斂性的充分和必要條件。

在第二步中,求解差分方程組一般採用gauss消去法、追趕法、迭代法、交替方向隱式差分法(adi法)、隱式近似因式分解法(af法)等,上述消去法和追趕法對求解離散後的代數方程組沒有特別的優勢,採用迭代法來求解方程組在收斂速度上有一定的優勢。迭代法基本思路為:首先對求解的未知量給乙個**值,代入代數方程組,它一定不滿足方程組。

利用一些特性對**值進行修正,並把修正後的**值再代入方程組,它仍不滿足方程組。再修正**值,再代入方程組,通過不斷迭代過程,直到收斂於數值解。

有限差分方法

橢圓型微分方程的有限差分法 主講 譚林 基本思想 步驟 1 將求解區域 無限個點 限制在有限個離散點上,一般可通過網格剖分獲得。2 在離散點處,將求微分問題 無限計算問題 近似化為求若干 相鄰 離散點上函式值的線性組合問題 有限計算問題 一般利用數值微商 分 不同有限元法 形成所謂的差分方程。3 差...

有限元方法與有限差分方法異同點

1.三種方法都是通過離散的方式求解微分方程,但離散方式不同,比如有限差分是用差分近似微分,有限元法是用插值函式來近似等 2.三種方法適應的問題不同,比如有限差分法適應線性的區域規則的問題,而有限元法可計算非線性不規則區域問題 3.三種方法都可以做到高精度。1。有限元法的相對優點和下述事實有關 在泛函...

差分方法實驗報告

實驗報告 課程名稱 計算方法 院系 數學科學系 專業班級 數應1001 學號 1031110139 學生姓名 姚海保 指導教師 沈林 開課時間 2012至2013學年第一學期 一 學生撰寫要求 按照實驗課程培養方案的要求,每門實驗課程中的每乙個實驗專案完成後,每位參加實驗的學生均須在實驗教師規定的時...