常見非線性疊代法:Newton-Raphson、Modified Newton-Raphson、Strain Correction 與 Direct Substitution。差別在於每次疊代時要不要重算勁度、怎麼計算應變。Newton-Raphson,適合大多數非線性問題。
內容依據 Marc 2025.1 Volume A 第 11 章;Volume E 範例 3.18、3.20、7.5重新撰寫詮釋。
重點摘要
- 非線性問題中,結構的勁度隨解而變,無法一次求解,需分增量逐步進行。
- 增量和疊代協作,幫助接近解答,增量負責分步施加負載,而疊代則持續修正以達平衡。
- 非線性求解可能有多解或沒有解,檢查增量和容差設定有助於收斂。
- 切線模數法和初始應變法是將非線性引入方程式的兩種主要方法。
- Marc 軟體支援多種共通的疊代方法,如Newton-Raphson,使用者必須正確定義材料行為。
在「非線性分析收斂」系列第一篇中講到,非線性分析會把載重切成很多增量,在每個增量裡反覆疊代,直到殘差力降到收斂容差內。這一篇要回答的是下一個問題:每次疊代到底怎麼修正?不同的修正方式各適合什麼問題?也就是我們必須去了解這些疊代法的運作原理。聽起來很枯燥的議題,但是弄懂之後相信必能讓你在工作上事半功倍,付出一點代價是值得的。
常見的 4 種疊代方法
在進階非線性軟體 Marc 中我們看到四種疊代法,Newton-Raphson、Modified Newton-Raphson、Strain Correction、Direct Substitution,相信這也是同性質軟體內常使用的方法。這些疊代法要解的都是同一件事:在一個增量裡,把外力和內力的差(殘差力)降到夠小。差別只在於每次修正時,用哪一個勁度、怎麼計算應變。
方法一. Newton-Raphson:每次疊代都重算勁度
Newton-Raphson(牛頓法)是在每一次疊代都依當下的位移,重新計算切線勁度,再用它來修正位移。每次疊代解的是:
K 是第 i−1 次疊代時的切線勁度矩陣,F 是外加節點載重,R 是由應力算出的內力,兩者之差就是殘差力。解出 δu 後更新位移,就完成一次疊代。

容差放寬到 10% 時,第 2 次疊代後就算收斂;收斂需要幾次疊代,取決於容差的設定。
- 優點:切線一直跟著結構真實的狀態走,收斂很快。對大多數非線性問題都能得到不錯的結果。
- 缺點:每次疊代都要重新組裝、分解勁度矩陣。大型 3D 問題搭配直接求解器時特別耗時;改用疊代求解器時,這個問題比較不明顯。
方法二. Modified Newton-Raphson:勁度只算一次,之後重複使用
Modified Newton-Raphson(修正牛頓法)和 Newton-Raphson 的做法類似,但不會在每次疊代重新組裝勁度矩陣。切線勁度只組裝、分解一次,之後每次疊代只需要算右邊的殘差力,再做一次回代(back substitution)。載重分增量施加時,會在每個增量開始時,或在指定的增量重算勁度。

- 優點:每次疊代的成本很低,因為不必重組、重分解勁度矩陣。
- 缺點:收斂比較慢。或者稱為是「線性收斂」,意思是每次疊代,殘差只會按差不多固定的比例縮小,例如每次都變成原來的七成多,所以需要很多次才能降到容差以下。手冊的原話是「疊代次數非常多、甚至不收斂的可能性相當高」。上圖和 Newton-Raphson 用同一條曲線、同樣 1% 的容差,次數從 3 次變成 16 次。
方法三. Strain Correction:大旋轉、小應變的殼與梁專用
Strain Correction(應變修正法)是 Newton-Raphson 法的一種變形,適用於「轉動很大、但膜應力很小」的殼與樑。膜應力(membrane stress)是構件整體被拉長或壓縮時產生的應力。用一把塑膠尺來做說明:把尺的一端按在桌上,另一端往上扳成大弧形,尺轉了很大的角度,本身卻幾乎沒有被拉長,膜應力很小,這就是 Strain Correction 適用的情況。如果兩手抓住尺的兩端用力往外拉,尺被拉長,才會產生明顯的膜應力。
這類問題的轉動增量通常遠大於應變增量,應變裡的非線性項可能比線性項還大。由於疊代一開始是用線性化的方式算位移增量,第一次疊代時,這些非線性項會讓算出的應變和位移對不上,結果算出錯誤的應力(若有塑性,塑性計算也會跟著出錯)。這些錯誤的應力又會影響後續的勁度矩陣,讓收斂變慢、表現變差。

