ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:231.33KB ,
资源ID:6918018      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6918018.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(一维对流方程在ABC三种差分格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

一维对流方程在ABC三种差分格式.docx

1、一维对流方程在ABC三种差分格式一、上机目的用数值方法计算一维对流方程在A、B、C三种差分格式下的解。取为0.05. 取值为0.5,1,2。并作相关讨论。二、实验原理三、上机要求:1.学会对MS-FORTRAN的基本操作。 2.用Fortran编写程序计算一维对流方程在A、B、C三种格式下的解。3.讨论各种格式下不同的值的差分格式解的特点。四、实验程序以A格式为例,对微分方程进行离散化, 得出 A 格式的差分解的表达式:B、C格式同理可以写出。由此编写如下的Fortran程序。注:除了循环时间层的计算公式略有不同外,三个程序没有区别,因此这里只用一个主程序,并根据格式选择的不同,采用条件语句判

2、断执行哪一部分循环体。!空间节点321,dx=0.05 输出依次为(时间,空间,数值)program main implicit none real dx_dt !定义的值 integer abc,r_t,i,j,k !定义变量,abc为格式类型,r_t为时间网格数,其余为循环变量 real,allocatable:s(:,:) !定义存储矩阵s write(*,*) 输入dx_dt=0.5,1,2 read(*,*) dx_dt write(*,*) 选择格式,A,B,C分别输入1,2或3 read(*,*) abc !根据格式选择生成相应的文件 if(abc=1) then open(un

3、it=8,file=out_a.csv) elseif(abc=2) then open(unit=8,file=out_b.csv) elseif(abc=3) then open(unit=8,file=out_c.csv) endif r_t=160/dx_dt !计算时间网格总数 allocate(s(r_t+1,321) !分配存储矩阵的空间 !第一层赋初值 do i=1,140,1 s(1,i)=0 write(8,*)1,i,s(1,i) end do do i=141,161,1 s(1,i)=1+0.05*(i-161) write(8,*)1,i,s(1,i) end do

4、 do i=162,181,1 s(1,i)=1-0.05*(i-161) write(8,*)1,i,s(1,i) end do do i=182,321,1 s(1,i)=0 write(8,*)1,i,s(1,i) end do !循环时间层,根据格式的选择来判断执行哪一部分 if(abc=1) then do i=2,r_t,1 do j=i,322-i,1 s(i,j)=s(i-1,j)-(s(i-1,j+1)-s(i-1,j-1)/(dx_dt*2) write(8,*)i,j,s(i,j) end do do k=1,i-1,1 !余下部分赋值0,下同 s(i,k)=0 writ

5、e(8,*)i,k,s(i,k) end do do k=322-i,321,1 s(i,k)=0 write(8,*)i,k,s(i,k) end do end do elseif(abc=2) then do i=2,r_t+1,1 do j=1,322-i,1 s(i,j)=s(i-1,j)-(s(i-1,j+1)-s(i-1,j)/dx_dt write(8,*)i,j,s(i,j) end do do k=322-i,321,1 s(i,k)=0 write(8,*)i,k,s(i,k) end do end do elseif(abc=3) then do i=2,r_t+1,1

6、do j=i,321,1 s(i,j)=s(i-1,j)-(s(i-1,j)-s(i-1,j-1)/dx_dt write(8,*)i,j,s(i,j) end do do k=1,i-1,1 s(i,k)=0 write(8,*)i,k,s(i,k) end do end do endif !完成提示 write(*,*)数据已输出至源目录 pause stopend program五、实验结果及分析程序运行后在对应目录下生成csv表格文件,根据输入的的值不同生成对应的网格并计算各节点数值。这里以为例,就A、B、C三种格式的结果进行分析。首先我们用MATLAB软件画出初始波形,以便于对比(这

7、里三个格式没有区别)。A格式,根据输出结果,选取不同时间节点用MATLAB软件绘制波形图像,这里从初始时刻开始每隔10单位取一点(即取t=1,11,21, 画在同一图里,可明显看出随时间变化的趋势)。波形画出如下:(下一页第一)从图中看出,随着时间推移A格式呈现明显的发散状态。B格式图像如下(下一页第二):从图中看出,随着时间推移B格式也呈现明显的发散状态。C格式图像如下:对比之下明显可以看出,随着时间的推移,C格式能较好的保证收敛性。同样的,附上以及时的作图结果,从图中可以看出时三种格式都呈发散状态,而时C格式能保持收敛性,A、B格式都呈发散状态。首先给出时三种格式的波形图(依次为A、B、C格式,直接以点序数0321位横坐标):下面是时的波形图:六、实验总结 经过分析,可以发现在时三种格式都不收敛,而和时C格式收敛,A、B格式发散,这与理论上的结论也相一致。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1