找回密码
 注册
Simdroid-非首页
查看: 322|回复: 19

[建模和网格划分] 新手请教双曲拱坝如何建模

[复制链接]
发表于 2007-11-8 09:24:05 | 显示全部楼层 |阅读模式 来自 四川雅安
初学ANSYS
请教高手拱坝建模的大致流程
是按照拱圈一层一层往上建,还是要考虑梁?
如果拱、梁结合的话应该怎么考虑呢?
发表于 2007-11-10 11:43:38 | 显示全部楼层 来自 广东深圳
Simdroid开发平台
原帖由 hotwater 于 2007-11-10 09:50 发表
FOR EXAMPLE:UG   PRO/E



我前段时间做的双曲抛物拱坝,就是用ug来建立的模型,因为ug的曲面造型功能很强大,建立出来的模型很漂亮。然后用icem划分的网格。发幅图片给大家吧,希望斑竹给加点分。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 1 不支持 0

使用道具 举报

 楼主| 发表于 2007-11-8 10:38:06 | 显示全部楼层 来自 四川雅安
本想每一层拱圈按照圆柱的方式建模,但是拱端和拱冠厚度不等,不知接下来如何做了,请高手指教。谢谢!!
回复 不支持

使用道具 举报

发表于 2007-11-9 13:02:02 | 显示全部楼层 来自 广东深圳
*SET,layer_num,9
*dim,y_div,array,layer_num  
*dim,z_div,array,layer_num-1
*dim,x_left,array,layer_num-1   
*dim,x_right,array,layer_num-1  
*dim,k_num,array,layer_num  
*dim,idx_up,,16,layer_num   
*dim,idy_up,,16,layer_num   
*dim,idy_down,,16,layer_num
*dim,idx_down,,16,layer_num
*dim,idz,array,layer_num
*dim,edge_kp,,4,layer_num-1,100
*SET,y_div(1),2,3,3,4,4,5,5,5,5
*SET,z_div(1),3,3,3,3,3,3,3,3   
*SET,x_left(1),0,0,0,0,0,0,1,1  
*SET,x_right(1),0,0,0,0,0,0,0,1
*SET,k_num(1),5,5,5,5,5,5,5,5,3
*SET,idx_up(1,1),82.3,65.52,0,-98.152,-123.211  
*SET,idy_up(1,1),480.894,488.679,502.501,471.159,452.749
*SET,idx_up(1,2),77.81,59.856,0,-92.365,-117.969
*SET,idy_up(1,2),484.767,493.231,505.969,476.688,457.897
*SET,idx_up(1,3),73.225,60.785,0,-93.063,-113.998   
*SET,idy_up(1,3),487.889,494.45,509.444,477.094,460.159
*SET,idx_up(1,4),70.271,56.922,0,-81.864,-108.246   
*SET,idy_up(1,4),489.444,497.305,512.526,485.654,464.056
*SET,idx_up(1,5),67.836,51.222,0,-56.512,-99.979
*SET,idy_up(1,5),490.354,500.969,514.986,501.67,471.275
*SET,idx_up(1,6),62.047,51.692,0,-57.073,-93.714
*SET,idy_up(1,6),494.176,501.088,516.595,502.222,475.97
*SET,idx_up(1,7),57.774,24.536,0,-25.535,-82.37
*SET,idy_up(1,7),496.916,513.394,517.123,514.036,484.817
*SET,idx_up(1,8),51.456,24.265,0,-25.464,-57.08
*SET,idy_up(1,8),500.937,512.739,516.341,513.165,501.546
*SET,idx_up(1,layer_num),23.24,0,-25.045
*SET,idy_up(1,layer_num),511.193,513.111,511.447
*SET,idx_down(1,1),74.772,57.122,0,-95.45,-120  
*SET,idy_down(1,1),476.44,484.049,497.499,466.942,448.9
*SET,idx_down(1,2),73.82,56.962,0,-87.632,-111  
*SET,idy_down(1,2),477.686,486.557,499.698,469.62,450.161   
*SET,idx_down(1,3),67.367,56.222,0,-85.741,-103.5   
*SET,idy_down(1,3),478.651,485.703,501.501,467.68,449.931   
*SET,idx_down(1,4),62.401,50.946,0,-73.657,-95  
*SET,idy_down(1,4),478.647,486.932,502.643,474.687,452.276  
*SET,idx_down(1,5),58,44.228,0,-50.088,-85.117  
*SET,idy_down(1,5),478.398,489.133,502.976,489.317,458.037  
*SET,idx_down(1,6),51.023,42.775,0,-49.084,-77.759  
*SET,idy_down(1,6),480.732,487.519,502.351,487.977,461.609  
*SET,idx_down(1,7),46,19.484,0,-21.344,-66.637  
*SET,idy_down(1,7),481.805,497.322,500.622,497.672,468.452  
*SET,idx_down(1,8),40.164,18.692,0,-20.257,-44.54   
*SET,idy_down(1,8),483.374,494.5,497.64,494.361,481.214
*SET,idx_down(1,layer_num),18,0,-18
*SET,idy_down(1,layer_num),488.667,491.834,486.663  
*SET,idz(1),232.3,218,203,188,173,158,143,128,109   
/prep7  
*dim,bt1,array,k_num(layer_num)
*dim,bt2,array,k_num(layer_num)
*dim,tempx,,16  
*dim,tempy,,16  
*do,i,1,layer_num,  
*do,j,1,y_div(i)
ksel,none   
*do,k,1,k_num(i)
*set,tempx(k),idx_up(k,i)+(j-1)/(y_div(i)-1)*(idx_down(k,i)-idx_up(k,i))
*set,tempy(k),idy_up(k,i)+(j-1)/(y_div(i)-1)*(idy_down(k,i)-idy_up(k,i))
*enddo  
*do,k,1,k_num(i)
k,,tempx(k),tempy(k),idz(i)
*enddo  
bspline,all
*enddo  
*enddo  
*SET,amax1,0
*SET,l_num,0
*do,i,1,layer_num,1
allsel  
*do,j,1,y_div(i)-1  
*SET,l1,l_num+j
lsel,,,,l1  
ksll,   
*get,k1,kp,0,num,min
*get,k3,kp,0,num,max
*SET,l2,l_num+j+1   
lsel,,,,l2  
ksll,   
*get,k4,kp,0,num,max
*get,k2,kp,0,num,min
allsel  
*get,lmax,line,0,num,max
l,k1,k2
l,k3,k4
al,l1,lmax+1,l2,lmax+2  
*enddo  
*SET,l_num,l_num+y_div(i)   
*enddo

