- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中山大学
本科生实验报告书
二维差值的fortran编程
院 系 工学院应用力学与工程系
专业班级 理论与应用力学10级
实验课程 计算流体力学
姓 名 程 彬
学 号
实验地点 中山大学东校区实验中心
实验时间 2012年 5 月 15日
指导教师 詹杰民
一、实验题目:二维方形腔体,腔体内部充满了流体。当顶板沿着水平方向被匀速拉动时,腔体内部的流体被带动而作环状运动。这种环流导致了腔体底边的二次涡。
实验分析:
1.方程与边界条件
用流函数涡量法,和满足下列无量纲定常方程与边界条件
……………………a
……………………b
, 在腔体四边
,在AD和BC上
,在AB和DC上
其中,Re为雷诺数。
方腔环流示意图
2.实验流程分析
实验程序
!------------------------程序开始-------------------------
!a=n+1时层流函数,b=n+1时层涡量函数,c=n时层流函数,d=n时层涡量函数
!h=步长,w=松弛因子,e=迭代精度,n=迭代次数,x,y=网格数,Re=雷诺数
!flag=判断是否达到迭代精度的逻辑判断符
!lei=雷诺数,mesh=网格数,step=步长,relax=松弛因子
!------------------------变量声明-------------------------
program main
implicit none
real*8,allocatable:: a(:,:),b(:,:),c(:,:),d(:,:)
real*8:: h,w,e
integer*8:: i,j,n,x,y,Re
logical*8:: flag
character*4::lei,mesh,step*8,relax
!-------------------------变量赋值--------------------------
print*,请输入网格数:
read*,x
y=x
allocate(a(x,y),b(x,y),c(x,y),d(x,y))
a(1:x,1:y)=0
b(1:x,1:y)=0
c(1:x,1:y)=0
d(1:x,1:y)=0
n=0
Re=4000
h=0.001
w=0.5
flag=.true.
print*,请输入迭代精度:
read(*,*) e
!------------------------迭代计算--------------------------
do while(flag.eqv..true.)
do j=2,y-1 !计算内部的流函数值
do i=2,x-1
c(i,j)=a(i,j)
a(i,j)=w*(b(i,j)*h**2+a(i+1,j)+c(i-1,j)+a(i,j+1)+c(i,j-1))/4+(1-w)*a(i,j)
if(ABS(c(i,j)-a(i,j))=e) then
flag=.false. !若存在未达到精度的网格点,flag=.false.
endif
enddo
enddo
do j=2,y-1 !计算内部涡量函数值
do i=2,x-1
d(i,j)=b(i,j)
b(i,j)=w/4*(b(i+1,j)+d(i-1,j)+b(i,j+1)+d(i,j-1)+Re/4*((c(i+1,j)-c(i-1,j))*
(b(i,j+1)-d(i,j-1))-(c(i,j+1)-c(i,j-1))*(b(i+1,j)-d(i-1,j))))+(1-w)*b(i,j)
if(ABS(d(i,j)-b(i,j))=e) then
flag=.false.
endif
enddo
enddo
do i=1,x !计算底边涡量函数 d(i,1)=b(i,1)
b(i,1)=-2*(c(i,2)-c(i,1))/h**2
if(ABS(d(i,1)-b(i,1))=e) then
flag=.false.
endif
enddo
文档评论(0)