在空间结构分析中,稳定性分析一直是难点,而在这过程中,初始缺陷的施加成为重中之重,尤其是对初始缺陷较为敏感的结构,例如单层网壳,下面水哥就总结下在ANSYS中施加初始缺陷的方法,共大家参考。
在具体阐述之前,先来讨论下目前常用工程中关于初始缺陷的施加类别,一般说来,目前主要有如下几种作为施加类型:
1、结构最低阶整体失稳模态,这是最常用的施加类型;
2、结构前十阶失稳模态,这种情况主要针对局部模态较多,无法准确判定整体失稳模态时,可选择一定范围内具有整体性质的失稳模态进行初始缺陷施加,这里有两种方法,一种是分别计算每一种失稳模态的安全系数,然后取最小值;另外一种是提取每种失稳模态的位移向量,然后进行矢量相加,最后在整体作为初始缺陷进行施加,这种方法较为复杂,使用较少。
3、结构在1.0恒+1.0活 作用下的变形作为初始缺陷进行施加;
5、自定义初始缺陷,根据结构物使用或者施工特性,对特定的部位采用特殊的初始缺陷进行施加。
了解常见的缺陷类型后,我们来讨论下在ANSYS中施加初始缺陷的方法,目前初始缺陷的方法主要有两种:
该命令使用范围较广,并且使用较为灵活,使用格式如下:
UPGEOM, FACTOR, LSTEP, SBSTEP, Fname, Ext
Factor: 缺陷比例系数,通常计算公式为:规范限值/计算模型最大值,例如一单层网壳结构跨度52m,一阶失稳时的云图最大位移值为1.105,根据《空间网格技术规程》,施加初始缺陷最大值为L/300,故此时Factor=52/300/1.105=0.1569
LSTEP、SBSTEP表示要施加位移形状所在的荷载步与荷载子步
Fname、Ext分别为结果文件民以及后缀名,通常为rst
这个Upgeom命令很有弹性,之所以这么讲,主要原因在于用户可以自定义结果数据文件,前面有讲,初始缺陷的施加除了以失稳模态作为基本形状外,还可以以恒载+活载作用下的结构变形作为基本形状,故而如果要实现这种情况,需要在静力完毕后及时的修改数据结果文件名,因为一般在进行双非计算之前,需要进行弹性屈曲分析,此时如果不改前面静力计算的结果数据文件名,其结果数据文件会被覆盖。
所谓初始缺陷,也即相对于原结构几何的变化,针对于自定义的情况,若无法通过Upgeom命令进行整体范围内的改变,可通过修改节点坐标命令来进行自定义缺陷的施加,思路如下:
1)、建立四维数组A,按照节点编号、X坐标改变值、Y坐标改变值、Z坐标改变值进行存储,具体改变值可采用Excel等方式进行计算;
2)、建立四维数组B,采用Get命令分别获取当前模型中各个节点的坐标值;
这种方法的原理在于模型建立完毕后只要更改节点坐标后,并不会更改单元的节点连接关系,从而间接达到更新模型的作用。
为对比后续方法与常用方法的效果,以某个单层网壳为例,计算其在恒载+活载作用下的安全系数。
1、采用Upgeom命令施加一阶整体失稳模态初始曲线,最后的荷载位移曲线如下,由曲线可知,安全系数约为13。
/post1
allsel,all
!原节点编号、坐标获取
nsle,s,corner
*get,nodemax,node,0,count
*dim,nodeA,array,nodemax,4
*dim,nodeB,array,nodemax,4
*dim,nodeC,array,nodemax,4
*get,nodemin,node,0,num,min
*get,nodex,node,nodemin,loc,x
*get,nodey,node,nodemin,loc,y
*get,nodez,node,nodemin,loc,z
nodeA(1,1)=nodemin
nodeA(1,2)=nodex
nodeA(1,3)=nodey
nodeA(1,4)=nodez
*do,i,2,nodemax
nodeA(i,1)=ndnext(nodeA(i-1,1))
*get,nodex,node,nodeA(i,1),loc,x
*get,nodey,node,nodeA(i,1),loc,y
*get,nodez,node,nodeA(i,1),loc,z
nodeA(i,2)=nodex
nodeA(i,3)=nodey
nodeA(i,4)=nodez
nsel,u,,,nodeA(i-1)
*enddo
!系数计算
Span=300 !施加的比例
FactA=56/300/1.014
!具体改变值计算
allsel,all
set,1,1 !选取提取的模态
!提取各个节点的位移
*do,i,1,nodemax
nodeB(i,1)=nodeA(i,1)
*get,nodex,node,nodeA(i,1),u,x
*get,nodey,node,nodeA(i,1),u,y
*get,nodez,node,nodeA(i,1),u,z
nodeB(i,2)=nodex*FactA
nodeB(i,3)=nodey*FactA
nodeB(i,4)=nodez*FactA
*enddo
!计算加上初始缺陷之后的节点坐标
*do,i,1,nodemax
nodeC(i,1)=nodeA(i,1)
nodeC(i,2)=nodeA(i,2)+nodeB(i,2)
nodeC(i,3)=nodeA(i,3)+nodeB(i,3)
nodeC(i,4)=nodeA(i,4)+nodeB(i,4)
*enddo
!改变节点坐标
/prep7
*do,i,1,nodemax
n,nodeC(i,1),nodeC(i,2),nodeC(i,3),nodeC(i,4)
*enddo
由上可见,上述两者方法均能实现初始缺陷的施加,前者适用于可采用整体计算结果作为初始缺陷的施加,而后者可实现自定义初始缺陷的施加。
暂无评论内容