*get,amax2,area,0,num,max
l_num=0
*do,i,1,layer_num-1
allsel
*do,j,1,y_div(i),
l1=l_num+j
lsel,,,,l1
ksll
*get,k1,kp,0,num,min
*get,k3,kp,0,num,max
l2=l_num+j+y_div(i)
lsel,,,,l2
ksll
*get,k2,kp,0,num,min
*get,k4,kp,0,num,max
allsel
*get,lmax,line,0,num,max
l,k1,k2
l,k3,k4
al,l1,lmax+1,l2,lmax+2
*enddo
*if,y_div(i),ne,y_div(i+1),then
l1=l_num+y_div(i)
lsel,,,,l1
ksll
*get,k1,kp,0,num,min
*get,k3,kp,0,num,max
l2=l_num+y_div(i)+1+y_div(i)
lsel,,,,l2
ksll
*get,k2,kp,0,num,min
*get,k4,kp,0,num,max
allsel
*get,lmax,line,0,num,max
l,k1,k2
l,k3,k4
al,l1,lmax+1,l2,lmax+2
*endif
l_num=l_num+y_div(i)
*enddo

*GET,amax3,area,0,num,max
l_num=0
*do,i,1,layer_num-1
allsel
*do,j,1,y_div(i)-1
l1= l_num+j
lsel,,,,l1
ksll,
*get,k1,kp,0,num,min
*get,k5,kp,0,num,max
l2=l_num+j+1
lsel,,,,l2
ksll
*get,k2,kp,0,num,min
*get,k6,kp,0,num,max
l3=l_num+j+1+y_div(i)
lsel,,,,l3
ksll,
*get,k3,kp,0,num,min
*get,k7,kp,0,num,max
l4=l_num+j+y_div(i)
lsel,,,,l4
ksll,
*get,k4,kp,0,num,min
*get,k8,kp,0,num,max
allsel
a,k1,k2,k3,k4
a,k5,k6,k7,k8
*enddo
*if,y_div(i),ne,y_div(i+1),then
l1=l_num+y_div(i)
lsel,,,,l1
ksll,
*get,k1,kp,0,num,min
*get,k4,kp,0,num,max
l2=l_num+y_div(i)+1+y_div(i)
lsel,,,,l2
ksll
*get,k2,kp,0,num,min
*get,k5,kp,0,num,max
l3=l_num+y_div(i)+y_div(i)
lsel,,,,l3
ksll
*get,k3,kp,0,num,min
*get,k6,kp,0,num,max
allsel
a,k1,k2,k3
a,k4,k5,k6
*endif
l_num=l_num+y_div(i)
*enddo

