欢迎来到天天文库
浏览记录
ID:47430768
大小:123.00 KB
页数:6页
时间:2020-01-11
《《水环境数学模型》(P39-47)隐式差分法求解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、河流水质模拟计算思路河流水质模型采用如下方程:(1)中:—水质指标浓度;—纵向扩散系数;—平均流速;—外部的源和漏(如支流的影响等);—时间;—所考察的距离。以《水环境数学模型》(P39-47)隐式差分法求解如下:由于为水质指标浓度的函数,不妨设,忽略支流影响。则方程(1)可化成下面形式:(2)对方程(2)整理得:(3)令:方程(3)可简化为:(4)边界条件:i=1时i=n时矩阵形式:河流水质模拟计算流程符号说明:Dx—空间步长Dt—时间步长Cj—j时刻各断面的污染物浓度E—j时刻各断面的纵向扩散系数U—j时刻各断面平均流速K—污染物的衰减系数NT—模拟的次数其中:
2、A,a,b,c,d,x为计算辅助矩阵。计算流程图见图一j=0输入Dx,Dt,U,E,KCj输入j+1时刻C(1)i=1a(i)=-E(i+1)/(Dx^2)b(i)=1/Dx+2*E(i+1)/(Dx^2)+K/2C(i)=a(i)d(i)=Cj(i+1)*(1/Dt-U(i+1)/Dx)+Cj(i)*(U(i+1)/Dx-K/2)i<=length(U)-1i=i+1否是i=2A(i,i)=b(i)A(i-1,i)=a(i)A(i,i+1)=c(i)i<=length(U)-2否是i=i+1i=1d(1)=b(1)-a(1)*Cj(1)i=n=length(U)-
3、1A(n,n-1)=a(i)-c(i)A(n,n)=b(i)+2*c(i)i=1m=A(i+1,i)/A(i,i)A(i+1,i:i+1)=A(i+1,i:i+1)-m*A(i,i:i+1);b(i+1)=b(i+1)-m*b(i);i<=n=rank(A)-1否i=i+1x(n)=b(n)/A(n,n)i=n-1x(i)=(b(i)-A(i,i+1)*x(i+1))/A(i,i);i<=1否是是Cj(2:n)=xj4、,U=5km/h,K=0.151/h,Dt=0.1h,Dx=0.5km在x=0处有一个排放时间为1小时的点源。此程序的设计有一个主程序(shuizhi),两个子程序(HLSZAD和fzhuigan)组成,其中主函数(shuizhi)用于控制模拟次数,初始量的输入以及输出j+1时刻个断面的浓度。其调用子函数(HLSZAD)。子函数(HLSZAD)用于整理三对角方程,为求解做准备,其调用子函数(fzhuigan)。子函数(fzhuigan)是为了求解三对角方程,其返回值为j+1时刻第二个计算断面及其后各断面的浓度。利用上述方法计算结果见表1表一书中计算结果与自己编程结果5、对比表ji0246810121416010000000002(理论)106.8781.7060.30750.00730.0010.00010.00.0实际106.87831.70640.30750.04890.00730.00100.00010.04(理论)109.086.2642.6660.79890.19380.04110.00790.0014实际109.07946.26392.6640.79880.19380.04110.00790.00136(理论)109.6428.4556.0153.1571.2510.4010.110.0269实际109.64198.46、5446.01503.15721.25110.40100.10970.02458(理论)109.8359.3018.0215.8663.4421.6160.6270.208实际109.83469.30128.02105.86573.44151.61550.62460.193710(理论)09.9119.6529.07.7035.763.6251.9030.8451实际09.91029.65158.9957.70295.75933.62391.89660.8047注:(1)“理论”为书中计算结果,“实际”自己编程结果。(2)程序中书中边界断面为0断面,而编程中边界断面7、为第1端面总体上是可以的,只是0.2h末时第8,10,12,14,16断面浓度相差较大,一小时末第16断面浓度相差较大。估计0.2h末时第8,10,12,14,16断面浓度为书中记录错误。一小时末第16断面偏差大现在还不清楚。开始编程时将1小时作为一个计算时间段,即j=10时的瞬间,第0断面其浓度突然由10mg/l突变成0mg/l,这次的突变对后面各断面是没有影响的,而在初次编程时考虑了突变的影响(不合理),导致j=10时前几个断面与书中所给浓度偏差较大,在10%左右。书中的例子是以BOD5来计算的,其对CODMN和氨氮也同样成立。因为CODMN和氨氮的变化均为
4、,U=5km/h,K=0.151/h,Dt=0.1h,Dx=0.5km在x=0处有一个排放时间为1小时的点源。此程序的设计有一个主程序(shuizhi),两个子程序(HLSZAD和fzhuigan)组成,其中主函数(shuizhi)用于控制模拟次数,初始量的输入以及输出j+1时刻个断面的浓度。其调用子函数(HLSZAD)。子函数(HLSZAD)用于整理三对角方程,为求解做准备,其调用子函数(fzhuigan)。子函数(fzhuigan)是为了求解三对角方程,其返回值为j+1时刻第二个计算断面及其后各断面的浓度。利用上述方法计算结果见表1表一书中计算结果与自己编程结果
5、对比表ji0246810121416010000000002(理论)106.8781.7060.30750.00730.0010.00010.00.0实际106.87831.70640.30750.04890.00730.00100.00010.04(理论)109.086.2642.6660.79890.19380.04110.00790.0014实际109.07946.26392.6640.79880.19380.04110.00790.00136(理论)109.6428.4556.0153.1571.2510.4010.110.0269实际109.64198.4
6、5446.01503.15721.25110.40100.10970.02458(理论)109.8359.3018.0215.8663.4421.6160.6270.208实际109.83469.30128.02105.86573.44151.61550.62460.193710(理论)09.9119.6529.07.7035.763.6251.9030.8451实际09.91029.65158.9957.70295.75933.62391.89660.8047注:(1)“理论”为书中计算结果,“实际”自己编程结果。(2)程序中书中边界断面为0断面,而编程中边界断面
7、为第1端面总体上是可以的,只是0.2h末时第8,10,12,14,16断面浓度相差较大,一小时末第16断面浓度相差较大。估计0.2h末时第8,10,12,14,16断面浓度为书中记录错误。一小时末第16断面偏差大现在还不清楚。开始编程时将1小时作为一个计算时间段,即j=10时的瞬间,第0断面其浓度突然由10mg/l突变成0mg/l,这次的突变对后面各断面是没有影响的,而在初次编程时考虑了突变的影响(不合理),导致j=10时前几个断面与书中所给浓度偏差较大,在10%左右。书中的例子是以BOD5来计算的,其对CODMN和氨氮也同样成立。因为CODMN和氨氮的变化均为
此文档下载收益归作者所有