顯式和隱式動力分析比較

2017-06-15  by:CAE仿真在線  來源:互聯(lián)網(wǎng)

隨著國內(nèi)各種動力彈塑性的興起,對動力時程分析中提到的方法多有各種說法,對于設計院的人來說更是云里霧里的多,今天看到一篇文章講得不錯,于是結合下自己的看法大概說說顯式和隱式動力分析的差別。
首先簡單的解釋下:
顯式分析:用上一步的結果和當前步的結果計算下一步的計算結果。有條件收斂,要求時間步較小。通常做動力分析用這種方法。
隱式分析:用當前步結果和下一步未知結果反復迭代下一步結果,必須通過迭代得到。無條件收斂。是一種能量平衡的結果。通常做靜力分析用這種方法。
兩者均是求解動力方程,只是顯式求解的每一步不是絕對平衡,而隱式求解是在每一步都是近似絕對平衡的。

顯式算法:
顯式算法最大優(yōu)點是有較好的穩(wěn)定性。
動態(tài)顯式算法采用動力學方程的一些差分格式(如廣泛使用的中心差分法、線性加速度法等),不用直接求解切線剛度,不需要進行平衡迭代,計算速度快,時間步長只要取的足夠小,一般不存在收斂性問題。 顯式算法不需要迭代,也不需要組集總剛,因此需要的內(nèi)存也比隱式算法要少。并且數(shù)值計算過程可以很容易地進行并行計算,程序編制也相對簡單。但顯式算法要求質(zhì)量矩陣為對角矩陣,而且只有在單元級計算盡可能少時速度優(yōu)勢才能發(fā)揮, 因而往往采用減縮積分方法,容易激發(fā)沙漏模式,影響應力和應變的計算精度。"
靜態(tài)顯式法基于率形式的平衡方程組與Euler向前差分法,不需要迭代求解。由于平衡方程式僅在率形式上得到滿足,所以得出的結果會慢慢偏離正確值。為了減少相關誤差,必須每步使用很小的增量。這個方法目前應用比較少。
總之顯式方法不需要迭代是個利好,每步的時間基本是固定的,可以根據(jù)設置的波長和分析步長估算出計算總時間。根據(jù)上面論述可以看出,一般多采用動態(tài)顯式,一般有中心差分法、線加速度法等,也有人列出精細積分法為顯式算法。其中中心差分法的變種也非常多,有蛙跳式、向后差分式等。由于其算法上當前步結果只跟上一步結果有關,因此只要對角化質(zhì)量矩陣和阻尼矩陣即可不需要聯(lián)立動力方程,可解耦到每個單元的差分公式,大大簡化了計算過程。但為了保持好的精度,需要當前步和上兩步之間盡量是線性關系,因此需要很小的時間步長,通常算法也就用于高速沖擊、碰撞上,這些運動可天然的彌補其步長短的問題,但現(xiàn)在隨著計算機硬件的能力提升,也開始用到普通運動求解上。

隱式算法 :
在每一增量步內(nèi)都需要對靜態(tài)平衡方程進行迭代求解,并且每次迭代都需要求解大型的線性方程組,這以過程需要占用相當數(shù)量的計算資源、磁盤空間和內(nèi)存。該算法中的增量步可以比較大,至少可以比顯式算法大得多,但是實際運算中上要受到迭代次數(shù)及非線性程度的限制,需要取一個合理值。通常在一個時間增量下,隱式算法在彈塑性后期此時剛度比較奇異了,難以收斂,也就需要采用二分法把當前的分析步折半繼續(xù)解方程,并且不斷二分下去直到方程求解完成,所以隱式算法時在前面計算速度還不錯,但越往后越慢,時間也是不可估量的,可能在地震波20s就算不下去了等等。但是隱式算法有個好處就是只要算了步數(shù)其結果一般一定是正確的,不會像顯式那樣雖然算完了,其結果可能是發(fā)散的。
隱式算法在求解運動方程時是當前步結果除了更上一步有關外還跟當前步有關,因此不能解耦大型方程組,需要組集剛度,用得多是newmark法和wilson-theta法,其中的beta、alpha和theta值的確定可改變方法的穩(wěn)定性、計算效率等。隱式求解法的最大優(yōu)點是它具有無條件穩(wěn)定性,即時間步長可以任意大。

計算時間:
上面大致說了下,不過一般經(jīng)驗表明:
使用顯式方法,計算成本消耗與單元數(shù)量成正比,并且大致與最小單元的尺寸成反比
應用隱式方法,經(jīng)驗表明對于許多問題的計算成本大致與自由度數(shù)目的平方成正比,這是在保證能計算完的情況下, 因此如果網(wǎng)格是相對均勻的,隨著模型尺寸的增長,顯式方法表明比隱式方法更加節(jié)省計算成本。

通常認為兩者有此區(qū)別:
=============================================================
顯式算法 隱式算法
-------------------------------------------------------------
(01)適用問題 動力學(動態(tài)) 靜力學(靜態(tài))
(02)阻尼 人工阻尼 數(shù)值阻尼
-------------------------------------------------------------
(03)每步求解方法 矩陣乘法 線性方程組
(04)大矩陣(總剛) 否 是
(05)數(shù)據(jù)存貯量 小 大
(06)每步計算速度 快 慢
(07)迭代收斂性 無 有
(08)確定解 有確定解 可能是病態(tài)無確定解
------------------------------------------------------------
(09)時步穩(wěn)定性 有條件 無條件
(10)時間步 小 大
(11)計算精度 低 高
=============================================================
從上面大致可以出,有些認識只是表象而已,其中(1)是明顯的錯誤,因為兩種方法都可以用于動力學和靜力學問題,只是一種選擇而已,(2)也是錯誤的,阻尼的選擇不是算法本身,而是求解需求。(03)是算法的本質(zhì),也決定了(04)(05)(06)(07)(08),這是算法的特點所在,04~08并非算法本身的特點而是每一步求解方法的特征。同理(09)是算法的特點,決定了(10)(11)。
過(03)(09)可以得到兩種方法的計算特點,顯式算法是每一步求解為矩陣乘法,時間步選擇為條件穩(wěn)定;隱式算法是每一步求解為線性方程組求解,時間步選擇為無條件穩(wěn)定。

附加說明:
{1)求解線性靜力學問題,雖然求解線性方程組,但是沒有時步的關系,所以不應將其看作隱式算法。而是靜力學隱式方程求解問題。
(2)求解非線性靜力學問題,雖然求解過程需要迭代,或者是增量法,但是沒有明顯的時步問題,所以不應將其看作隱式算法。仍歸結為隱式方程求解問題
3)靜態(tài)松弛法,可以認為是將動力學問題看作靜力學問題來解決,每一步達到靜力平衡,需要數(shù)值阻尼。
4)動態(tài)松弛法,可以認為是將靜力學問題或者動力學問題,分為時步動力學問題,采用向后時步迭代的思想計算。對于解決靜力學問題時,需要人工阻尼。

最后說下軟件:
abaqus中是既有隱式也有顯式算法的,隱式采用的是改進的newmark法,是HHT方法,顯式采用的是中心差分法。目前來說abaqus吧這兩種方法都做到了極致
LS-dyna:顯式算法的鼻祖,有隱式算法和顯式算法,newmark wilson(這個不確定)和中心差分
sausage:采用中心差分法,沒有隱式算法

開放分享:優(yōu)質(zhì)有限元技術文章,助你自學成才

相關標簽搜索:顯式和隱式動力分析比較 abaqus分析培訓 abaqus技術教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com