【JY】土木工程振型求解之蘭索斯法(Lanczos法)

【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖1


【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖2
一、寫在文前

【前言】子空間迭代法可同時(shí)求解幾個(gè)極端特征值和相應(yīng)的特征向量,但它有收斂較慢,運(yùn)算量較大,積累誤差的缺點(diǎn);隨后,人們對(duì)其作了進(jìn)一步的研究,出現(xiàn)了預(yù)處理子空間迭代法,這種方法的運(yùn)算量較之子空間迭代法有所減小,但還是比較大,另外,當(dāng)要求的特征值與不要求的特征值之間的間隔較大時(shí),預(yù)處理子空間迭代法收斂也比較慢。因此需要有一種更高效的方法來求解,今天給大家?guī)淼氖翘m索斯法(Lanczos法)振型求解思路方法。

關(guān)于子空間迭代法可以觀看下列文章:

JY振型求解之子空間迭代

【JY|STR】求解器之三維結(jié)構(gòu)振型分析

    目前科學(xué)計(jì)算、理論研究、科學(xué)實(shí)驗(yàn)并列為當(dāng)今世界科學(xué)活動(dòng)的三種主要方式。許多科學(xué)和工程領(lǐng)域如果沒有科學(xué)計(jì)算不可能有一流的研究成果。而在工程領(lǐng)域,矩陣計(jì)算具有舉足輕重的地位。
矩陣計(jì)算的基本問題有三個(gè):
  • 其一,求解線性方程組問題;
  • 其二,線性最小二乘問題;
  • 其三,矩陣特征值問題。

【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖3

    在土木工程上,矩陣的特征值具有廣泛的應(yīng)用 ,如建筑結(jié)構(gòu)中的固有頻率分析問題以及鋼結(jié)構(gòu)的穩(wěn)定性,建筑結(jié)構(gòu)的振動(dòng)問題,大型橋梁的顫振問題等等,都與矩陣的特征值密切相關(guān)。一個(gè)復(fù)雜結(jié)構(gòu)的動(dòng)力分析和穩(wěn)定性分析可轉(zhuǎn)化為大型稀疏矩陣的特征值/特征向量問題。
    求解結(jié)構(gòu)振型和頻率實(shí)質(zhì)上是對(duì)以下式子的特征值和特征周期進(jìn)行求解。但是,根據(jù)伽羅瓦理論,對(duì)于次數(shù)大于四的多項(xiàng)式求根不存在一種通用的方法。換句話說,對(duì)于大型矩陣并無法直接求解得到通法解析解,從而得到特征值和特征向量。于是,人們通過尋求其他的求解途徑,提出了許多很好的思想方法和具體算法,促進(jìn)了該學(xué)科的不斷發(fā)展。
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖4
    本期介紹一種針對(duì)稀疏矩陣高效的特征值、特征向量計(jì)算方法——Lanczos迭代法。Lanczos方法存儲(chǔ)量個(gè)大,計(jì)算速度較快,而且適用于求解矩陣的極端特征值。由于在實(shí)際問題中,矩陣的階數(shù)雖然很大,但往往只是需要求其依模最大或最小的特征值,因此Lanczos方法得以廣泛的應(yīng)用,特別是適合求大型稀疏對(duì)稱矩陣的部分特征值。
    對(duì)于Lanczos方法的本質(zhì) :將實(shí)對(duì)稱矩陣轉(zhuǎn)換成為三對(duì)角矩陣(稀疏矩陣),從而便于計(jì)算機(jī)儲(chǔ)存和后續(xù)的計(jì)算。(這樣就把一個(gè)求實(shí)對(duì)稱矩陣的特征值問題轉(zhuǎn)化為求一個(gè)三對(duì)角矩陣的特征值問題。)
    有興趣的小伙伴也可以了解下另外兩種方法將一個(gè)實(shí)對(duì)稱矩陣轉(zhuǎn)化為三對(duì)角矩陣的方法Givens法及Householdes。
