基于Abaqus的Newton-Raphson算法
Abaqus/Standard應(yīng)用Newton-Raphson算法解決非線性問題,木木本期就為同學們“盡可能”全面講解該算法,從Abaqus內(nèi)部算法到數(shù)學問題中的非線性方程Newton-Raphson算法理論,最后結(jié)合具體非線性方程給出相應(yīng)的代碼,如此一來,更加生動地演繹Newton-Raphson迭代過程。
Abaqusd的Newton-Raphson算法
在Abaqus隱式求解時,將載荷劃分為一定數(shù)量的增量步(increments)施加于結(jié)構(gòu),每個增量步結(jié)束時尋求近似平衡解,若干次迭代后才能獲得最終平衡解。Abaqus/Standard組合了上述增量和迭代過程。
Abaqus/Explicit中,默認情況下時間增量步大小完全是自動選取。在求解非線性問題時,不需要形成切線剛度矩陣,需要的是一個小小的增量步,只依賴與模型的高階自振頻率,與載荷類型和加載時間無關(guān),無需迭代即可獲得解答。
增量步和迭代步:
Abaqus/Standard可以讓用戶指定初始增量步大小,后繼計算過程中系統(tǒng)會自動選擇增量步的大小,在每個增量步結(jié)束時,結(jié)構(gòu)處于近似的平衡狀態(tài),將計算結(jié)果,寫入到.odb文件中。
平衡迭代和收斂:
在第一個增量步載荷中,Abaqus/Standard基于結(jié)構(gòu)的初始構(gòu)形
和結(jié)構(gòu)初始剛度
和
計算關(guān)于結(jié)構(gòu)的位移修正值
,基于
將結(jié)構(gòu)的構(gòu)形更新為
。
在更新后的構(gòu)形,形成新的切線剛度,進而計算新的內(nèi)部作用力
,總載荷與內(nèi)部作用力差值記為殘差力:
線性問題中,殘差力在模型每個自由度上均為 0 ,結(jié)構(gòu)處于平衡狀態(tài)。在非線性問題中,Abaqus/Standard將殘差力與設(shè)定的容許值(容許殘差)進行比較,若
小于容許殘差值,則
就是結(jié)構(gòu)在所施加載荷下有效的平衡構(gòu)形,除此之外,Abaqus/Standard還要檢查位移修正值是否相對于總的增量位移
很小。若
大于增量位移的
,將進行下一次迭代。上述兩個條件都滿足后,才認為結(jié)果是收斂的。
默認的容許值在整個時間段上作用與結(jié)構(gòu)上的平均力的。在整個模擬過程中,Abaqus/Standard會自動地計算平均力。

Newton-Raphson(N-R)迭代法的原理
Newton-Raphson(N-R)迭代法主要以分步逼近的方法計算,在每一增量步中,采用已得到的位移值帶入并求得與位移有關(guān)的切線剛度矩陣的值,再進行線性計算,反復(fù)調(diào)整計算的載荷值與設(shè)定載荷值的差進行迭代,使其達到設(shè)定的精度。
主要步驟
Step 1:將總外載荷$\bar{P}$分為一系列的載荷段,?
Step 2:在每個載荷段中進行循環(huán)迭代,直到在該載荷段內(nèi)收斂。 每個迭代步中剛度方程為: ?式中的
表示第
個載荷步。
Step 3:將所有載荷段循環(huán)迭代,并將結(jié)果累加。

缺點:Newton-Raphson(N-R)迭代需要每次形成切線剛度矩陣,帶來比較大的計算量,這也是隱式分析相對于顯示分析計算時間大大增加的重要原因。
修正方法:在自己非線性有限元編程時,可以將上述迭代過程稍加修正,將每次迭代時的切線剛度矩陣換做初始切線剛度矩陣,并且在迭代時保持不變,即可大大減少計算量,修正方法如下圖所示:

求解非線性方程的Newton-Raphson算法
數(shù)學解釋
非線性方程的根記為?,按照牛頓迭代法:
牛頓迭代計算流程:

Newton-Raphson迭代算法:
實例詳解
例:利用Newton-Raphson算法求解函數(shù)在 3.8 附近的零點。


以上就是木木分享關(guān)于Newton-Raphson算法相關(guān)的解釋,希望對初學者對于Abaqus有進一步的理解,本文涉及的理論及代碼來自以下參考文獻,進一步了解還需要翻閱這些書籍。
參考文獻:
[1] 莊茁. ABAQUS非線性有限元分析與實例[M]. 科學出版社, 2005.
[2] 曾攀. 有限元基礎(chǔ)教程[M]. 高等教育出版社, 2009.
[3] 占海明. MATLAB數(shù)值計算實戰(zhàn)[M]. 機械工業(yè)出版社, 2017.