Fw: [討論]求助!implict scheme算一維擴散..覺得怪怪

看板Fortran作者 (海虎)時間11年前 (2013/09/28 23:35), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/1
※ [本文轉錄自 MATLAB 看板 #1IHlSesq ] 作者: LIZEN310321 (海虎) 站內: MATLAB 標題: [討論]求助!implict scheme算一維擴散..覺得怪怪 時間: Sat Sep 28 23:34:58 2013 http://en.wikipedia.org/wiki/Finite_difference_method 我先用維基百科內的explicit scheme法(顯相差分法) 用explicit scheme法,算出一維液體裡每一個段點的濃度擴散 如果換到implicit scheme法(隱相差分法)來看.. http://upload.wikimedia.org/math/c/f/d/cfd031f4eb1bbf8c2a4bdd02270ce640.png
目前已知的值: 1.有左邊式子的第二個數(u..上n下j), (u..上n下j)就是我用explicit scheme法算出來的結果 2.也知道k跟h的值 如果我想把他化為矩陣的形式→化為{係數}*[變數]=[常數] PS.變數列為各項未知的(u ..上j+1..下i-1)、(u ..上j+1..下i)、(u ..上j+1..下i+1) 不過我把他化成矩陣的形式做代入的時候 發覺有一點很奇怪.. 我把在explicit scheme法得到的各段點的液體濃度..代入implicit scheme http://tinyurl.com/l5bkh2c (圖中的下方=我們用explicit scheme法得到的某一點的液體濃度) (要用下方推出上方三個未知點的濃度=這個方法就是implicit scheme法) 將每點代入之後, 這樣會變成每一個段點得出的係數都相同,變數本來就是相同的 最後只有常數不同,不知道是不是我弄錯.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.230.200.54 ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: LIZEN310321 (125.230.200.54), 時間: 09/28/2013 23:35:30

10/08 23:14, , 1F
沒錯啊,所以你得到 Ax=b, A都相同,解出x
10/08 23:14, 1F

10/08 23:16, , 2F
然後再解下一個time step 的 x, 此時的b 會因上一次的x改變
10/08 23:16, 2F

10/08 23:16, , 3F
然後就能一直玩下去啦。
10/08 23:16, 3F
文章代碼(AID): #1IHlT4tn (Fortran)
文章代碼(AID): #1IHlT4tn (Fortran)