利用maccormack两部差分格式求解一维激波管问题fortran程序

利用maccormack两部差分格式求解一维激波管问题fortran程序

ID:15034111

大小:44.50 KB

页数:5页

时间:2018-08-01

利用maccormack两部差分格式求解一维激波管问题fortran程序_第1页
利用maccormack两部差分格式求解一维激波管问题fortran程序_第2页
利用maccormack两部差分格式求解一维激波管问题fortran程序_第3页
利用maccormack两部差分格式求解一维激波管问题fortran程序_第4页
利用maccormack两部差分格式求解一维激波管问题fortran程序_第5页
资源描述:

《利用maccormack两部差分格式求解一维激波管问题fortran程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、!MacCormack1D.for!------------------------------------------------------------------------------------------------------------!利用MacCormack两部差分格式求解一维激波管问题!!-----------------------------------------------------------------------------------------------------------programMacCormack1Di

2、mplicitdoubleprecision(a-h,o-z)parameter(M=1000)common/G_def/GAMMA,PI,J,JJ,dL,TT,SfdimensionU(0:M+1,0:2),Uf(0:M+1,0:2)dimensionEf(0:M+1,0:2)GAMMA=1.4!气体常数PI=3.1415926J=M!网格数dL=2.0!计算区域TT=0.4!总时间Sf=0.8!时间步长因子callInit(U,dx)T=01dt=CFL(U,dx)T=T+dtwrite(*,*)'T=',T,'dt=',dtcallMacCormack_

3、1D_Solver(U,Uf,Ef,dx,dt)callbound(U,dx)if(T.lt.TT)goto1callOutput(U,dx)end!-------------------------------------------------------!计算时间步长!入口:U,当前物理量,dx,网格宽度;!返回:时间步长。!-------------------------------------------------------doubleprecisionfunctionCFL(U,dx)implicitdoubleprecision(a-h,o

4、-z)common/G_def/GAMMA,PI,J,JJ,dL,TT,SfdimensionU(0:J+1,0:2)5dmaxvel=1e-10do10i=1,Juu=U(i,1)/U(i,0)p=(GAMMA-1)*(U(i,2)-0.5*U(i,0)*uu*uu)vel=dsqrt(GAMMA*p/U(i,0))+dabs(uu)if(vel.gt.dmaxvel)dmaxvel=vel10continueCFL=Sf*dx/dmaxvelend!------------------------------------------------------

5、-!初始化!入口:无;!出口:U,已经给定的初始值,dx,网格宽度。!-------------------------------------------------------subroutineInit(U,dx)implicitdoubleprecision(a-h,o-z)common/G_def/GAMMA,PI,J,JJ,dL,TT,SfdimensionU(0:J+1,0:2)!初始条件rou1=1.0u1=0v1=0p1=1.0rou2=0.125u2=0v2=0p2=0.1dx=dL/Jdo20i=0,J/2U(i,0)=rou1U(i,1

6、)=rou1*u1U(i,2)=p1/(GAMMA-1)+0.5*rou1*u1*u120continuedo21i=J/2+1,J+1U(i,0)=rou2U(i,1)=rou2*u2U(i,2)=p2/(GAMMA-1)+0.5*rou2*u2*u221continueend5!-------------------------------------------------------!边界条件!入口:dx,网格宽度;!出口:U,已经给定边界。!-------------------------------------------------------

7、subroutinebound(U,dx)implicitdoubleprecision(a-h,o-z)common/G_def/GAMMA,PI,J,JJ,dL,TT,SfdimensionU(0:J+1,0:2)!左边界do30k=0,2U(0,k)=U(1,k)30continue!右边界do31k=0,2U(J+1,k)=U(J,k)31continueend!-------------------------------------------------------!根据U计算E!入口:U,当前U矢量;!出口:E,计算得到的E矢量,!U、E定义见

8、Euler方程组。!---------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。