幾何非線性是:就算材料完全維持線彈性(D 矩陣從頭到尾都是常數),結構的勁度矩陣 K 還是會因為「形狀本身的改變」而變成非線性。
重點摘要
- 幾何非線性導致結構勁度矩陣 K 隨變形而改變,與材料非線性不同。
- K 的變化可分為 K₀(小位移勁度矩陣)、K₁(初始位移勁度矩陣)和 K₂(初始應力勁度矩陣)。
- 挫屈是結構勁度矩陣接近奇異值的現象,意味著結構失去抵抗變形的能力。
- 在模擬分析中,需選擇 Total Lagrangian 或 Updated Lagrangian 方法來描述結構變形。
- 幾何非線性分析需注意設定,包括大變形分析、隨動力和網格扭曲等問題。
前兩篇談的材料非線性(彈塑性、潛變、黏彈性、黏塑性),K 的非線性都是透過 D 矩陣的變化而來的;這篇要談的幾何非線性,是完全不同的。結構幾何形狀本身的改變,就足以讓 K 隨著變形程度不斷改變,跟材料的應力應變關係無關。
大綱
K0、K1、K2:形狀怎麼具體讓 K 改變
幾何非線性會導致兩類現象:結構行為本身的改變,以及結構穩定性的喪失。
把這件事寫成方程式,會長這樣:
這條式子把幾何非線性拆成三個部分:
- K₀(小位移勁度矩陣):結構在小變形假設下原本就有的勁度,也是線性分析裡唯一會用到的那個 K
- K₁(初始位移勁度矩陣):來自應變-位移關係裡的非線性項,當變形夠大時,應變不再與位移成正比,這個不成正比的部分,就會反映在 K₁ 上
- K₂(初始應力勁度矩陣):結構「既有的應力狀態」反過來對勁度矩陣的貢獻,具體算法是:
其中 是應力(第二 Piola-Kirchhoff 應力), 是形狀函數梯度矩陣。這個式子的意思是:結構目前承受的應力大小,會直接參與決定 K₂ 的數值。

三者合起來,就是幾何非線性讓 K 改變的具體機制:只要結構產生了夠大的變形、或內部已經有應力存在,K₁ 和 K₂ 就不會是零,K 也就不再是線性分析裡那個固定不變的矩陣。
兩種參考座標:Total Lagrangian 與 Updated Lagrangian
知道了 K 非線性的來源,問題是我們怎麼描述結構怎麼變形呢?在模擬分析實務上,可以選擇兩種不同的參考座標:1) Total Lagrangian(總體 Lagrangian 法):全程都以結構最初未變形的狀態當基準;2) Updated Lagrangian(更新 Lagrangian 法):以結構當前最新的變形狀態當基準。
- Total Lagrangian 在 Marc 裡透過 LARGE DISP 參數啟用,這個模式下程式使用並輸出第二 Piola-Kirchhoff 應力與 Green-Lagrange 應變,適合處理大增量旋轉、大增量應變的分析。這個方法特別適合非線性彈性問題,也適合樑、殼這類旋轉量中等大、但應變本身不大的塑性或潛變問題。
- Updated Lagrangian 則是把參考座標設定在「當下這一步」的變形狀態,採用真實應力(Cauchy stress)搭配能量共軛的真應變(true strain)。這個方法特別適合兩種情況:一是旋轉量大到曲率表達式裡的非線性項不能再被忽略的樑、殼結構分析;二是大應變的彈性、塑性分析。

上圖說明,同一段變形歷史,可以用兩條路徑描述:Reference→Current(藍色,F)是全程以最初狀態為基準,對應 Total Lagrangian;Previous→Current(綠色,f)只看這一步的增量,對應 Updated Lagrangian。兩條路徑透過 Fₙ₊₁ = f·Fₙ 這個「接續作用、以乘法合成」的關係串起來。
理論上和數值上,只要把整套數學方程式,包含本構方程式(Constitutive Equation,描述應力應變關係的方程式)、應力應變的座標轉換,都正確建立、正確處理,Total Lagrangian 和 Updated Lagrangian 這兩種方法會得到完全相同的結果。差別只在於「站在哪一個時間點」去衡量變形量。但是要做到「完全正確」並不容易:像塑性這類材料行為,牽涉到本構方程式的積分(材料怎麼記憶它的應力歷史),如果要用 Total Lagrangian 處理,必須把這些方程式牽引回原始未變形的座標系統,還要套用正確的張量轉換,這在實務上相當不便。只有當本構方程式被正確牽引回原始座標、並套用適當的轉換之後,兩種方法才會真正等價,這也是為什麼前面提到,Updated Lagrangian 更常被用在塑性、大應變這類問題上的原因。
Buckling (挫屈):K 趨近奇異矩陣
幾何非線性常見一種狀態就是,挫屈。挫曲分析要回答的問題,是結構會在什麼載重下崩潰。判斷的方式,是觀察結構的勁度矩陣什麼時候趨近奇異值,當結構的勁度矩陣接近奇異(singular)狀態,就代表偵測到了挫屈。
這件事被寫成一個特徵值問題:
其中 假設是造成挫屈的載重增量 ΔP 的線性函數,挫屈載重則可以估計為:
計算幾何勁度矩陣 的基礎,是上一個增量開始時的應力與位移狀態變化。這裡剛好呼應了前面提到的 K₂(初始應力勁度矩陣),挫屈本質上就是結構內部既有的應力狀態,透過幾何勁度矩陣的貢獻,讓整體勁度矩陣 K 趨近奇異,代表結構在這個載重下已經失去繼續抵抗變形的能力。
這樣來說,正常情況下,結構要變形,你必須對它施力(P越大,u跟著變大,兩者成正比關係)。但當 K 趨近奇異,代表結構已經到了一個臨界狀態:只要輕輕一碰(甚至理論上不需要額外施力),結構就會自己往某個特定方向持續變形下去——這正是挫屈發生的瞬間:結構失去了「抵抗變形所需要施力」這個特性,變得只要一點點擾動就會自己垮掉或彎折過去。

