Re: [疑問] 跑擴散方程式 到了終點..卻不會衰退

看板Physics作者 (7.7)時間8年前 (2017/10/16 00:47), 8年前編輯推噓7(70110)
留言117則, 5人參與, 8年前最新討論串2/3 (看更多)
: http://imgur.com/TxeHaFC
: : 這是一維的汙染物濃度擴散方程式 : u是速度 c是濃度 : E是擴散係數(延散係數) : P是衰減係數 : : : 我用台灣某條河川 做實地測驗、與跑程式模擬兩個結果 : 實地測驗得到的曲線 : 就是高斯分布那一種型態(從0→到濃度最高點→到終點濃度衰退為0) : : : 跑程式的話 : 依照各參數輸入 得到的結果卻是(0→濃度最高點→到終點仍然濃度最高點 沒衰退衰減過) : : → wohtp: 有圖嗎?你的初始條件和邊界條件是什麼? 10/10 10:36 : → wohtp: 終點是時間上的終點嗎?多遠? 10/10 10:39 您好 初始條件 我是假設開始的釋放點(0公尺處) 濃度為100ppb 邊界條件 我假設終點站是N 又C(N-1)=C(N+1) 所以濃度會一直無法下降 後來我改成C(N)=0 (距離是 0M~1600M) (時間設定是0分鐘~160分鐘) 但是 也是到後面快終點的時候 濃度才會降下來 我想得到的圖形是類似高斯分布這樣的 https://imgur.com/w11jVaI
但我實際得到的結果是https://imgur.com/vZSSWeh
=.= 我想做的是 時變的系統 濃度隨時間變化的 不過現在卡關 我知道時不變系統怎麼做....不知道時變系統怎麼做 求高手幫忙解惑 薄酬2000P CC(I)=CC(I)+E*DT*(CC(I+1)-2*CC(I)+CC(I-1))/DX/DX-& U*DT*(CC(I+1)-CC(I-1))/2./DX-& DE*DT*CC(I) CC(N)=0 我的時不變系統是這樣寫 如果改成時變..我還在想要如何改 : → Vulpix: 聽起來除了沒衰退有點詭異外,一段時間後濃度最高點位置不 10/10 20:20 : → Vulpix: 變,這件事不是什麼大問題啊。當然視乎你的IC、BC、t。 10/10 20:22 : → wohtp: 我本來想說是邊界條件沒設對,擴散到最旁邊又被擋回來之類 10/11 10:21 : → wohtp: 但是發現他還有用手放進去衰減 10/11 10:22 : → wohtp: 最後沒有變成零就是數值做錯了,沒話好說 10/11 10:23 : → saltlake: 確定參數輸入正確? 跑的程式誰寫的? 10/11 11:17 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.93.84 ※ 文章網址: https://www.ptt.cc/bbs/Physics/M.1508086032.A.2D8.html ※ 編輯: Ecampus (125.230.93.84), 10/16/2017 00:57:05

10/16 02:38, 8年前 , 1F
這你的方程式有解析解啦
10/16 02:38, 1F

10/16 02:39, 8年前 , 2F
你要不要乾脆放棄數值算了
10/16 02:39, 2F

10/16 03:10, 8年前 , 3F
解析解我有 只是我要做的是數值解跟解析解的對比
10/16 03:10, 3F

10/16 10:50, 8年前 , 4F
我覺得你首先連方程式是什麼意思好像都不清楚啊...
10/16 10:50, 4F

10/16 10:51, 8年前 , 5F
能夠魔改成沒有時間就已經很神奇了
10/16 10:51, 5F

10/16 10:52, 8年前 , 6F
然後你覺得拿掉時間以後得到的解是什麼意思?
10/16 10:52, 6F

10/16 10:55, 8年前 , 7F
我是不覺得你魔改過的方程式有什麼意義啦
10/16 10:55, 7F

10/16 10:56, 8年前 , 8F
然後你的邊界條件又是什麼意思?
10/16 10:56, 8F

10/16 11:40, 8年前 , 9F
時變就把 dc/dt --> c(t+1)-c(t) = ...
10/16 11:40, 9F

10/16 11:40, 8年前 , 10F
右邊那一堆都只跟 c(t) 有關
10/16 11:40, 10F

10/16 11:41, 8年前 , 11F
給定 c(t) 你可以算 c(t+1) - c(t),就可以找到 c(t+1)
10/16 11:41, 11F

