资源描述:
《计算程序_计算流体力学_对流方程_有限差分法_lax格式_迎风格式_ftcs格式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、%一维对流方程迎风格式、Lax格式、FTCS格式差分法计算%潭花林清华大学航天航空学院%FTCS格式对于一维对流方程不稳定,最好不用clcclearall%1.参数定义dx=1;x1=-18;x2=18;x=x1:dx:x2;L1=length(x);%dt=0.5*dx;%收敛dt=2*dx;%不收敛t1=0;t2=t1+80*dt;t=t1:dt:t2;L2=length(t);alpha=1;lambda=alpha*dt/dx;geshi=1;%迎风格式%geshi=2;%Lax格式%geshi=3;%FTC
2、S格式%2.显式求解zeta=zeros(L1,L2);forkk=1:3geshi=kk;forii=1:L1ifx(ii)>0zeta(ii,1)=1;elseifx(ii)==0zeta(ii,1)=1/2;elseifx(ii)<0zeta(ii,1)=0;endendendendifgeshi==1forii=2:L1forjj=1:(L2-1)zeta(ii,jj+1)=zeta(ii,jj)-lambda*(zeta(ii,jj)-zeta(ii-1,jj));endzeta(1,jj+1)=zeta(
3、2,jj+1);endzeta1=zeta;elseifgeshi==2forii=2:(L1-1)forjj=1:(L2-1)zeta(ii,jj+1)=(zeta(ii+1,jj)+zeta(ii-1,jj))/2-...lambda/2*(zeta(ii+1,jj)-zeta(ii-1,jj));endzeta(1,jj+1)=zeta(2,jj+1);zeta(L1,jj+1)=zeta(L1,jj)-lambda*(zeta(L1,jj)-zeta(L1-1,jj));endzeta2=zeta;elsei
4、fgeshi==3forii=2:(L1-1)forjj=1:(L2-1)zeta(ii,jj+1)=zeta(ii,jj)-lambda/2*(zeta(ii+1,jj)-zeta(ii-1,jj));endzeta(1,jj+1)=zeta(2,jj+1);zeta(L1,jj+1)=zeta(L1,jj)-lambda*(zeta(L1,jj)-zeta(L1-1,jj));endzeta3=zeta;endendendend%3.绘图%3.1t=0figure(1)n=1;plot(x,zeta1(1:L1,
5、n),'-k',x,zeta2(1:L1,n),'-.k',x,zeta3(1:L1,n),'--k')%作图%axisequal%%%是否要求x、y坐标间距相等%gridon%%%是否要求画网格xlabel('x/m'),ylabel('t/s')%%%x,y轴表示的变量含义%text(1,2,'f(x)')%%%图中文字标识legend('迎风格式','Lax格式','FTCS格式')%%%不同曲线的线型区分title('t=0时刻的计算结果')%%%标题axis([-18,18,-0.2,1.2])%3.2t=
6、10figure(2)n=(10-t(1))/dt;plot(x,zeta1(1:L1,n),'-k',x,zeta2(1:L1,n),'-.k',x,zeta3(1:L1,n),'--k')%作图%axisequal%%%是否要求x、y坐标间距相等%gridon%%%是否要求画网格xlabel('x/m'),ylabel('t/s')%%%x,y轴表示的变量含义%text(1,2,'f(x)')%%%图中文字标识legend('迎风格式','Lax格式','FTCS格式')%%%不同曲线的线型区分title('t=
7、10s时刻的计算结果')%%%标题%3.3t=20figure(3)n=(20-t(1))/dt;plot(x,zeta1(1:L1,n),'-k',x,zeta2(1:L1,n),'-.k',x,zeta3(1:L1,n),'--k')%作图%axisequal%%%是否要求x、y坐标间距相等%gridon%%%是否要求画网格xlabel('x/m'),ylabel('t/s')%%%x,y轴表示的变量含义%text(1,2,'f(x)')%%%图中文字标识legend('迎风格式','Lax格式','FTCS格式
8、')%%%不同曲线的线型区分title('t=20s时刻的计算结果')%%%标题%3.4t=40figure(4)n=(40-t(1))/dt;plot(x,zeta1(1:L1,n),'-k',x,zeta2(1:L1,n),'-.k',x,zeta3(1:L1,n),'--k')%作图%axisequal%%%是否要求x、y坐标间距相等%g