- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
扬州大学 网格划分 计算水力学
水研2010级 第 PAGE 10 页 共 NUMPAGES 12 页 水利学院
题目:
用Fortran语言编写程序将给定区域进行网格划分,并标出节点及单元编号。已知区域如下图,其中:x1=3.5,y1=2,r=1。
解题思路:
将x1边m等分,y1及y2边n等分,再将圆弧m0等分,最后将x2边(m-m0)等分,并找到各个边等分点的坐标。再将x1边的等分点按顺序分别与x2边和圆弧边的等分点用线段相连,并找出各条线段的n等分的等分点坐标。然后依次连接各个等分点先形成四边形网格,再依次连接四边形的一条对角线。最后输出相应的单元及整体节点编号,将整体节点编号与单元节点编号对应表及节点坐标表以txt文件输出,并将网格划分的图形以dxf格式输出,以便用cad打开。
源程序如下:
program hfwg
character*12 file,name,ly*8
!定义字符串变量,且file和name的长度为12,ly的长度为8
integer*2 length
integer::i,j,dy,dyz,jd,jd1,jd2,jdz !定义单元、节点编号
integer::m,n,m0 !定义x,y及圆弧方向的等分数m,n,m0
integer,dimension(:,:),allocatable::zt !定义单元结点整体编号数组
integer::a,b,c
real,parameter::pi=3.1415926536 !定义pi为常量,值为圆周率
real, dimension(:),allocatable::x,y !定义整体结点坐标数组
real, dimension(:),allocatable::zx,zy !定义单元中心坐标
real::x1,y1,r !定义网格划分区域
real::bcx1,bcx2,bcy1,bcx,bcy,bcyh !定义x,y方向及圆弧段计算步长
real::x0,y0, tx,ty,zxx,zyy !定义原点坐标,节点单元编号输出点坐标
print*,请输入x方向等分数m,y方向等分数n,圆弧等分数m0
read*,m,n,m0
print*,请输入网格划分部分尺寸x1,y1,r
read*,x1,y1,r
dyz=m*n *2 !计算单元总数
jdz=(m+1)*(n+1) !计算结点总数
allocate(x(jdz),y(jdz),zt(dyz,3))
do i=1,m !计算局部节点编号与整体节点编号的关系数组
do j=1,2*n
dy=(i-1)*2*n+j
if(mod(j,2)==0)then !计算偶数单元的节点对应关系数组
zt(dy,1)=j/2+n+(n+1)*(i-1)+1
zt(dy,2)=j/2+(n+1)*(i-1)+1
zt(dy,3)=j/2+n+(n+1)*(i-1)+2
else !计算奇数单元的节点对应关系数组
zt(dy,1)=j/2+(n+1)*(i-1)+1
zt(dy,2)=j/2+(n+1)*(i-1)+2
zt(dy,3)=j/2+n+(n+1)*(i-1)+2
end if
end do
end do
open(1,file=单元中整体结点编号.txt) !将单元的整体编号保存在txt文档中
write(1,(a,i4,a,3i5)),(第,i,个单元:,(zt(i,j),j=1,3),i=1,dyz)
close(1)
bcx1=x1/m !定义x1边的等分步长
bcx2=(x1-r)/(m-m0) !定义x2边的等分步长
bcy1=y1/n !定义y1边的等分步长
do i=1,m-m0+1
do j=1,n+1
jd=(n+1)*(i-1)+j
x(jd)=(i-1)*bcx1+(i-1)*(j-1)*(bcx2-bcx1)/n
!计算x2边等分点与x1边对应等分点连线的n等分点的x坐标
y(jd)=y1-(j-1)*bcy1
!计算x2边等分点与x1边对应等分点连线的n等分点的y坐标
end do
end do
bcyh=pi/(2*m0) !定义圆弧段的等分角大小
do i=m-m0+2,m+1
jd1=(n+1)*(i-1)+1
jd2=(n+1)*i
x(jd1)=(i-1)*bcx1 !计算与圆弧段对应的x1
您可能关注的文档
最近下载
- 道路工程结算审核方案.docx VIP
- 郭燕舞(医学百事通 南方医科大学附属珠江医院神经外科副主任医师).docx VIP
- 清代东北驻防官兵装备与操演枪械状况考.doc VIP
- Haier海尔188升风冷定频两门冰箱 BCD-188WDPS说明书用户手册.pdf
- 淋膜机安全操作规程.docx VIP
- 消化科临床重点专科建设项目申报汇报课件.ppt VIP
- 模块3 牵出线调车作业《车站调车作业》教学课件.ppt VIP
- 一种曲面太阳能电池光伏组件.pdf VIP
- 河南郑州“720”特大暴雨灾害调查报告公布.docx VIP
- 【2024秋季】人教版七年级上册历史第一单元测试卷(含答案) .pdf VIP
文档评论(0)