10/16 11:42, 8年前 , 12F
不過你最好想清楚你的邊界條件要什麼
10/16 11:42, 12F

10/16 11:42, 8年前 , 13F
把邊邊直接釘在零實在很可疑
10/16 11:42, 13F

10/16 17:10, 8年前 , 14F
我試一下大大說的時變寫法看看 唉 當初沒好好學基本程式=
10/16 17:10, 14F

10/16 17:10, 8年前 , 15F
=.=導致現在的苦果
10/16 17:10, 15F

10/16 21:21, 8年前 , 16F
10/16 21:21, 16F

10/18 03:54, 8年前 , 17F
用python寫了個簡單的模擬程式 畫出來的圖長這樣
10/18 03:54, 17F

10/18 03:54, 8年前 , 18F

10/18 03:55, 8年前 , 19F
橫軸是空間位置,縱軸是濃度。黑色曲線是起始濃度分
10/18 03:55, 19F

10/18 03:57, 8年前 , 20F
部(假設是高斯分佈),然後其他紅色漸漸變淡的曲線是
10/18 03:57, 20F

10/18 03:57, 8年前 , 21F
隨時間改變的濃度空間分佈變化。
10/18 03:57, 21F

10/18 04:11, 8年前 , 22F
玩一下不同起始濃度分佈 https://imgur.com/Bo2nFhe
10/18 04:11, 22F

10/18 04:16, 8年前 , 23F

10/18 07:55, 8年前 , 24F
樓上Good Job
10/18 07:55, 24F

10/18 10:26, 8年前 , 25F
問一下b大邊界條件是什麼?
10/18 10:26, 25F

10/18 11:40, 8年前 , 26F
回w大 還沒有放任何邊界條件
10/18 11:40, 26F

10/18 12:02, 8年前 , 27F
用的是forwrd Euler scheme
10/18 12:02, 27F

10/18 12:03, 8年前 , 28F
forward
10/18 12:03, 28F

10/18 12:08, 8年前 , 29F
時間/空間step放大10倍 https://imgur.com/ekuPCMM
10/18 12:08, 29F

10/18 14:37, 8年前 , 30F
不可能不放邊界條件吧?不然邊界附近的空間導數怎麼定義?
10/18 14:37, 30F

10/18 15:30, 8年前 , 31F
大概可以當作Neumann BC吧?
10/18 15:30, 31F

10/18 15:31, 8年前 , 32F
看那幾張圖,這個條件感覺比較符合code。
10/18 15:31, 32F

10/18 15:39, 8年前 , 33F
不過邊界的空間導數也可以用one-side的寫法。
10/18 15:39, 33F

10/18 15:57, 8年前 , 34F
濃度到了邊界可不可以漏出去/怎麼漏出去可是很重要的
10/18 15:57, 34F

10/18 15:58, 8年前 , 35F
要是隨便放個periodic bc或是會反射的,那整體衰減其實就跟
10/18 15:58, 35F

10/18 15:59, 8年前 , 36F
擴散完全無關,不是嗎?
10/18 15:59, 36F

10/18 15:59, 8年前 , 37F
我想問的是這個
10/18 15:59, 37F

10/18 17:19, 8年前 , 38F
感謝w大的指點。昨天半夜睡不著無聊爬起來亂寫一通:p
10/18 17:19, 38F

10/18 17:20, 8年前 , 39F
我的確沒考量到邊界條件,也沒去處理這問題
10/18 17:20, 39F
還有 38 則推文
還有 1 段內文
10/19 21:48, 8年前 , 78F
而不光是只想知道擴散物質的濃度在原點隨時間的變化
10/19 21:48, 78F

10/19 21:52, 8年前 , 79F
你稱作衰減係數的P 就是我說的 external source or
10/19 21:52, 79F

10/19 21:52, 8年前 , 80F
sink
10/19 21:52, 80F

10/19 23:11, 8年前 , 81F
把 d/dx 代換成 (d/dx - E/2u) 總之配完整平方搞掉一階項
10/19 23:11, 81F

10/19 23:12, 8年前 , 82F
然後本來的解照樣用
10/19 23:12, 82F

10/19 23:12, 8年前 , 83F
應該這樣就可以了吧
10/19 23:12, 83F

10/19 23:16, 8年前 , 84F
!!!!!!!是的 立馬TRY一下
10/19 23:16, 84F

10/20 01:17, 8年前 , 85F
算出來當"河流"有流速時 https://imgur.com/EZXk9ne
10/20 01:17, 85F

