拟一维喷管流动的数值解法(MATLAB)代码.docVIP

拟一维喷管流动的数值解法(MATLAB)代码.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
拟一维喷管流动的数值解法(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); %入口边界值

文档评论(0)

liushuixian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档