声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1302|回复: 1

[结构分析] 斜拉桥三维仿真分析【转】

[复制链接]
发表于 2011-3-11 15:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x

  1. /filname,cable-stayed bridge,1
  2. keyw,pr_struc,1
  3. /prep7
  4. !定义单元类型
  5. et,1,beam4
  6. et,2,link10
  7. !定义材料属性
  8. mp,ex,1,3.5e10
  9. mp,prxy,1,0.17
  10. mp,dens,1,2500
  11. mp,ex,2,10e15
  12. mp,prxy,2,0
  13. mp,dens,2,0
  14. mp,ex,3,1.9e10
  15. mp,prxy,3,0.25
  16. mp,dens,3,1200
  17. mp,damp,3,0.5
  18. !定义实常数
  19. !定义实常数
  20. r,1,25.6,5.546.133,16,1.6
  21. r,2,16,29.417,15.394,3.4,4.7
  22. r,3,54,364.5,162,6,9
  23. r,4,40,213.3,83.3,5,8
  24. r,5,1,1/12,1/12,1,1
  25. r,6,0.012,0.012             !索的

  26. !创建节点和单元
  27. !建立主梁节点
  28. /view,1,1,1,1
  29. /angle,1,270,xm,0
  30. /replot

  31. *do,i,1,59           !此循环用于建立主梁的半跨节点
  32. x=-174*2+(i-1)*6     !最左端x=174*2,x=0左边的节点x坐标值,间距为6
  33. y1=-14               !桥面宽28米,故左边节点为-14
  34. y2=14                !桥面宽28米,故右边节点为-14
  35. n,3*(i-1)+1,x        !建立主梁节点              3*(i-1)+1为节点号
  36. n,3*(i-1)+2,x,y1     !以下两行建立桥面两边节点
  37. n,3*i,x,y2           !能想出这种建模命令的绝对是编程高手,哈哈
  38. *enddo               !完全可以先建立端部的三个节点,然后用这三个节点在x方向上复制59份,间距为6
  39. !建立主梁单元
  40. type,1
  41. real,1
  42. mat,1
  43. *do,i,1,58,1         !以下循环建立建立桥面中线主梁单元
  44. j=3*(i-1)+1
  45. e,j,j+3
  46. *enddo
  47. !建立鱼刺刚横梁
  48. type,1
  49. real,5
  50. mat,2
  51. *do,i,1,59,1         !以下循环用于建立桥面鱼刺横梁的节点
  52. j=3*(i-1)+1
  53. j1=3*(i-1)+2
  54. j2=3*i
  55. e,j,j1
  56. e,j,j2
  57. *enddo
  58. !建立半跨主塔
  59. i=59*3            !变量用于记录桥面的节点数,即至此已经建立了59*3个节点了,用于指导以后设定节点的编号
  60. n,i+1,-174,-10,-30   !以下两行记录塔脚节点
  61. n,i+2,-174,10,-30
  62. n,i+3,-174,-15   !以下两行用于建立与桥面齐高的主塔节点
  63. n,i+4,-174,15
  64. *do,j,1,5,1      !以下循环用于建立索塔在桥面以上的节点
  65. k=i+4+j
  66. n,k,-174,0,60+(j-1)*18
  67. *enddo
  68. !建立下索塔单元
  69. type,1
  70. real,4
  71. mat,1
  72. e,i+1,i+3          !以下用于建立主塔在桥面以下的两根塔柱单元
  73. e,i+2,i+4
  74. !建立中索塔单元
  75. type,1
  76. real,3
  77. mat,1
  78. e,i+3,i+5            !以下用于建立倒Y分叉点到桥面间的两根塔柱单元
  79. e,i+4,i+5
  80. !建立上索塔单元
  81. type,1
  82. real,2
  83. mat,1
  84. *do,j,1,4,1          !以下用于建立倒Y分叉点以上的塔柱单元
  85. k=i+4+j
  86. e,k,k+1
  87. *enddo
  88. !建立与塔的倒Y分叉点链接的索单元
  89. type,2
  90. real,6
  91. mat,3
  92. e,i+5,89
  93. e,i+5,90
  94. !建立主塔倒Y分叉点以上第一个张拉点连接的索单元
  95. *do,j,1,8,1
  96. !此循环用于建立主塔倒Y分叉点以上第一个张拉点连接的所有索单元,共32个
  97. e,i+6,89+3*j
  98. e,i+6,89-3*j
  99. e,i+6,90+3*j
  100. e,i+6,90-3*j
  101. *enddo
  102. !建立与主塔的其他三个张拉点连接的单元
  103. *do,k,1,3,1
  104. *do,j,1,7,1
  105. e,i+6+k,113+(k-1)*21+3*j      !一共有28个索单元连接在每个张拉点上
  106. e,i+6+k,65-(k-1)*21-3*j
  107. e,i+6+k,114+(k-1)*21+3*j
  108. e,i+6+k,66-(k-1)*21-3*j
  109. *enddo
  110. *enddo
  111. !生成全桥模型节点
  112. i=i+9                         !记录半跨的所有节点数
  113. nsym,x,i,all                  !用映射法直接建立另半跨节点
  114. esym,,i,all                   !用映射法直接建立另半跨单元
  115. nummrg,all                    !合并所有节点和单元
  116. !建立索塔连接横梁单元
  117. type,1
  118. real,5
  119. mat,2
  120. j=i
  121. i=i-9
  122. n,1000,-174
  123. e,1000,i+3
  124. e,1000,i+4
  125. n,2000,174
  126. e,2000,i+3+j
  127. e,2000,i+4+j
  128. !施加主塔的四个脚上的全约束
  129. nsel,s,loc,z,-30
  130. d,all,all
  131. allsel
  132. !在左桥端施加y,z约束
  133. nsel,s,loc,x,-348         !仅给左端主梁施加约束
  134. nsel,r,loc,y,0
  135. d,all,uy
  136. d,all,uz
  137. allsel

  138. !在右桥端施加y约束
  139. nsel,s,loc,x,348         !仅给右端主梁施加约束
  140. nsel,r,loc,y,0
  141. d,all,uy
  142. allsel

  143. numcmp,all
  144. !施加重力场
  145. acel,,,9.8

  146. !耦合节点,耦合跨中由于对称而重复的单元节点以及两主塔上塔横梁和主梁的重合节点,
  147. cpintf,uy
  148. cpintf,uz
  149. cpintf,rotx
  150. cpintf,rotz

  151. !成桥状态的确定
  152. !静力的初步计算
  153. !直接进行静力计算
  154. /solu
  155. solve
  156. finish
  157. !得到最大位移为1.288m,由于偏差太大需要重新计算(与事实不符)
  158. !修改实常数后重新计算:令r,6,0.012,0.012,即给索以预应变0.012
  159. /solu      !为了将计算应力用于下面的动力分析,这里打开预应力和集中质量设置开关
  160. lumpm,on
  161. pstres,on
  162. solve
  163. finish
  164. !求得最大位移为0.0329m,说明已经达到成桥状态要求,(与事实不符)


  165. !模态分析
  166. !分析设置
  167. /solu
  168. antype,2
  169. !MODOPT,LANB,20  
  170. !EQSLV,SPAR  
  171. MXPAND,10, , ,0
  172. LUMPM,1
  173. PSTRES,1

  174. MODOPT,LANB,20,0,100, ,OFF
  175. UPCOORD,1,ON              !更新模型计算坐标,目的是为了将预应力效应准确的应用能够到模态分析上来
  176. !分析设置完毕
  177. solve
  178. finish
  179. !激励耦合分析
  180. !恢复成桥静力计算结果
  181. RESUME, cable-stayedbridge,db, !路径:utility menu>file>resume jobname.db
  182. !生成地震激励向量,将记事本格式的地震波数据调入到工作目录下,并执行以下命令

  183. *DIM,aay1,ARRAY,2,50,1

  184. *DIM,aaz1,ARRAY,2,50,1  
  185.   
  186. *CREATE,ansuitmp
  187. *VREAD,aay1(1,1),'tjx','txt',' ',50
  188. (e9.3,e11.3)
  189. *END
  190. /INPUT,ansuitmp

  191. *CREATE,ansuitmp
  192. *VREAD,aaz1(1,1),'tjy','txt',' ',50
  193. (e9.3,e11.3)
  194. *END
  195. /INPUT,ansuitmp

  196. !输入车辆激励波,Z=1000*cos(10*t).车子跨越一个单元的时间为0.1秒(速度216公里/小时),全桥共696米,历时11.6秒,纵向共116个单元,117个节点
  197. n=117                             !定义向量维数
  198. *dim,fcar,array,n                 !定义车载荷向量
  199. *do,i,1,n,1                       !以下循环为生成车载荷数据,即向“farc”矩阵中写入数据
  200. tt=(i-1)*0.1
  201. fcar(i)=1000*cos(10*tt)
  202. *enddo

  203. !输入风载荷激励p=50*sin(1.5*t)。由于梁长6米,高3米,故每个节点的受力可表示为:

  204. *dim,fwind,array,n,n        !定义风荷载向量,***注意要与车辆荷载步即时间相等***
  205. *do,i,1,n,1
  206. tt=(i-1)*0.1                 !按不同时刻,每一次都是给列赋值,即各节点赋予荷载值,第a行第b列表示第b时刻第a个节点的荷载值
  207. p=50*sin(1.5*tt)
  208. fwind(1,i)=3*3*p    !两端的每根梁的面积为6*3,两个节点上所受的力应为一半面积与压力的乘积:3*3*p
  209. *do,j,1,n-2
  210. fwind(j+1,i)=6*3*p  !中间的每根梁的面积为6*3,两个节点上所受的力应为两个相邻梁各一半面积与压力的乘积:6*3*p
  211. *enddo
  212. fwind(n,i)=3*3*p
  213. *enddo


  214. !加载步耦合
  215. !由于瞬态分析是以荷载步为阶段来求解的,所以应该将117个载荷步分别写入荷载文件中
  216. finish          !完成上一阶段的设置
  217. /config,nres,2000    !设置最大子步数为2000
  218. /solu
  219. antype,trans      !定义分析类型为瞬态
  220. trnopt,full       !求解方式为完全法
  221. m=n               !m变量表示向量的需要存储的时间点数  m=n=117

  222. *do,i,1,m,1       !总循环开始,开始激励的耦合循环
  223. time,i*0.1        !给每个载荷步文件设置结束点时间
  224. auto,off          !关闭自动时间步选项
  225. deltim,0.05       !设置子步求解的时间间隔
  226. kbc,0             !选择ramped选项
  227. outres,basic      !选择基本结果输出
  228. cnvtol,f,,0.01   !选择力收敛准则,容差为0.01
  229. !施加地震激励
  230.     *if,i,le,50,then       !如果i小于等于50(le为little equal to)
  231.     acel,,-aay1(2,i),10-aaz1(2,i)   !其中最后一项 为重力加速度与地震竖向加速度的差值
  232.     *else
  233.     acel,0,0,10
  234.     *endif
  235. !施加移动载荷激励
  236. *if,i,eq,1,then     !如果力作用在最左端的主梁上时,单独定义施加的载荷,目的为了以下删除载荷的语句可以使用
  237. nsel,s,loc,x,-174*2
  238. nsel,r,loc,y,0
  239. nsel,r,loc,z,0
  240. f,all,fz,-fcar(i)
  241. allsel
  242. *else               !如果力不是作用在最左端时
  243. nsel,s,loc,x,-174*2+i*6           !选择受力节点施加载荷
  244. nsel,r,loc,y,0
  245. nsel,r,loc,z,0
  246. f,all,fz,-fcar(i)
  247. allsel
  248. nsel,s,loc,x,-174*2+(i-1)*6       !删除前一节点上的载荷
  249. nsel,r,loc,y,0
  250. nsel,r,loc,z,0
  251. fdele,all,fz
  252. allsel
  253. *endif

  254. !施加风载荷,(子循环)
  255.   *do,j,1,m,1
  256.   nsel,s,loc,y,-14           !选择有风作用一侧的节点
  257.   nsel,r,loc,x,-174*2+(j-1)*6
  258.   f,all,fy,fwind(j,i)        !给所选节点施加载荷
  259.   allsel
  260.   *enddo
  261. lswrite,i                    !写数据到载荷步文件i
  262. *enddo        !总循环结束
  263. lssolve,1,m,1

复制代码
回复
分享到:

使用道具 举报

发表于 2011-4-10 22:01 | 显示全部楼层
楼主很厉害。斜拉悬索、连续钢构都做得来,学习了。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-11 16:46 , Processed in 0.058787 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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