-
顯式算法
鎖定
- 中文名
- 顯式算法
- 外文名
- explicit algorithm
- 分 類
- 靜態顯式算法、動態顯式算法
- 應用學科
- 動力學
顯式算法簡介
顯式算法和隱式算法,有時也稱為顯式解法和隱式解法。
顯式算法顯式算法
顯式算法基於動力學方程,因此無需迭代;而靜態隱式算法基於虛功原理,一般需要迭代計算。顯式算法,最大優點是有較好的穩定性。
動態顯式算法採用動力學方程的一些差分格式(如廣泛使用的中心 [1] 差分法、線性加速度法、Newmark法和wilson法等),不用直接求解切線剛度,不需要進行平衡迭代,計算速度快,時間步長只要取的足夠小,一般不存在收斂性問題。因此需要的內存也比隱式算法要少。並且數值計算過程可以很容易地進行並行計算,程序編制也相對簡單。但顯式算法要求質量矩陣為對角矩陣,而且只有在單元級計算儘可能少時速度優勢才能發揮,因而往往採用減縮積分方法,容易激發沙漏模式,影響應力和應變的計算精度。
靜態顯式法基於率形式的平衡方程組與Euler向前差分法,不需要迭代求解。由於平衡方程式僅在率形式上得到滿足,所以得出的結果會慢慢偏離正確值。為了減少相關誤差,必須每步使用很小的增量。
動態顯式算法採用動力學方程的一些差分格式(如廣泛使用的中心 [1] 差分法、線性加速度法、Newmark法和wilson法等),不用直接求解切線剛度,不需要進行平衡迭代,計算速度快,時間步長只要取的足夠小,一般不存在收斂性問題。因此需要的內存也比隱式算法要少。並且數值計算過程可以很容易地進行並行計算,程序編制也相對簡單。但顯式算法要求質量矩陣為對角矩陣,而且只有在單元級計算儘可能少時速度優勢才能發揮,因而往往採用減縮積分方法,容易激發沙漏模式,影響應力和應變的計算精度。
靜態顯式法基於率形式的平衡方程組與Euler向前差分法,不需要迭代求解。由於平衡方程式僅在率形式上得到滿足,所以得出的結果會慢慢偏離正確值。為了減少相關誤差,必須每步使用很小的增量。
顯式算法隱式算法
隱式算法中,在每一增量步內都需要對靜態平衡方程進行迭代求解,並且每次迭代都需要求解大型的線性方程組,這以過程需要佔用相當數量的計算資源、磁盤空間和內存。該算法中的增量步可以比較大,至少可以比顯式算法大得多,但是實際運算中上要受到迭代次數及非線性程度的限制,需要取一個合理值。
顯式算法顯式與隱式的區別
使用顯式方法,計算成本消耗與單元數量成正比,並且大致與最小單元的尺寸成反比,應用隱式方法,經驗表明對於許多問題的計算成本大致與自由度數目的平方成正比,因此如果網格是相對均勻的,隨着模型尺寸的增長,顯式方法表明比隱式方法更加節省計算成本。
顯式算法是建立在i時刻的運動平衡方程,不需要迭代,運算簡單但是對步長要求很高,因為其影響精度和穩定性;而隱式算法是建立在i+1時刻的,因此需要迭代,過程複雜些,但是更加精確。
- 參考資料
-
- 1. 基於背景差分法和幀間差分法的視頻運動檢測 .知網[引用日期2017-04-19]