您好,登錄后才能下訂單哦!
所謂顯式和隱式,是指求解方法的不同,即數學上的出發點不一樣。并不是說顯式只能求動力學問題,隱式只能求靜力學問題,只是求解策略不通。
顯式求解是對時間進行差分,不存在迭代和收斂問題,最小時間步取決于最小單元的尺寸。過多和過小的時間步往往導致求解時間非常漫長,但總能給出一個計算結果。解題費用非常昂貴。因此在建模劃分網格時要非常注意。
隱式求解和時間無關,采用的是牛頓迭代法(線性問題就直接求解線性代數方程組),因此存在一個迭代收斂問題,不收斂就的不到結果。
兩者求解問題所耗時間的長短理論上無法比較。實際應用中一般感覺來說顯式耗時多些。由于兩者解題的出發點,所以一般來說顯式用于求解和時間相關的動力學問題。隱式用來求解和時間無關的靜力學問題。但也不是絕對的。比如,用隱式求解時,為了克服迭代不收斂,改用顯式算,但是要多給點時間,這樣雖然克服了不收斂的問題,但是求解的時間費用也是相當客觀的。另外,隱式也可以求解動力學問題。
顯式求解與隱式在數學上說主要是在求解的遞推公式一個是用顯式方程表示,一個是用影視方程來表示。比如a(n)=a(n-1)+b(n-1),后一次迭代可以由前一次直接求解,這就是顯示方程,如果a(n)=a(n-1)+f[a(n)],f[a(n))為a(n)的函數,此時a(n) 不能用方程顯示表示,及數學上的隱函數,一般很難直接求解,多用迭代試算法間接求解。有限元在求解動力學問題中直接積分法中的中心差分積分就是顯示求解,而Newmark積分法則為隱式積分。
假設現在一個物體已經被離散成有點個單元。
顯式求解與隱式在數學上說主要是在求解的遞推公式一個是用顯式方程表示,一個是用影視方程來表示。比如a(n)=a(n-1)+b(n-1),后一次迭代可以由前一次直接求解,這就是顯示方程,如果a(n)=a(n-1)+f[a(n)],f[a(n))為a(n)的函數,此時a(n) 不能用方程顯示表示,及數學上的隱函數,一般很難直接求解,多用迭代試算法間接求解。有限元在求解動力學問題中直接積分法中的中心差分積分就是顯示求解,而Newmark積分法則為隱式積分。顯式求解與隱式在數學上說主要是在求解的遞推公式一個是用顯式方程表示,一個是用影視方程來表示。比如a(n)=a(n-1)+b(n-1),后一次迭代可以由前一次直接求解,這就是顯示方程,如果a(n)=a(n-1)+f[a(n)],f[a(n))為a(n)的函數,此時a(n) 不能用方程顯示表示,及數學上的隱函數,一般很難直接求解,多用迭代試算法間接求解。
有限元在求解動力學問題中直接積分法中的中心差分積分就是顯示求解,而Newmark積分法則為隱式積分。顯式求解與隱式在數學上說主要是在求解的遞推公式一個是用顯式方程表示,一個是用影視方程來表示。比如a(n)=a(n-1)+b(n-1),后一次迭代可以由前一次直接求解,這就是顯示方程,如果a(n)=a(n-1)+f[a(n)],f[a(n))為a(n)的函數,此時a(n) 不能用方程顯示表示,及數學上的隱函數,一般很難直接求解,多用迭代試算法間接求解。有限元在求解動力學問題中直接積分法中的中心差分積分就是顯示求解,而Newmark積分法則為隱式積分。
x : 當前物體位置;則 表示速度,表示加速度。
為物體的質量矩陣,
對于牛頓第二定律: F=ma,用矩陣的形式表示的話:
其中:表示物體在X位置下,速度為X導的情況下的受力。
首先問題的初始條件是初始位移和初始速度。
目的是求得h時間后的位移和速度。
對于式子:
若用顯示歐拉求解,記,,則可得到:
這樣,就利用歐拉前向方法在小步長的條件下求得當前狀態的位置和速度。
對于歐拉隱式解法,上式就變成了
前向解法和后向解法的區別就是前向的求解只依賴于前一時刻的狀態量,而后向求解則不僅依賴于前一時刻的狀態,還依賴于當前時刻的狀態。
上式是一個非線性方程,不好直接求解,先對 f 進行泰勒級數展開:
代入原式:
用 I 表示單位矩陣,對上式進行移項,有
通過這個式子很容易求得 detaV,然后detaX也可以求出,那么當前時刻的狀態就求出來了。
Large Steps in Cloth Simulation
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。