有限元理論基礎(chǔ)及Abaqus內(nèi)部實(shí)現(xiàn)方式研究系列4:非線性問題的求解
(原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處)
1 概述
在CAE領(lǐng)域,從學(xué)校、實(shí)驗(yàn)室的自研算法到實(shí)現(xiàn)真正的商業(yè)化軟件是一條無比漫長(zhǎng)的道路。我們不研究有限元的新方法、新理論,只是研究商用有限元軟件的實(shí)現(xiàn)方式。有限元的理論發(fā)展了幾十年已經(jīng)相當(dāng)成熟,商用有限元軟件同樣也是采用這些成熟的有限元理論,只是在實(shí)際應(yīng)用過程中,商用軟件在這些傳統(tǒng)的理論基礎(chǔ)上會(huì)做相應(yīng)的修正以解決工程中遇到的不同問題,且各家軟件的修正方法都不一樣,每個(gè)主流商用軟件手冊(cè)中都會(huì)注明各個(gè)單元的理論采用了哪種理論公式,但都只是提一下用什么方法修正,很多沒有具體的實(shí)現(xiàn)公式。

一方面我們查閱Abaqus軟件手冊(cè)得到修正方法的說明,另一方面我們自己編程實(shí)現(xiàn)簡(jiǎn)單的結(jié)構(gòu)有限元求解器,通過自研求解器和Abaqus的結(jié)果比較結(jié)合理論手冊(cè)如同管中窺豹一般來研究Abaqus的修正方法,從而猜測(cè)商用有限元軟件的內(nèi)部計(jì)算方法。在研究的同時(shí),準(zhǔn)備將自己的研究成果記錄下來寫成一個(gè)系列文章,希望對(duì)那些不僅僅滿足使用軟件,而想了解軟件內(nèi)部實(shí)現(xiàn)方法甚至是做自己的軟件的朋友有些幫助。由于水平有限,里面可能有許多錯(cuò)誤,歡迎交流討論。
2 第四篇:非線性問題的求解
隨著分析對(duì)象越來越復(fù)雜,有限元軟件從線性分析向非線性分析(如材料為非線性、幾何大變形導(dǎo)致的非線性、接觸行為引起的邊界條件非線性等)發(fā)展,Abaqus的強(qiáng)大主要就在于能解決各種工程上的非線性問題。由于非線性理論和編程實(shí)現(xiàn)的困難性,研究起來也相對(duì)困難,只能一步步來,我們?cè)诒疚闹惺紫妊芯扛鞣N非線性都會(huì)遇到的求解問題和Abaqus的內(nèi)部實(shí)現(xiàn)方式。很多人做非線性編程結(jié)果正確性驗(yàn)證由于不知道商軟的內(nèi)部實(shí)現(xiàn)方式,采用小模型或者有理論解的模型對(duì)比理論結(jié)果和商軟最終的迭代結(jié)果,可能最終的結(jié)果差不多,但這種方法很容易就忽略了非線性中細(xì)節(jié)問題,如果進(jìn)一步對(duì)比迭代過程,就會(huì)發(fā)現(xiàn)迭代效率和精度和商軟相比差距較大,這種效率和精度當(dāng)遇到復(fù)雜工程問題時(shí)就尤為重要了。我們?cè)噲D通過自編程序和Abaqus非線性的每個(gè)迭代步的中間輸出量進(jìn)行對(duì)比,最終結(jié)合幫助文檔猜測(cè)Abaqus軟件非線性迭代的內(nèi)部實(shí)現(xiàn)方法。

2.1 非線性平衡方程及求解理論
在非線性分析過程中,無論哪一類非線性問題,經(jīng)過有限元離散后,都可以轉(zhuǎn)化為求解一個(gè)非線性方程組,對(duì)一個(gè)簡(jiǎn)單的一維問題,最終得到的非線性平衡方程如下

已知P,求u。如果是線性問題,那么直接用


