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

看板MATLAB作者 (7.7)時間7年前 (2017/10/16 00:53), 7年前編輯推噓0(004)
留言4則, 2人參與, 7年前最新討論串1/1
: 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 參數設定是對的 ※ 編輯: Ecampus (125.230.93.84), 10/16/2017 00:58:03

10/16 10:08, 7年前 , 1F
Peclet number是多少? 對流項用中央差分可能會不穩定
10/16 10:08, 1F

10/16 10:08, 7年前 , 2F
時間離散你用顯/隱式還是Crank-Nicolson?
10/16 10:08, 2F

10/16 10:09, 7年前 , 3F
有的時候算的對不對跟數值方法有很大的關係
10/16 10:09, 3F

10/16 17:08, 7年前 , 4F
中央差分法 原來會不穩定 我換其他法試試看
10/16 17:08, 4F
文章代碼(AID): #1Puv9zsG (MATLAB)
文章代碼(AID): #1Puv9zsG (MATLAB)