*do,i,1,layer_num-1,
*do,j,1,y_div(i)-1
asel,,,,amax1+1
asel,a,,,amax1+y_div(i)
asel,a,,,amax2+1
asel,a,,,amax2+2
asel,a,,,amax3+1
asel,a,,,amax3+2
amax1=amax1+1
amax2=amax2+1
amax3=amax3+2
va,all
*enddo
*if,y_div(i),ne,y_div(i+1),then
asel,,,,amax1+y_div(i)
asel,a,,,amax2+1
asel,a,,,amax2+2
asel,a,,,amax3+1
asel,a,,,amax3+2
amax2=amax2+1
amax3=amax3+2
va,all
*endif
amax2=amax2+1
*enddo

l_num=y_div(1)
*do,i,2,layer_num
vsel,,loc,z,idz(i),idz(1)
l1=l_num+1
lsel,,,,l1
ksll
*get,k1,kp,0,num,min
*get,k3,kp,0,num,max
l2=l_num+y_div(i)
lsel,,,,l2
ksll
*get,k2,kp,0,num,min
*get,k4,kp,0,num,max
ksel,,,,k1
kgen,2,k1,,,,,10,,0
ksel,u,,,k1
*get,k5,kp,0,num,max
ksel,,,,k3
kgen,2,k3,,,,,10,,0
ksel,u,,,k3
*get,k6,kp,0,num,max
ksel,all
kwplan,,k2,k1,k5
btol,0.01
vsbw,all,,delete
vsel,u,loc,x,kx(k1),500
kwplan,,k4,k3,k6
vsbw,all,,delete
l_num=l_num+y_div(i)
*enddo
allsel
wpcsys,-1,0
*do,i,2,layer_num
btol,0.01
vsel,s,loc,z,idz(i),idz(i-1)
*do,j,1,z_div(i-1)-1,
wpave,0,0,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)
vsbw,all,,delete
ksel,s,loc,z,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)-0.01,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)+0.01
*get,tx1,kp,0,mxloc,x
ksel,r,loc,x,tx1,tx1
*get,edge_kp(1,i-1,j),kp,0,num,max
*get,ty1,kp,edge_kp(1,i-1,j),loc,y
ksel,s,loc,z,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)-0.01,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)+0.01
ksel,u,,,edge_kp(1,i-1,j)
cm,tempcm,kp
*get,tx2,kp,0,mxloc,x
ksel,r,loc,x,tx2,tx2
*get,edge_kp(2,i-1,j),kp,0,num,max
*get,ty2,kp,edge_kp(2,i-1,j),loc,y
*do,temp,1,100,
*if,ty2,ge,ty1,then
cmsel,s,tempcm
ksel,u,,,edge_kp(2,i-1,j)
cm,tempcm,kp
*get,tx2,kp,0,mxloc,x
ksel,r,loc,x,tx2,tx2
*get,edge_kp(2,i-1,j),kp,0,num,max
*get,ty2,kp,edge_kp(2,i-1,j),loc,y
*else
*exit
*endif
*enddo
ksel,s,loc,z,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)-0.01,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)+0.01
*get,tx1,kp,0,mnloc,x
ksel,r,loc,x,tx1,tx1
*get,edge_kp(3,i-1,j),kp,0,num,max
*get,ty1,kp,edge_kp(3,i-1,j),loc,y
ksel,s,loc,z,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)-0.01,idz(i-1)+j*(idz(i)-idz(i-1))/z_div(i-1)+0.01
ksel,u,,,edge_kp(3,i-1,j)
cm,tempcm,kp
*get,tx2,kp,0,mnloc,x
ksel,r,loc,x,tx2,tx2
*get,edge_kp(4,i-1,j),kp,0,num,max
*get,ty2,kp,edge_kp(4,i-1,j),loc,y
*do,temp,1,100
*if,ty2,ge,ty1,then
cmsel,s,tempcm
ksel,u,,,edge_kp(4,i-1,j)
cm,tempcm,kp
*get,tx2,kp,0,mnloc,x
ksel,r,loc,x,tx2,tx2
*get,edge_kp(4,i-1,j),kp,0,num,max
*get,ty2,kp,edge_kp(4,i-1,j),loc,y
*else
*exit
*endif
*enddo
*enddo
*enddo
allsel
*do,i,2,layer_num
btol,0.01
*if,y_div(i),eq,y_div(i-1),then
*do,j,1,z_div(i-1)-1,
*if,x_left(i-1),eq,1,then
vsel,s,loc,x,idx_up(k_num(i-1),i-1),idx_down(k_num(i),i)
kgen,2,edge_kp(3,i-1,j),,,,,1000,10000,0
kwplan,,edge_kp(3,i-1,j),edge_kp(4,i-1,j),edge_kp(3,i-1,j)+10000
vsbw,all,,delete
*endif
*if,x_right(i-1),eq,1,then
vsel,s,loc,x,idx_down(1,i),idx_up(1,i-1)
kgen,2,edge_kp(1,i-1,j),,,,,1000,10000,0
kwplan,,edge_kp(1,i-1,j),edge_kp(2,i-1,j),edge_kp(1,i-1,j)+10000
vsbw,all,,delete
*endif
*enddo
*endif
*enddo
allsel
asel,s,loc,z,idz(layer_num)
cm,dambot,area
multipro,'start',0
*cset,61,62,'pick Left(+) area of foundation'
multipro,'end'
asel,s,ext
asel,r,loc,x,0,1.5*idx_up(1,1)
/auto,1
/replot
asel,r,p
cm,damzheng,area
multipro,'start',0
*cset,61,62,'pick right(-) area of foundation'
multipro,'end'
asel,s,ext
asel,r,loc,x,1.5*idx_up(k_num(1),1),0
/auto,1
/replot
asel,r,p
cm,damfu,area
cmgrp,edge,dambot,damfu,damzheng
multipro,'start',0
*cset,61,62,'check what you need'
multipro,'end'
allsel
cm,damvol,volu
cmsel,,damfu
vext,all,,,-1.5*(idx_up(1,1)-idx_up(k_num(1),1)),0,0
cmsel,s,damzheng


