对流方程实验报告
- 格式:wps
- 大小:93.00 KB
- 文档页数:5
对流(占优)扩散方程数值求解
一、实验目的:验证对流(占优)扩散方程的两个稳定性条件
(i) 212arh
(ii) 11222rbrh
二、实验内容:
求解对流(占有)扩散方程:
txxx 有定解条件如下: 0 (,)0ut 已知精确解为: 0 ,其中22()txerfcxedt 取a=1, 用显中心差分格式求解: 11111222kkkkkkkjjjjjjjuuuuuuubhh 三、程序代码: % 由定解条件2将各时刻的初始值赋为U0 % 由公式推导计算随时间变化的不同x处的近似值 % UU[]用来存储精确值 UU(j,k)=(U0/2)*(erfc((X(j)-b*t)/(2*(a*t)^0.5))+exp(b*X(j)/a)*erfc((X(j)+b*t)/(2*(a*t)^0.5))) ; plot(X,U(:,N),'b',X,UU(:,N),'r'); 四、实验结果: (1)、设对流项b=1,取步长h=0.5 ,=0.125,此时网比r=0.5、1r=0.25满足(i) (2)、设对流项b=1,取步长h=0.5 ,=0.25,此时网比r=1、1r=0. 5满足(ii) 05101520253035404550 x值 05101520253035404550 x值 此时保持b不变,将步长进一步缩小,使满足(i)和(ii)的条件,差分仍收敛, 五、实验总结 2013年5月19号
ubuau
t>0 , 0
(,0)0ux
0x
(0,)utu 0t , 0u
为正常数
0t
(,)exp222uxbtbxxbtuxterfcerfcaatat
clc
% 设置所给系数
a=1;
b=1;
U0=1;
tao=0.125; %时间剖分步长
h=0.5; %空间剖分步长
%网比
r=a*tao/(h*h);
r1=b*tao/h;
N=50; %时间的最大层数
J=99; %空间分段数
X=[]; %定义X存储空间节点用以做横坐标
U=zeros(J+1,N); %U[]用以存储近似值
% 由定解条件1求出T=0时刻各处的近似值
for j=1:J+1
X(j)=(j-1)*h; %将空间节点存入X中。
U(j,1)=0;
end
for n=1:N
U(1,n)=U0;
end
for n=1:N-1 %时间变化
for j=2:J %空间变化
U(j,n+1)=r*(U(j+1,n)-2*U(j,n)+U(j-1,n))-r1/2*(U(j+1,n)-U(j-1,n))+U(j,n);
end
end
UU=zeros(J+1,N);
for j=1:J
for k=1:N
t=k*tao;
end
end
title('b=1,t=0.125,h=0.5,n=50时对流方程求得的图形')
xlabel('x值')
ylabel('U值')
设
0
1u
和(ii)的条件,当计算到第50层仍未发生震荡,图像如下,红色曲线为精确解,
蓝色为近似解:
05101520253035404550
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
b=1,t=0.125,h=0.5,n=50时对流方程求得的图形
x值
U
值
但不满足(i)的条件,当计算到第50层已经发生震荡,图像如下,红色曲线为
精确解,蓝色曲线为近似解
-3
-2
-1
0
1
2
3
x 10
21
b=1,t=0.25,h=0.5,n=50时对流方程求得的图形
U
值
(3)、设对流项b=10,取步长h=0.5 ,=0.125,此时网比r=0.5、1r=2.5满足(i)
但不满足(ii)的条件,其第4层和第50层震荡图像如下,红色曲线为精确解,
蓝色为近似解:
-1
0
1
2
3
4
5
6
b=10,t=0.125,h=0.5,n=4时对流方程求得的图形
U
值
如取h=0.1,tao=0.002,此时r=0.2,r1=0.2满足(i)和(ii)的条件其第50层
图像如下,红色为精确解,蓝色为近似解。
012345678910
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
b=10,t=0.002,h=0.1,n=50时对流方程求得的图形
x值
U
值
本实验验证了对流(占优)扩散方程收敛需要满足的两个条件,即(i)和(ii),
这两个条件需要同时满足方程才收敛。只要有一个不满足,方程的差分解就会发
生震荡。
余帆 10072121