本文以第八届全国大学生结构设计竞赛赛题——三重檐攒尖顶仿古楼阁模型制作与测试为例子主要来介绍该模型的制作和有限元分析。首先介绍的是模型的建立。
本次赛题的建筑模型是以西安钟楼为原型设计的,结构设计为此次竞赛的核心,结构设计力求达到结构质量轻、抗震性能强的目的。本文介绍的结构设计模型是基于作者当时参赛的模型为例来进行阐述的。
作者是大二参加这次比赛的,当时接触ansys时间比较短,所以未能将结构设计的模型建立成功,随着对ansys的日臻熟练,觉得将这个重新拿来作为例子分析很有意义。遂找到了当时参赛的设计资料,来完成这个几乎被遗忘,却非常有意义的一个“任务”。首先,介绍一下本模型结构的基本情况:
模型的结构由144个构建组成,这些构件包含:柱子、转换梁、横梁,挑梁、屋檐扁梁、屋檐悬挑梁、屋顶斜梁等、这些构件一共分为13种截面,下图展现的为部分构建及其截面设计。
T型悬挑梁
T型悬挑梁
箱型挑梁
工字型横梁
模型结构建立的截面属性命令流如下:
!截面定义
SECTYPE,1,BEAM,HREC,YIZHUZI
!定义第一层柱子截面属性
SECDATA,6,6,0.55,0.55,0.55,0.55
SECTYPE,2,BEAM,I,QLGONG
!定义第二层圈梁1截面属性
SECDATA,7,7,8,0.7,0.7,0.7
SECTYPE,3,BEAM,HREC,QLXIANG
!定义第二层圈梁2截面属性
SECDATA,7,8,0.55,0.55,0.55,0.55
SECTYPE,4,BEAM,HREC,WUJI
!定义第挑檐截面属性
SECDATA,6,7,0.55,0.55,0.55,0.55
SECTYPE,5,BEAM,HREC,ERZHUZI
!定义第二层柱子截面属性
SECDATA,5,5,0.55,0.55,0.55,0.55
SECTYPE,6,BEAM,I,ERLIANGY !定义第二层屋檐横梁截面属性
SECDATA,4,4,4,0.55,0.55,0.55
SECTYPE,7,BEAM,I,ERLIANG
!定义第二层梁截面属性
SECDATA,6,6,6,0.55,0.55,0.55
SECTYPE,8,BEAM,HREC,ZHUANHL
!定义第二层转换梁截面属性
SECDATA,8,8,0.55,0.55,0.55,0.55
SECTYPE,9,BEAM,HREC,SANZHUZI
!定义第三层柱子截面属性
SECDATA,5,5,0.55,0.55,0.55,0.55
SECTYPE,10,BEAM,I,SANLIANG
!定义第三层梁截面属性
SECDATA,6,6,6,0.35,0.35,0.55
SECTYPE,11,BEAM,RECT,WUYAN
!定义屋檐扁梁截面属性
SECDATA,4,0.35,,,
SECTYPE,12,BEAM,HREC,DINGZHU
!定义顶层斜梁截面属性
SECDATA,4,4,0.55,0.55,0.55,0.55
SECTYPE,13,BEAM,t,YANLIANG
!定义屋檐梁截面属性
SECDATA,4,4,0.55,0.55
设置好这些截面属性后,接下来就是生成模型结构的线,然后使用latt命令对各类构件的连线进行截面属性赋予。这里需要注意的是,像T型梁和工字梁这样的梁要注意其在模型空间的Z轴方向的设置,先弄清楚截面x,y,z三个轴的方向,这个很好确定。首先使用/psymb,ldir,on这个命令来显示线的方向,即为x轴方向,然后根据右手准则来判断其它两个轴的方向,然后我们需要设置z轴的方向,只需要设置一个关键点就可以确定下来。
例如:LATT,1,,1,,1010,,8,其中1010为所设置的关键点。
建立好的模型如下图所示:
ansys模型渲染图
有限元模型
此二图在划分好单元后,使用/eshape,on就可以打开模型构建的形状,然后在plotcontrls——best quality image里就可以进行图形渲染。
最后,我们来计算一下结构的质量。计算质量提供两种办法:
其一,让结构仅在自重下进行求解,求出结构支反总力,然后除以重力加速度就可以了。命令流为:
/post1
fsum
!结构支座反力列表
*get,fanli,fsum,0,item,fz
!获取结构竖向支座反力总和
MASS=fanli*(-1)/9800
!结构质量,重力加速度单位mm/s2
*status,MASS
模型质量为83.25,单位为g。
其二,就是运用get命令,得到各单元的体积,由于结构划分的单元很多,使用get命令能很快达到目的,命令流如下:
!求模型的质量
volue1=0
volue2=0
volue3=0
volue4=0
volue5=0
volue6=0
volue7=0
volue8=0
volue9=0
volue10=0
volue11=0
volue12=0
volue13=0
*get,nmax,elem,,num,max
*get,nmin,elem,,num,min
*do,i,nmin,nmax,1
*get,evolu,elem,i,volu
*get,esec,elem,i,attr,secn
*if,esec,eq,1,then
volue1=volue1+evolu
*elseif,esec,eq,2,then
volue2=volue2+evolu
*elseif,esec,eq,3,then
volue3=volue3+evolu
*elseif,esec,eq,4,then
volue4=volue4+evolu
*elseif,esec,eq,5,then
volue5=volue5+evolu
*elseif,esec,eq,6,then
volue6=volue6+evolu
*elseif,esec,eq,7,then
volue7=volue7+evolu
*elseif,esec,eq,8,then
volue8=volue8+evolu
*elseif,esec,eq,9,then
volue9=volue9+evolu
*elseif,esec,eq,10,then
volue10=volue10+evolu
*elseif,esec,eq,11,then
volue11=volue11+evolu
*elseif,esec,eq,12,then
volue12=volue12+evolu
*elseif,esec,eq,13,then
volue13=volue13+evolu
*endif
*enddo
volue_tot1=volue1+volue2+volue3+volue4+volue5
volue_tot2=volue6+volue7+volue8+volue9+volue10
volue_tot3=volue11+volue12+volue13
volue_tot=volue_tot1+volue_tot2+volue_tot3
mass=volue_tot*0.7*10e-3/1000
*status,mass
!得出模型质量,单位为g。
可以看出得到的数据一致,并且和当时我们设计的模型质量相差不大,差距在于模型制作工程中有502胶水的质量未能计入。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删