Fortran计算实例资料.ppt

Fortran计算实例资料.ppt

ID:56469737

大小:180.50 KB

页数:18页

时间:2020-06-19

Fortran计算实例资料.ppt_第1页
Fortran计算实例资料.ppt_第2页
Fortran计算实例资料.ppt_第3页
Fortran计算实例资料.ppt_第4页
Fortran计算实例资料.ppt_第5页
资源描述:

《Fortran计算实例资料.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、13.实例之一1.建模如流体力学方程组要点:作些简化后确定维数,注意诸项之取舍(如热传导、辐射、重力等)激波管问题初条2.无量纲化对1D情况2维流体力学方程组,*号已略去3.确定解域、划分网格及设置边界条件可划分为上千个格点模拟区域:网格:均匀网格(最好用自适应网格)边条:在激波传播至边界之前有效4.选取适当的差分格式Lax格式或Friedrichs格式精度:稳定条件:模型方程对流体力学问题,其稳定条件为5.编程及调试programshocktubeparameter(im=1001)implicitdoubleprecision(a-h,

2、o-z)dimensionx(im),d(m),u(im),t(im)dimensiond1(m),u1(im),t1(im)d0=1.67d-5t0=3.d2r=2.78d-2v0=dsqrt(r*t0)L0=10gamma=1.4d0……可将3个变量一起放在一个2维数组设定常数d:密度;u:速度;t:温度dx=2.d0/dble(im-1)do10i=1,imx(i)=dx*dble(i-1)-1.continuedo20i=1,(im+1)/2d1(i)=1.d0u1(i)=0.d0t1(i)=1.d0do30i=(im+1)/2+1

3、,imd1(i)=1.d-1u1(i)=0.d0t1(I)=1.d0划分网格设定初值102030dt=0.9d0*dxcontinuedo40i=1,imd(i)=d1(i)u(i)=u1(i)t(i)=t1(i)do50i=2,im-1d1(i)=0.5d0*(d(i-1)+d(i+1))-dt*(u(i)*(d(i+1)-d(i-1))/2.d0/dx+d(i)*(u(i+1)-u(i-1))/2.d0/dx)u1(i)=0.5d0*(u(i-1)+u(i+1))-dt*(u(i)*(u(i+1)-u(i-1))/2.d0/dx+(t(

4、i+1)-t(i-1))/2.d0/dx+t(i)/d(i)*(d(i+1)-d(i-1))/2.d0/dx)t1(i)=0.5d0*(t(i-1)+t(i+1))-dt*(u(i)*(t(i+1)-t(i-1))/2.d0/dx+(gamma-1.d0)*t(i)*(u(i+1)-u(i-1))/2.d0/dx)初始时间步长赋新值99940主体部分+++50可考虑加入人为耗散tim=0.d0初始时间d1(1)=d(1)u1(1)=u(1)t1(1)=t(1)d1(im)=d(im)u1(im)=u(im)t1(im)=t(im)tim=t

5、im+dtdt=1.d0do60i=2,im-1dt=dmin1(dt,dx/(dsqrt(gamma*t1(i))+dabs(u1(i)))Continuewrite(*,*)tim,dt由柯朗条件定下一时间步长固定边界条件主体部分60局地无量纲声速屏幕输出供调试if(tim在某些时刻)calloutput(tim,d1,u1,t1)if(输出结果的次数等于tend/0.02)goto888If(dt.le.1.e-9)then输出”dt太小”并goto888goto999close(10)EndSubroutineoutput(tim,

6、d1,u1,t1)…..If(tim.eq.0)open(10,…..form=‘unformatted’)write(10)d,u,tReturnend主体部分如0.02,0.04,0.06,0.08,……。即每0.02时间间隔则将结果输出到数据文件。停止运算的无量纲时间可采用另一计时变量,如tp,其初值为0,tp=tp+dt,待tp快接近0.02,dt=0.02-tp,然后输出结果,并重新令tp=0.888实例之二磁场扩散磁场扩散方程(仅1D)1.建模初条解析解2.无量纲化3.确定解域、划分网格及设置边界条件可划分为上千个格点模拟区域:

7、网格:均匀网格边条:扩散至边界之前有效4.选取适当的差分格式模型方程全隐格式精度:稳定条件:恒稳5.编程及调试programdiffusionparameter(im=1001)implicitdoubleprecision(a-h,o-z)dimensionx(im),bb(im)dimensionb1(im)Dimensiona(im),b(im),c(im),s(im)b0=1.67d-5t0=1.d5L0=1.d5……可将3个变量一起放在一个2维数组设定常数a,b,c系数dx=1./dble(im-1)do10i=1,imx(i)=

8、dx*dble(im-1)continuedo20i=2,imb1(i)=1.d0b1(1)=0.d0划分网格设定初值1020dt=(x(2)-x(1))**2continued

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

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

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