、方程原理
結(jié)構(gòu)特征矩陣為:
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖5
    假 定該結(jié)構(gòu)特征矩陣是大型 、稀疏的實(shí)對(duì)稱矩陣,求其幾個(gè)最大或最小的特征值的問題,可以用Lanczos算法解決,它的原理是先產(chǎn)生一個(gè)三對(duì)角陣T,于是問題轉(zhuǎn)化為求一個(gè)三對(duì)角矩陣的特征值,變得相對(duì)簡便。
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖6
    因此,我們的目的是將矩陣A轉(zhuǎn)化為T,并且只要求得T的特征值和特征向量,則可以通過一定關(guān)系得到原結(jié)構(gòu)特征矩陣的特征值和特征向量,也即可以得到結(jié)構(gòu)振型和頻率。
    首先對(duì)于一般結(jié)構(gòu)來說,均需要進(jìn)行初始向量的預(yù)設(shè)進(jìn)行迭代,但是大部分振型都難以提前預(yù)估,我們可以聽下威爾金森(Wilkinson)的建議預(yù)先不必猜測,而統(tǒng)一初始的向量為:
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖7
    然后進(jìn)行預(yù)設(shè)需求的振型數(shù)量為 i≤n (結(jié)構(gòu)特征矩陣維度)進(jìn)行求解,以下流程圖對(duì)于自己編寫Lanczos方法中的T矩陣集成有較好的理解幫助。
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖8
    通過上述的迭代方法,并將求得的α和β帶入矩陣T中,即可將結(jié)構(gòu)特征矩陣是大型、稀疏的實(shí)對(duì)稱矩陣化為 一個(gè)三對(duì)角陣T。
    那么結(jié)構(gòu)的頻率和振型與該三對(duì)角矩陣T的關(guān)系是什么呢?
    接下來討論下T矩陣和結(jié)構(gòu)的頻率和振型的關(guān)系,繼上面的公式推導(dǎo)得到三對(duì)角矩陣T,由Gram-Schmidt正交化條件得到:
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖9
    繼上述推導(dǎo)公式可得到下式:
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖10
    將Gram-Schmidt正交化條件帶入上式中可得到:
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖11
    考慮列向量間的正交性,并將得到的上述公式往會(huì)帶入可得到:
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖12
    得到這個(gè)標(biāo)注了三星的重要級(jí)公式!其中標(biāo)記紅框部分是左乘部分。若將紅框這么一畫,就變成了:
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖13
    再通過上述這樣一個(gè)化解,原結(jié)構(gòu)和變換后的T的頻率和振型的關(guān)系一目了然。若令原結(jié)構(gòu)的特征向量(振型)為:

【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖14

則通過上述可知:
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖15
    也就是求解T矩陣的完全解為,則該完全解的特征向量與原結(jié)構(gòu)的特征向量(振型)的關(guān)系式之間相差一個(gè)系數(shù)矩陣X,而特征值(頻率)是原結(jié)構(gòu)的倒數(shù)。因此取Lanczos向量的個(gè)數(shù)i等于系統(tǒng)的階數(shù)n,則Lanczos變換法給出了原特征值問題的精確解。
    一般情況下我們?nèi)?i ≤ n 。由于組裝結(jié)構(gòu)特征矩陣時(shí)候,剛度求逆變換了一次,相當(dāng)于進(jìn)行了一次逆迭代,因此Lanczos變換法給出了系統(tǒng)低階特征值的很好的近似解。值得注意的是,為了保證求解精度,在迭代過程中可以用Gram-Schmidt對(duì)迭代向量進(jìn)行重新正交化,并采用移軸法可提高其效率。
    至此,該問題變?yōu)榍笠粋€(gè)i階三對(duì)角陣T的特征值和特征向量。

【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖16

    對(duì)于求該降階的特征值、特征向量,有許多方法如:比較高效的QR分解法等等,這里就不再多贅述,小伙伴們可以自行編程嘗試。
三、分析對(duì)比
    建立一個(gè)無樓板的簡易框架結(jié)構(gòu),體驗(yàn)一把Abaqus的蘭索斯算法,并對(duì)比下自編的Lanczos。模型如下:

【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖17

【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖18
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖19