如果是非線性問題,K與u相關(guān),那么就不能簡(jiǎn)單的用上面公式了。非線性問題求解有多種方法主要分為以下幾類:增量法、迭代法、增量迭代法和弧長(zhǎng)法,下面將具體講一下這幾類方法。
2.1.1 增量法
增量法的基本思想就是將施加外載荷的過程分割為若干個(gè)增量步,每一步只施加一個(gè)比較小的載荷增量,總載荷引起的位移就是所有增量步位移增量的累加。
對(duì)于每一個(gè)載荷增量
,平衡方程


在一個(gè)增量步內(nèi),我們可以把位移和載荷的變化看作是線性變化的過程。只要這些增量步取得夠小,最后求解的位移結(jié)果與實(shí)際值之間的差異將在容許的誤差范圍內(nèi)。
理論上講,如果沒有極值點(diǎn),也就是一個(gè)P和u一一對(duì)應(yīng),那么增量法總能求得真實(shí)解。但實(shí)際工程應(yīng)用情況中,增量步的步長(zhǎng)不可能無限小且增量步位移增量的累積誤差可能非常大造成最終結(jié)果偏差很大。同時(shí),在位移-載荷曲線的極值點(diǎn)處,切線剛度矩陣為零,位移方程無解。
2.1.2 迭代法


2.1.2.1 直接迭代法
直接迭代法取迭代方程為



2.1.2.2 Newton-Raphson法
迭代方程


詳細(xì)推導(dǎo)可見附錄。K的值和上面的直接法是一樣的,但最大區(qū)別是第一次迭代的u作為下一次的初始點(diǎn)。

2.1.2.3 Modified Newton-Raphson法
如果非線性曲線比較平緩,那么在New-Raphson迭代過程中迭代步的切線剛度矩陣可以近似為上幾個(gè)或者第一個(gè)迭代步的,即
。這樣可以只在第一個(gè)迭代步計(jì)算一次K,提高每個(gè)迭代步的計(jì)算速度,但由于一般情況下

的變化較大,所以會(huì)降低收斂速度。


2.1.2.4 BFGS法
其實(shí)就是Abaqus非線性Step設(shè)置中的Quasi-Newton方法,在Abaqus做非線性可以在Newton方法和Quasi-Newton二選一。這里不做更多說明。
2.1.3 增量迭代法
一般情況增量法可以保證求解過程的收斂性但收斂速度較慢,而Newton-Raphson法收斂速度較慢但收斂性沒有保證,所以混合法結(jié)合了增量法和Newton-Raphson法來求解非線性問題。混合法首先將外載荷分成若干個(gè)增量步,在每個(gè)增量步內(nèi)采用Newton-Raphson法迭代求解,在增量步內(nèi)求解完成后繼續(xù)求解下一個(gè)增量步,最后將所有增量步累加起來即得到結(jié)果。
2.1.4 收斂判據(jù)
常見的收斂判據(jù)有分為兩種,失衡力準(zhǔn)則、位移準(zhǔn)則
2.1.4.1 失衡力準(zhǔn)則


2.1.4.2 位移準(zhǔn)則


2.2 Abaqus的非線性問題求解
Abaqus的非線性中上面說的三種迭代都涉及,其中General Static分析步采用Newton或者Quasi-Newton方法,而Static, Riks分析步采用Riks弧長(zhǎng)法。我們現(xiàn)在只聚焦到General Static的Newton方法。
詳見Abaqus Theory Manual v6.12: 2.2.1 Nonlinear solution methods in Abaqus/Standard
Abaqus/Standard generally uses Newton's method as a numerical technique for solving the nonlinear equilibrium equations. The motivation for this choice is primarily the convergence rate obtained by using Newton's method compared to the convergence rates exhibited by alternate methods (usually modified Newton or quasi-Newton methods) for the types of nonlinear problems most often studied with Abaqus.
2.2.1 模型例子:非線性彈簧靜力分析
Example 1:非線性彈簧例子(詳見附件Test30 SpringNonLinear.cae Model-NonLinearSpringY4)
本篇采用定義應(yīng)力應(yīng)變的關(guān)系來模擬非線性的變化過程。
創(chuàng)建一根線彈簧,左端取固支約束,右端X方向拉力。
參數(shù)如下:
尺寸:X方向長(zhǎng)度L=1。
載荷幅值:R=5000