这是在ansys的一本书上,照搬着敲进去的,里面好像有些错误,给修改了,也调试通顺了。后来没时间继续敲,所以还不是很完整,你可以参看着,然后来建模。希望能有所帮助。
回复 不支持

使用道具 举报

 楼主| 发表于 2007-11-9 15:42:03 | 显示全部楼层 来自 四川雅安

回复 #3 偌仪 的帖子

太感谢了
说不出的感谢啊
回复 不支持

使用道具 举报

发表于 2007-11-9 17:27:57 | 显示全部楼层 来自 广东深圳
没电子版的书,命令流是我照着书上的东西,一点点敲上去的
回复 不支持

使用道具 举报

发表于 2007-11-10 09:50:12 | 显示全部楼层 来自 江苏镇江

用三维软件

FOR EXAMPLE:UG   PRO/E
回复 不支持

使用道具 举报

发表于 2007-11-10 11:39:36 | 显示全部楼层 来自 广东深圳
书的名字是

ANSYS高级工程有限元分析范例精选
回复 不支持

使用道具 举报

 楼主| 发表于 2007-11-10 12:42:45 | 显示全部楼层 来自 四川雅安

回复 #8 偌仪 的帖子

都没用过UG和icem
回复 不支持

使用道具 举报

发表于 2007-11-10 15:29:12 | 显示全部楼层 来自 广东深圳
不过,我的计算和后处理是在ansys里做的
回复 不支持

