[數值算法與編程]高斯消去法

 在線性有限元計算中,通過單元剛度矩陣推導,整體剛度矩陣組裝等步驟后,最終得到的是一個線性方程組:   

[數值算法與編程]高斯消去法的圖1

  其中,K是整體剛度矩陣,U是未知的節點位移向量,F是荷載向量。通常情況下,得到的該方程組中的K不是滿秩矩陣,其矩陣行列式為0,因此此時U的解不唯一,在采用拉格朗日乘子法或者罰函數法等方式引入了邊界條件進行修正后,K為滿秩矩陣,從而U的解唯一。

  之后的任務就是求解這個方程組。求解該方程組的方式通常有兩種:直接法和迭代法。高斯消去法,就是一種傳統的直接求解法,其基本步驟如下:

例:求解  

[數值算法與編程]高斯消去法的圖2(1)

1.通過行加減,將第2-4行的第一列變為0(即line2=line2+line1*4/5...,右側的向量需要同樣地對應操作):

          

[數值算法與編程]高斯消去法的圖3(2)

2. 繼續行加減,將第3-4行的第二列變為0:

[數值算法與編程]高斯消去法的圖4(3)

3. 繼續行加減,將第4行的第3列變為0:

[數值算法與編程]高斯消去法的圖5(4)

在得到(4)式以后,根據最后一行,可以直接求出U4的值,接著,再將U4的值帶入第3行,求出U3,再代入第二行...,從而最終求出所有U。

由此可見,高斯消去法實際上是通過行變換,將系數矩陣轉換為上三角矩陣,接著先求出最后一個值,然后依次往上回代,求出所有待求的U。

對上述過程進行算法總結:

(1)

[數值算法與編程]高斯消去法的圖6

 

上述過程完成的是對左側的系數矩陣和右側的向量進行變換,n是系數矩陣a的階數,c是用于行變換的系數,通過上述變換后,得到的a為上三角矩陣,b為對應的右側向量。

(2)

[數值算法與編程]高斯消去法的圖7

上述過程完成的是依次將求得的值回代入方程中,最終獲得的b,即為方程ax=b的解。

 

編程:

 

[數值算法與編程]高斯消去法的圖8

上述例子是針對的滿秩系數矩陣的求解,200階的系數矩陣求解時間約為0.01s的級別。在實際的有限元計算中,形成的有限元剛度矩陣通常為具有對稱性的帶狀稀疏矩陣(即非0元素主要集中在矩陣對角線附近),因此針對帶狀稀疏矩陣,還可進一步對高斯消去法進行優化,使得其求解效率更高。

 

 

 

參考文獻:《有限元法(第二版).下.理論、格式與求解方法》.Klaus-Jurgen Bathe著 軒建平 譯

《Introduction to finite elements in engineering-Pearson (2012)》Belegundu, Ashok D._ Chandrupatla, Tirupathi R.

歡迎關注微信公眾號 有限元術  分享有限元理論與實踐知識   

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

10
2
3