求解前4階模態(tài)

    利用Abaqus 直接提取該結(jié)構(gòu)的質(zhì)量矩陣、剛度矩陣、阻尼矩陣(非必要),一個(gè)簡單的結(jié)構(gòu)密密麻麻的數(shù),感興趣的小伙伴可以試一試:

【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖20

【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖21
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖22


    并將這三個(gè)矩陣放入自行編寫的動(dòng)力計(jì)算器(由于該動(dòng)力計(jì)算器尚未完善,所以暫不公開使用,小伙伴們按這個(gè)思路也可以自己編寫得到屬于自己的求解器。)

【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖23

結(jié)果對(duì)比:
【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖24
    可以看得到結(jié)果非常接近,誤差來源可能來源于計(jì)算機(jī)計(jì)算的舍入誤差。而且計(jì)算速度非常高效,因此針對(duì)稀疏矩陣高效的特征值、特征向量的計(jì)算方法可以采用可存儲(chǔ)量個(gè)大,計(jì)算速度較快的Lanczos迭代法。

往期精彩

#性能分析

【JY】基于性能的抗震設(shè)計(jì)淺析(一)

【JY】基于性能的抗震設(shè)計(jì)淺析(二)

【JY】淺析消能附加阻尼比

【JY】近斷層結(jié)構(gòu)設(shè)計(jì)策略分析與討論

【JY】淺析各動(dòng)力求解算法及其算法數(shù)值阻尼(人工阻尼)

理念

【JY|體系】結(jié)構(gòu)概念設(shè)計(jì)之(結(jié)構(gòu)體系概念)

【JY|理念】結(jié)構(gòu)概念設(shè)計(jì)之(設(shè)計(jì)理念進(jìn)展)

【JY】有限單元分析的常見問題及單元選擇

【JY】結(jié)構(gòu)動(dòng)力學(xué)之顯隱式

【JY】淺談結(jié)構(gòu)設(shè)計(jì)

【JY】淺談混凝土損傷模型及Abaqus中CDP的應(yīng)用

#概念機(jī)理

【JY】基于Ramberg-Osgood本構(gòu)模型的雙線性計(jì)算分析

【JY】結(jié)構(gòu)動(dòng)力學(xué)初步-單質(zhì)點(diǎn)結(jié)構(gòu)的瞬態(tài)動(dòng)力學(xué)分析

【JY】從一根懸臂梁說起

【JY】反應(yīng)譜的詳解與介紹

【JY】結(jié)構(gòu)瑞利阻尼與經(jīng)濟(jì)訂貨模型

【JY】主成分分析與振型分解

【JY】淺談結(jié)構(gòu)多點(diǎn)激勵(lì)之概念機(jī)理(上)

【JY】淺談結(jié)構(gòu)多點(diǎn)激勵(lì)之分析方法(下)

【JY】板殼單元的分析詳解

【JY】橡膠支座的簡述和其力學(xué)性能計(jì)算

【JY】振型求解之子空間迭代

【JY】橡膠支座精細(xì)化模擬與有限元分析注意要點(diǎn)

#軟件討論

【JY】復(fù)合材料分析利器—內(nèi)聚力單元

【JY】SDOF計(jì)算教學(xué)軟件開發(fā)應(yīng)用分享

【JY】Abaqus案例—天然橡膠隔震支座豎(軸)向力學(xué)性能

【JY】Abaqus6.14-4如何關(guān)聯(lián)fortran?

【JY】如何利用python來編寫GUI?

【JY】如何解決MATLAB GUI編程軟件移植運(yùn)行問題?

【JY】淺談結(jié)構(gòu)分析與設(shè)計(jì)軟件

【JY|STR】求解器之三維結(jié)構(gòu)振型分析

【JY】SignalData軟件開發(fā)應(yīng)用分享

【JY】基于Matlab的雙線性滯回代碼編寫教程

#其他

【JY】位移角還是有害位移角?

【JY】如何利用python來編寫GUI?

【JY】今日科普之BIM

【JY】土木工程振型求解之蘭索斯法(Lanczos法)的圖25


~關(guān)注未來更精彩~

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

4
3
6