使用道具 举报

发表于 2008-7-3 21:38:44 | 显示全部楼层 来自 四川成都
偌仪....
能不以交流一下,我也在做双曲拱坝的模型...
我的邮箱是lilin20023402@yahoo.cn
谢谢!!!!
回复 不支持

使用道具 举报

发表于 2009-5-15 11:42:00 | 显示全部楼层 来自 江西南昌
兄台
你真是我的偶像啊
能不能给我看下你的建模命令流
小弟向你跪下了 谢谢啊
我的邮箱hgp0828@163.com
回复 不支持

使用道具 举报

发表于 2009-5-18 10:32:21 | 显示全部楼层 来自 江西南昌
回复 #3 偌仪 的帖子
兄台
ANSYS高级工程有限元分析范例精选 里面拱坝建模的命令流已经贴出来了 问一下你这本书里面拱坝后续的温度仿真的命令流有没有呢
真的是急着急寻啊
万分感谢 有的话给我一份啊hgp0828@163.com
回复 不支持

使用道具 举报

发表于 2009-5-18 10:32:33 | 显示全部楼层 来自 江西南昌
回复 #3 偌仪 的帖子
兄台
ANSYS高级工程有限元分析范例精选 里面拱坝建模的命令流已经贴出来了 问一下你这本书里面拱坝后续的温度仿真的命令流有没有呢
真的是急着急寻啊
万分感谢 有的话给我一份啊hgp0828@163.com
回复 不支持

使用道具 举报

发表于 2009-5-18 10:33:10 | 显示全部楼层 来自 江西南昌
回复 #3 偌仪 的帖子
兄台
ANSYS高级工程有限元分析范例精选 里面拱坝建模的命令流已经贴出来了 问一下你这本书里面拱坝后续的温度仿真的命令流有没有呢
真的是急着急寻啊
万分感谢 有的话给我一份啊hgp0828@163.com
回复 不支持

使用道具 举报

发表于 2009-5-21 21:19:44 | 显示全部楼层 来自 湖北宜昌
3楼赞一个
虽然还没弄明白
回复 不支持

使用道具 举报

发表于 2009-6-28 09:59:09 | 显示全部楼层 来自 江苏南京
轻轻地学习了一下,非常感谢!
回复 不支持

使用道具 举报

发表于 2009-10-22 19:38:49 | 显示全部楼层 来自 武汉大学
8# 偌仪

偌仪很强大~~
回复 不支持

使用道具 举报

发表于 2009-10-23 22:51:21 | 显示全部楼层 来自 河南郑州
剖分的很好看,我的分的不行,难看
回复 不支持

使用道具 举报

发表于 2011-3-20 11:52:11 | 显示全部楼层 来自 四川成都
不晓得那个命令流文件是不是拱坝的啊?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-21 03:13 , Processed in 0.097457 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表