看板 Mechanical 關於我們 聯絡資訊
※ 引述《wavek (狗貓貓 m(OvO)m)》之銘言: : 近來有個小疑惑 : 說來都過了這麼久才有(或是說還有)這個疑惑 : 真的滿慘的我 = =" : 就是有限元素法跟有限差分法的區分 : 大家是怎麼區分的? 有甚麼差別 : 研究所的時候是學有限差分的 : 以為upwind,central differences甚麼的 : 都是有限差分在用的 : 最近用模擬軟體再跑的時候 : 覺得設定上面跟有限差分看起來好像都差不多 : 可是卻是有限元素分析軟體 : 喔~ 就讓我更加困惑了 : 有限元素跟有限差分的差別 : 是否可以從設定上? 計算中? 結果上? 看出來呢 我個人是覺得他們兩個嚴格來說是完全不一樣的東西啦 下面解釋有點囉唆 懶得看的人可以直接跳到最後 例如有一個一維的熱平衡方程式 (c(x) T(x)')' + s(x) = 0 x in (x1,x2) 邊界條件 T = T1 @ x1, T = T2 @ x2 假設我們可以找到一個解T使得上面方程式滿足 我們叫這個解 強解 (strong solution) 在這個例子裡面strong solution是要存在於C^2(x1,x2) (二次微分連續) 但是我們可以把方程式乘以一個測試函數(test function) v(x) 然後用散度定理(divergence thm)把它改寫成weak form ∫cT'v' - ∫s v = 0 假設我們可以找到另一個解T=U使得上面的式子對於所有的測試函數都成立 我們可以看出U不需要兩次微分連續 U只需要屬於H1 space (一次微分以後平方積分不會爆掉) 就可以了 對於這種解U我們叫它 弱解 (weak solution) 我們可以看出弱解不一定足夠光滑可以滿足原本的方程式 回到有限差分(finite difference) 有限差分是一種直接求解法(direct method) 他直接求解方程式 但是會有一些問題 例如: 1. 需要規律的格點(regular grids) 在對於一些複雜形狀的domain會有一些問題 2. 我們只有解在格點上的資訊 對於格點還有格點中間我們沒有任何資訊 3. 穩定性, 效率, ....... 那既然有直接求解法 當然也有不直接求解法(indirect method) 而有限元素法就是一種不直接求解法 不直接求解法一般來說會先把問題寫成weak form再求解 而數值上的做法是找出weak solution的近似解 在weak solution的函數空間裡面找一個有限維度的子空間 然後在這個子空間裡面找出最佳的近似解 在有限元素法裡面這個子空間就是被你的mesh還有element控制 當然你的mesh還有element選得很爛的話當然就只會有很爛的近似解 廢話了一堆結論就是 1. Finite difference是一種direct method 直接求解方程式本身 2. Finite element是一種indirect method 是求解方程式的 weak form -- 以上為個人理解 歡迎指正 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 12.1.77.3 ※ 文章網址: https://www.ptt.cc/bbs/Mechanical/M.1489470937.A.0BF.html ※ 編輯: kobeblack (12.1.77.3), 03/14/2017 14:00:41
rex0707: 應該是用integration by parts而不是散度定理吧?! 03/14 17:01
rex0707: 還有Green's identity 03/14 17:03
RoarLiao: 學長好!XD 03/14 17:44
liuyucheng: 講得不錯 03/14 19:28
aidsnichael: 推推 03/14 21:09
wavek: 謝謝! 最後兩句挺清楚的 不過上面我需要消化一下XD 03/14 21:09
kobeblack: @rex0707 對我忘了講還有用上分部積分 03/14 22:47
kobeblack: @rex0707 我自己是把green定義成一維的散度定理 03/14 22:48
kobeblack: @RoarLiao 好久不見 XD 03/14 22:50
rex0707: 補充 很久以前就發展出generalized finite difference 03/15 22:38
rex0707: method (GFDM) 用來求解不規則domain的問題 台灣也有老師 03/15 22:38
rex0707: 做這方面的研究 03/15 22:38
swyoung: 推 03/18 09:08
SkySoldier55: 講的超好 10/10 11:18