Abaqus中非線性彈簧設(shè)置如下:在Interact模塊的Connector Section中,選擇類型為Basic,平移為Axis,旋轉(zhuǎn)為None,在Behavior Options中添加Elasticity,定義為Nolinear,在Data表中添加應(yīng)力應(yīng)變數(shù)據(jù)。


輸入的應(yīng)變-應(yīng)力曲線如下圖所示:


Step選擇Static,Generic,Initial Increment Size如果是默認(rèn)的話就是1,也就是全量,我們這里改為0.1,其他默認(rèn)。


在Other中默認(rèn)使用Newton-Raphson方法。


提交job計(jì)算,計(jì)算完成后打開對(duì)應(yīng)的*.msg文件和*.sta文件查看我們需要的信息。
Abaqus的Genera Static分析步采用增量迭代法來求解非線性分析問題,默認(rèn)采用結(jié)合增量法和Newton-Raphson法的混合法。
下面,筆者將參照這sta文件和msg文件來講此算例中Abaqus非線性問題的求解步驟。
2.2.2 第一增量步


2.2.2.1 第一迭代步



2.2.2.2 第二迭代步





1.2.3 第二增量步

1.2.3.1 第一迭代步




2.2.4 第三增量步
迭代求解過程同上。
2.2.5 最終結(jié)果
最終應(yīng)力和應(yīng)變的計(jì)算結(jié)果如下圖所示。



最終計(jì)算的增量和每個(gè)增量步的迭代次數(shù)如下圖所示。


由上圖可知,Abaqus在分別在進(jìn)行第一次計(jì)算第四個(gè)增量步和第一次計(jì)算第五個(gè)增量步時(shí),因?yàn)榍蠼獠皇諗浚栽隽坎酱笮p為原來的0.25。
2.3 總結(jié)
本文簡(jiǎn)單介紹了非線性問題的幾種常用求解方法,并給出了在結(jié)構(gòu)有限元非線性求解時(shí)遵循的收斂準(zhǔn)則。同時(shí),給出了一個(gè)非線性彈簧靜力分析的例子(詳見附件SpringNonLinear.cae),并通過這個(gè)例子描述了Abaqus采用增量迭代法求解非線性問題的過程。
各種求解方法的優(yōu)缺點(diǎn)如下:
方法 |
優(yōu)點(diǎn) |
缺點(diǎn) |
增量法 |
收斂性較好 |
收斂效率低,累積誤差較大,某些時(shí)候會(huì)出現(xiàn)增量步過小而無法進(jìn)行實(shí)際計(jì)算的問題 |
迭代法 |
收斂效率較高 |
收斂性較差 |
增量迭代法 |
收斂性比迭代法好,收斂效率高 |
不能根本上解決迭代法收斂性的問題 |
弧長(zhǎng)法 |
收斂性好,計(jì)算穩(wěn)定性高 |
增量步過多,求解效率低 |
如果有任何其它疑問,歡迎聯(lián)系我們:
snowwave02 From www.yqgqt.org.cn
email: snowwave02@qq.com
==以往的系列文章==
第一篇:S4殼單元?jiǎng)偠染仃囇芯俊=榻BAbaqus的S4剛度矩陣在普通厚殼理論上的修正。
http://www.yqgqt.org.cn/content/post/338859
第二篇:S4殼單元質(zhì)量矩陣研究。介紹Abaqus的S4和Nastran的Quad4單元的質(zhì)量矩陣。
http://www.yqgqt.org.cn/content/post/343905
第三篇:S4殼單元的剪切自鎖和沙漏控制。介紹Abaqus的S4單元如何來消除剪切自鎖以及S4R如何來抑制沙漏的。
http://www.yqgqt.org.cn/content/post/350865
以下內(nèi)容為付費(fèi)內(nèi)容,請(qǐng)購買后觀看
58人購買
收費(fèi)內(nèi)容為空,如果覺得文章對(duì)你有幫助,也可以打賞一下,謝謝支持
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺(tái)客服
TOP




















