拟一维喷管流动的数值解法(MATLAB)代码.doc_第1页
拟一维喷管流动的数值解法(MATLAB)代码.doc_第2页
拟一维喷管流动的数值解法(MATLAB)代码.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

拟一维喷管流动的数值解法(MATLAB)代码数值计算代码%拟一维喷管流动的数值解%亚声速-超声速,非守恒形式function main()clear;clc;r=1.4; %绝热指数N=1001; %时间步长i=31; %网格数目L=3; %喷管长度C=0.5; %柯朗数dx=L/(i-1); %空间步长dt(N)=0; %时间步长x=linspace(0,L,i); %网格点横坐标A=1+2.2*(x-1.5).2; %喷管面积%赋值M(N,i)=0;T(N,i)=0;V(N,i)=0;%初始条件M(1,:)=1-0.3146*x;T(1,:)=1-0.2314*x;V(1,:)=(0.1+1.09*x).*(1-0.2314*x).0.5;%按时间步长推进for k=1:N-1 %预估偏导数 M_t(1:i-1)=-V(k,1:i-1).*(M(k,2:i)-M(k,1:i-1)/dx-M(k,1:i-1).*(V(k,2:i)-V(k,1:i-1)/dx-M(k,1:i-1).*V(k,1:i-1).*log(A(2:i)./A(1:i-1)/dx; V_t(1:i-1)=-V(k,1:i-1).*(V(k,2:i)-V(k,1:i-1)/dx-1/r.*(T(k,2:i)-T(k,1:i-1)/dx+T(k,1:i-1)./M(k,1:i-1).*(M(k,2:i)-M(k,1:i-1)/dx); T_t(1:i-1)=-V(k,1:i-1).*(T(k,2:i)-T(k,1:i-1)/dx-(r-1).*T(k,1:i-1).*(V(k,2:i)-V(k,1:i-1)/dx+V(k,1:i-1).*log(A(2:i)./A(1:i-1)/dx); %求取内部网格点处最小时间步长 t=C*dx./(V(k,2:i-1)+sqrt(T(k,2:i-1); dt(k)=min(t); %预估值 M1(1:i-1)=M(k,1:i-1)+M_t(1:i-1)*dt(k); V1(1:i-1)=V(k,1:i-1)+V_t(1:i-1)*dt(k); T1(1:i-1)=T(k,1:i-1)+T_t(1:i-1)*dt(k); %校正偏导数 M_t_1(2:i-1)=-V1(2:i-1).*(M1(2:i-1)-M1(1:i-2)./dx-M1(2:i-1).*(V1(2:i-1)-V1(1:i-2)./dx-M1(2:i-1).*V1(2:i-1).*log(A(2:i-1)./A(1:i-2)./dx; V_t_1(2:i-1)=-V1(2:i-1).*(V1(2:i-1)-V1(1:i-2)./dx-1/r.*(T1(2:i-1)-T1(1:i-2)./dx+T1(2:i-1)./M1(2:i-1).*(M1(2:i-1)-M1(1:i-2)./dx); T_t_1(2:i-1)=-V1(2:i-1).*(T1(2:i-1)-T1(1:i-2)./dx-(r-1).*T1(2:i-1).*(V1(2:i-1)-V1(1:i-2)./dx+V1(2:i-1).*log(A(2:i-1)./A(1:i-2)./dx); %偏导数平均值 M_t_av(2:i-1)=0.5*(M_t(2:i-1)+M_t_1(2:i-1); V_t_av(2:i-1)=0.5*(V_t(2:i-1)+V_t_1(2:i-1); T_t_av(2:i-1)=0.5*(T_t(2:i-1)+T_t_1(2:i-1); %内部网格点修正值 M(k+1,2:i-1)=M(k,2:i-1)+M_t_av(2:i-1)*dt(k); V(k+1,2:i-1)=V(k,2:i-1)+V_t_av(2:i-1)*dt(k); T(k+1,2:i-1)=T(k,2:i-1)+T_t_av(2:i-1)*dt(k); %出口边界值 M(k+1,i)=2*M(k+1,i-1)-M(k+1,i-2); V(k+1,i)=2*V(k+1,i-1)-V(k+1,i-2); T(k+1,i)=2*T(k+1,i-1)-T(k+1,i-2); %入口边界值 M(k+1,1)=1; V(k+1,1)=2*V(k+1,2)-V(k+1,3); T(k+1,1)=1;endend图形处理代码close all;a=1 51 101 151 201 701;plot(x,M(a(1),:).*A(:).*V(a(1),:),r-)hold onplot(x,M(a(2),:).*A(:).*V(a(2),:),m.-)plot(x,M(a(3),:).*A(:).*V(a(3),:),g*-)plot(x,M(a(4),:).*A(:).*V(a(4),:),co-)plot(x,M(a(5),:).*A(:).*V(a(5),:),bh-)plot(x,M(a(6),:).*A(:).*V(a(6),:),k-)axis equallegend(0dt,50dt,100dt,150dt,200dt,700dt)figureax,h1,h2=plotyy(x,M(a(6),:),x,sqrt(M(a(6),:).(1-r)-1)*5),plot);set(h1,linestyle,-,marker,o,color,b); set(h2,linestyle,-,marker,*,color,r);set(ax,xtick,0:0.3:3)set(ax(1),ytick,0:0.1:1)set(ax(2),ytick,0:0.4:4)set(h1,linewidth,1.5)set(h2,linewidth,1.5)set(get(ax(1),xlabel),string,无量纲

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论