Strain Correction 的做法是把應變增量拆成兩部分:
- 線性部分:用來計算應力。
- 非線性部分:不拿來算應力,而是留到下一次疊代或下一個增量,當成「初始應變」加進殘差力。
這樣位移增量和應變增量就能保持一致,大幅減少塑性計算與平衡的誤差。如果模型裡幾乎每個節點的位移都是直接給定、而不是由軟體算出來,這個方法的效果會比較差;不過一般分析很少這樣設定。
方法四. Direct Substitution:Eulerian 流動分析專用
Direct Substitution(直接代入法)只用在 Eulerian 公式的剛塑性流動分析(rigid-plastic flow,以 R-P FLOW 參數開啟)。這類分析忽略彈性變形,把材料當成流體,求解流動速度而不是位移,常用於擠製、滾軋等穩態金屬成形。
如何選擇適合的疊代方法?
剛開始學習分析都是使用預設值(Default),這個可以理解。事實上也不用太煩惱,實務上預設值能因應多數的狀況。不過我們既然要好好了解疊代方法,當然希望能夠設定得很聰明,然後每個設定都有所本。以下這個整理好的表格,給大家做參考。
| 疊代法 | 每次疊代重算勁度 | 收斂速度 | 適合 | 不適合 |
|---|---|---|---|---|
| Newton-Raphson | 是 | 快 | 大多數非線性問題 | 大型 3D 問題搭配直接求解器時耗時 |
| Modified Newton-Raphson | 否,只在增量開始或指定增量重算 | 慢(線性收斂) | 大型、只有輕微非線性的問題 | 接觸、材料突然進入非線性、使用疊代求解器 |
| Strain Correction | 是(但應變的非線性部分當初始應變處理) | — | 轉動很大、膜應力很小的殼與梁 | 位移增量幾乎全部是指定值 |
| Direct Substitution | — | — | Eulerian 剛塑性流動分析(R-P FLOW) | 一般結構分析 |
哪一種方法比較有效率,很大程度取決於問題的大小(模擬模型大小)。因為每次疊代大致要做三件事:1) 組裝勁度矩陣、2) 求解方程式、3) 由新的位移回推應力(應力回復)。Newton-Raphson 三件都做;Modified Newton-Raphson 不重新組裝、也不重新分解勁度矩陣,只做最後的回代和應力回復。
小型問題的求解時間本來就快,換成 Modified Newton-Raphson 省下的時間不多。所以 Modified Newton-Raphson 最有機會發揮的,是「大型、只有輕微非線性」的問題。
- 大型模型:求解最花時間,Modified Newton-Raphson 不必每次分解,省時效果明顯。
- 小型模型:求解時間本來就很短,換方法省不了多少。
- 大型但強烈非線性的模型:Modified Newton-Raphson 在組裝勁度矩陣上省下的時間,很容易被增加的疊代次數甚至不收斂抵銷。
怎麼判斷?依順序問自己四個問題
- 是 Eulerian 剛塑性流動分析(R-P FLOW)嗎?→ 是:用 Direct Substitution(預設)。
- 是轉動很大、膜應力很小的殼或樑嗎?→ 是:可以考慮 Strain Correction。
- 是大型、只有輕微非線性的模型,沒有接觸、使用直接求解器嗎?→ 是:可以考慮 Modified Newton-Raphson。
- 以上皆非,或不確定:用預設的 Newton-Raphson。
選錯疊代法會怎樣?
最常見的結果是疊代次數暴增,花了時間等待很久都還沒有算完,甚至不收斂;又或者出現一些奇怪的答案數據,沒有真的理解,胡亂設定就是出來瞎算的結果,操作者可能也沒有能力判別是否正確。
遇到不收斂時,怎麼辦呢?
非線性求解不收斂的狀況確實非常常見。這時候工程師要非常理性去看待計算收斂這件事,當然要先了解非線性的來源,理解為什麼這題求解特別不容易。這也是我們這一系列文章想要帶給大家的,讓大家有能力解決不收斂的問題。以下有幾點讓你檢查模型,作為參考:
- 邊界條件、材料、網格是否都有設定適當? 這題的行為在物理上可以合理解釋嗎?
- 是否用了 Modified Newton-Raphson,而模型有接觸、強烈塑性,或使用疊代求解器?是的話,先改回 Newton-Raphson。
- 是否在位移幾乎全部指定的問題上用了 Strain Correction?
- 疊代法之外,增量是否太大、收斂容差是否合理。
實務上還是建議與軟體的技術支援專家聯繫,我們這裡的資訊偏向理論上的介紹,模擬軟體使用上有很多秘技,需要經驗與專業知識融會貫通,當然每個人在分析的案例不同,遇到的挑戰也不同。
常見問題
A:可以考慮 Strain Correction。它適合「轉動很大、膜應力很小」的殼與樑:把應變增量拆成線性與非線性兩部分,只用線性部分算應力,非線性部分改當初始應變帶進下一次疊代,避免疊代時算出失真的應力。
A:看問題而定。Modified Newton-Raphson 每次疊代不重新組裝勁度矩陣,但疊代次數多很多;Newton-Raphson 每次重新組裝勁度矩陣,但收斂快。只有大型、輕微非線性的問題,Modified Newton-Raphson 才比較可能真的省時間。
你有非線性分析不能收斂嗎?有難解的工程模擬問題,或者不知道怎麼做模擬分析?歡迎報名 CAE軟體訓練課程,又或者與我們聯繫。