【分享】对流方程的有限差分数值解法(步长定律、固有差分格式、matlab程序和输出图形)
1 一维对流方程
1.1 一维对流方程的形式:
,
其中,u代表物质的量或者其他参量,a代表物质的运动速度。此一维对流方程仅仅表示物质的运动情况,而与边界条件或是约束条件无关。当a为常数时,此一维对流方程为一维常系数对流方程,当a不为常数时,方程为一维变系数对流方程。在不考虑边界条件或约束条件的情况下,无论a是否为常数,此对流方程本身的数值解法存在固有的有限差分格式,条件是要满足步长定律。
1.2 一维常系数对流方程的步长定律:
,
其中,?t 为时间步长,?x 为空间步长。
1.3 一维常系数对流方程的固有差分格式:
或者
满足初始条件:
x=1:1:113,
u0=[0 0 1.8393e-005 3.7259e-005 7.2772e-005 1.3704e-004 2.4885e-004 4.3574e-004 7.3575e-004 0.0012 0.0019 0.0028 0.0042 0.0059 0.0080 0.0104 0.0132 0.0161 0.0189 0.0215 0.0235 0.0248 0.0253 0.0248 0.0235 0.0215 0.0189 0.0161 0.0132 0.0104 0.0080 0.0059 0.0042 0.0028 0.0019 0.0012 7.3575e-004 4.3574e-004 2.4885e-004 1.3704e-004 7.2772e-005 3.7259e-005 1.8393e-005 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0],
和边界条件:
u(1,t)=u(113,t)=0.
MATLAB程序:
u0 = [0 0 1.8393e-005 3.7259e-005 7.2772e-005 1.3704e-004 2.4885e-004 4.3574e-004 7.3575e-004 0.0012 ...
0.0019 0.0028 0.0042 0.0059 0.0080 0.0104 0.0132 0.0161 0.0189 0.0215 ...
0.0235 0.0248 0.0253 0.0248 0.0235 0.0215 0.0189 0.0161 0.0132 0.0104 ...
0.0080 0.0059 0.0042 0.0028 0.0019 0.0012 7.3575e-004 4.3574e-004 2.4885e-004 1.3704e-004 ...
7.2772e-005 3.7259e-005 1.8393e-005 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ];
u=zeros(3,113);
for i=1:113
u(1,i)=u0(i);
end
for n=1:68
u0(113)=0;
for i=112:-1:2
u0(i)=u0(i-1);
end
u0(1)=0;
if n==34
for i=1:113
u(2,i)=u0(i);
end
end
if n==68
for i=1:113
u(3,i)=u0(i);
end
end
end
n = 1:1:113;
figure(1)
plot(n,u(1,n),'-o');
figure(2)
plot(n,u(2,n),'-o');
figure(3)
plot(n,u(3,n),'-o');
输出图形:
(注:后续有待补充......)
PDF版本文件
https://blog.sciencenet.cn/blog-530345-404234.html