作者Ecampus (7.7)
看板MATLAB
标题Fw: [疑问] 跑扩散方程式 到了终点..却不会衰退
时间Mon Oct 16 00:53:15 2017
: 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
1F:→ rex0707: Peclet number是多少? 对流项用中央差分可能会不稳定 10/16 10:08
2F:→ rex0707: 时间离散你用显/隐式还是Crank-Nicolson? 10/16 10:08
3F:→ rex0707: 有的时候算的对不对跟数值方法有很大的关系 10/16 10:09
4F:→ Ecampus: 中央差分法 原来会不稳定 我换其他法试试看 10/16 17:08