複製鏈接
請複製以下鏈接發送給好友

顯式算法

鎖定
顯式算法基於動力學方程,分為靜態顯式算法和動態顯式算法。顯式算法最大優點是有較好的穩定性。 動態顯式算法採用動力學方程的一些差分格式(如廣泛使用的中心差分法、線性加速度法、Newmark法和wilson法等),不用直接求解切線剛度,不需要進行平衡迭代。
中文名
顯式算法
外文名
explicit algorithm
分    類
靜態顯式算法、動態顯式算法
應用學科
動力學

顯式算法簡介

顯式算法和隱式算法,有時也稱為顯式解法和隱式解法。

顯式算法顯式算法

顯式算法基於動力學方程,因此無需迭代;而靜態隱式算法基於虛功原理,一般需要迭代計算。顯式算法,最大優點是有較好的穩定性。
  動態顯式算法採用動力學方程的一些差分格式(如廣泛使用的中心 [1]  差分法、線性加速度法、Newmark法和wilson法等),不用直接求解切線剛度,不需要進行平衡迭代,計算速度快,時間步長只要取的足夠小,一般不存在收斂性問題。因此需要的內存也比隱式算法要少。並且數值計算過程可以很容易地進行並行計算,程序編制也相對簡單。但顯式算法要求質量矩陣為對角矩陣,而且只有在單元級計算儘可能少時速度優勢才能發揮,因而往往採用減縮積分方法,容易激發沙漏模式,影響應力和應變的計算精度。
  靜態顯式法基於率形式的平衡方程組與Euler向前差分法,不需要迭代求解。由於平衡方程式僅在率形式上得到滿足,所以得出的結果會慢慢偏離正確值。為了減少相關誤差,必須每步使用很小的增量。

顯式算法隱式算法

隱式算法中,在每一增量步內都需要對靜態平衡方程進行迭代求解,並且每次迭代都需要求解大型的線性方程組,這以過程需要佔用相當數量的計算資源、磁盤空間和內存。該算法中的增量步可以比較大,至少可以比顯式算法大得多,但是實際運算中上要受到迭代次數及非線性程度的限制,需要取一個合理值。

顯式算法顯式與隱式的區別

使用顯式方法,計算成本消耗與單元數量成正比,並且大致與最小單元的尺寸成反比,應用隱式方法,經驗表明對於許多問題的計算成本大致與自由度數目的平方成正比,因此如果網格是相對均勻的,隨着模型尺寸的增長,顯式方法表明比隱式方法更加節省計算成本。
顯式算法是建立在i時刻的運動平衡方程,不需要迭代,運算簡單但是對步長要求很高,因為其影響精度和穩定性;而隱式算法是建立在i+1時刻的,因此需要迭代,過程複雜些,但是更加精確。
參考資料