Snap-through:反直覺的力-位移曲線
幾何非線性最重要的兩種現象,一是挫屈,二是 Snap-through 分析。
buckling 跟 snap-through 的差異,可以從兩種力-位移關係的圖形看出來:buckling 問題呈現的是結構在載重達到某個臨界值後,力-位移關係出現路徑分岔,可能走向穩定的路徑,也可能走向不穩定的路徑;Snap-through 問題呈現的則是一條連續、但不是單調上升的力-位移曲線,隨著位移持續增加,力先上升到一個局部峰值,接著反而下降,之後才又重新回升。
這類大變形問題,可以分成兩種自然的類別:大位移、小應變的問題,以及大位移、大應變的問題。不管是 buckling 還是 Snap-through,背後共同的原因都是:結構的幾何勁度矩陣 K₂(也就是既有應力狀態對勁度的貢獻)已經大到足以讓整體 K 的行為偏離線性關係,力和位移之間不再是一條簡單的直線
和模擬分析有什麼關係?
前面提到的都是理論解釋。那麼我們知道有幾何非線性這種狀況,模擬分析上要設定什麼呢?以下是在 Marc 非線性分析軟體可以參考的設定。
啟用大變形分析+其它設定: 要在 Marc 裡啟用大位移(Total Lagrangian)選項,要用 LARGE DISP 參數;如果問題牽涉隨動力(例如離心力或壓力載重),還要加上 FOLLOW FOR 參數,讓程式依照當前的幾何形狀來計算所有的分布載重;這個參數不能跟 CENTROID 參數一起用,而且一定要搭配殘餘載重修正一起使用。也就是說,處理幾何非線性時,牽涉到載重形式(是否隨結構變形而改變方向或作用面積)、以及是否需要殘餘載重修正這些搭配設定,不是啟用大變形能處理所有狀況。
隨動力(Follower force)處理: 結構變形之後,表面載重的方向和作用面積都會跟著改變,大多數變形不大的結構,這個效應可以忽略,但對於承受大壓力載重的柔性殼結構,這個效應會顯著影響結果,必須納入有限元素方程式。隨動的點載重,可以透過 POINT LOAD 選項直接指定,或是透過一個隨節點位移旋轉的座標轉換(COORD SYSTEM 選項)來達到。這代表當外力的方向或作用面積會隨結構變形而改變時,模擬需要額外考慮 Follower force,不能假設外力方向從頭到尾都固定不變。
嚴重的網格扭曲處理: 有限元素網格是跟著材料一起變形的,這是 Lagrangian 方法的基本特性。這個特性帶來兩個缺點:流動問題很難用這種方式建模,而且網格扭曲的程度會跟物體變形的程度一樣嚴重。不過,近年來自適應網格(adaptive mesh)與重新劃分網格(rezoning)技術的進步,已經緩解了網格扭曲導致分析提早中止的問題。
極端非線性問題,挫屈選項可能不夠用: 對於極度非線性的問題,BUCKLE 選項沒辦法產生準確的結果,這時候需要改用 AUTO INCREMENT 這個歷程定義選項,以類靜態的方式進行自動載重步進,同時處理幾何大位移和材料(彈塑性)非線性問題,這個選項也能處理彈塑性 snap-through 現象,讓結構的後挫屈行為(post-buckling behavior)能被分析出來,這部分屬於求解方法的範疇,以後有機會再詳細討論。
常見問題
A:材料非線性是透過 D 矩陣(應力應變關係)的改變讓 K 變成非線性;幾何非線性則是即使 D 矩陣完全不變(材料維持線彈性),結構的形狀本身(透過 K₁、K₂ 兩個額外的矩陣項)就足以讓 K 變成非線性。
A:Buckling 是結構的勁度矩陣趨近奇異值的現象,代表結構已經失去繼續抵抗變形的能力。這背後的機制來自結構既有的應力狀態,透過幾何勁度矩陣(K₂)對整體 K 的貢獻。
想學習結構非線性分析嗎?歡迎參考 Marc 或 MSC Nastran 高階結構分析軟體。