10/20 01:17, 8年前 , 86F
也就是你的 u > 0 的時候
10/20 01:17, 86F

10/20 01:18, 8年前 , 87F
在50的位置撒入一個gaussain分佈的擴散物,"河流"往
10/20 01:18, 87F

10/20 01:19, 8年前 , 88F
橫軸的右方流動
10/20 01:19, 88F

10/20 01:20, 8年前 , 89F
(邊界條件必須更嚴格討論 不過大致上就這樣了)
10/20 01:20, 89F

10/20 01:23, 8年前 , 90F
要取空間任一處濃度隨時間變化 都沒問題的。
10/20 01:23, 90F

10/20 01:52, 8年前 , 91F
要扔方形分佈也行囉 https://imgur.com/8fC3ia4
10/20 01:52, 91F

10/20 01:55, 8年前 , 92F
要扔 "delta function" 顯然在這數值計算會罩成困擾
10/20 01:55, 92F

10/20 01:56, 8年前 , 93F
圖形出來不合理 我就不放了
10/20 01:56, 93F

10/20 01:58, 8年前 , 94F
當把模擬空間加到更大例如1000,基本上不管是高斯或
10/20 01:58, 94F

10/20 01:59, 8年前 , 95F
是方形分佈,都能慢慢逼近"delta function"
10/20 01:59, 95F

10/20 02:00, 8年前 , 96F
這個東西玩二維應該會更好玩,diffusion 和 "河流"方
10/20 02:00, 96F

10/20 02:01, 8年前 , 97F
向的交互影響,還有流速快慢和diffusion constant的
10/20 02:01, 97F

10/20 02:02, 8年前 , 98F
大小變化
10/20 02:02, 98F

10/20 02:07, 8年前 , 99F
我這模擬狀況故意把河流流速放的非常慢,只是要展示
10/20 02:07, 99F

10/20 02:08, 8年前 , 100F
當 shear flow 出現時,對原本被動擴散的影響
10/20 02:08, 100F

10/20 15:41, 8年前 , 101F
下游邊界的濃度似乎累積得蠻高的,所以可能不太準?
10/20 15:41, 101F

10/20 16:25, 8年前 , 102F
純粹邊界條件問題 我上游設定0 下游用外插法 所以我
10/20 16:25, 102F

10/20 16:26, 8年前 , 103F
說邊界條件要更嚴格討論 不過我玩夠了
10/20 16:26, 103F

10/20 16:28, 8年前 , 104F
而且如果仔細看 下游累積到某個高點 已經開始下降
10/20 16:28, 104F

10/20 16:29, 8年前 , 105F
累積量和河流流速以及模擬時間長度會有關係 我肉眼
10/20 16:29, 105F

10/20 16:30, 8年前 , 106F
看不出來 暫時也不會想要嚴格探討誤差 好玩罷了
10/20 16:30, 106F

10/20 16:32, 8年前 , 107F
要讓邊界不累積很容易設定邊界0就好 但是會比較有意
10/20 16:32, 107F

10/20 16:32, 8年前 , 108F
義嗎 這我是不知道
10/20 16:32, 108F

10/20 16:39, 8年前 , 109F
我是沒把所有參數/條件全都清楚po上來 所以好像也沒
10/20 16:39, 109F

10/20 16:43, 8年前 , 110F
甚麼價值討論。原 po 如果想做類似的模擬,就把我
10/20 16:43, 110F

10/20 16:44, 8年前 , 111F
給的程式自己改一下矩陣A和B的元素,把 shear flow
10/20 16:44, 111F

10/20 16:46, 8年前 , 112F
項影響後造成的改變放進去就好了。source/sink 在
10/20 16:46, 112F

10/20 16:46, 8年前 , 113F
原po目前的狀況,大概還不必考慮
10/20 16:46, 113F

10/20 16:59, 8年前 , 114F
補一張下游邊界條件0 https://imgur.com/HFGpvDy
10/20 16:59, 114F

10/20 17:00, 8年前 , 115F
當初只是想玩玩不同的邊界處理方式 沒想太多
10/20 17:00, 115F

10/20 17:47, 8年前 , 116F
感謝大家 我來研究一下 感恩Q_Q
10/20 17:47, 116F

10/20 17:48, 8年前 , 117F
感謝大家 我來研究一下 感恩Q_Q
10/20 17:48, 117F
文章代碼(AID): #1Puv4GBO (Physics)
討論串 (同標題文章)
文章代碼(AID): #1Puv4GBO (Physics)