行者的学习博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

对于叠层状符合材料壳,可以采用shell181,shell91或shell99来模拟,通常推荐使用she
ll181,因为这个单元提供了最强的材料模型、非线性以及求解技术支持能力,而且可以方
便地进行截面偏置或定义厚度函数。厚度函数可以指定随坐标变化的壳厚度,来模拟变厚
度壳。但对于shell181单元来说,厚度函数只用来控制壳的总厚度,并不能控制单层厚度
,各个叠层的厚度是由总厚度根据壳截面定义中输入的各层厚度值按比例分配的。但有些
情况下,我们需要控制单层的厚度函数,也就是说复合材料中只有某一层或几层的厚度是
坐标的函数,而其余层的厚度并没有变化,这种情况下就不能用总厚度来控制了:如下图
所示的复合材料截面。

只有中间两层的厚度在变化,这种情况下就需要我们根据函数指定中间两层的厚度,而其
余层的厚度不变,这时用shell181单元就不好实现了。可以用shell91或shell99来实现这
种情况,这两种壳单元和shell181不同,不是通过截面来定义铺层,而是通过实常数定义
,可以定义每一个单层的变厚度,即每一层在四个角节点上的厚度。只要对每个单元定义
一个实常数,其每一层的厚度通过实常数定义其对应角节点所在位置的层厚度,就可以实
现层厚的函数化。由于每一层每个角节点的厚度值都是实常数中的某个数值,所以可以通
过RTHICK命令根据函数来修改实常数,从而达到这样一个目的。关于RTHICK命令的说明这
里不进行详细描述,可以参阅ANSYS帮助中对这个命令的详细介绍,下面通过一个例子用sh
ell91单元来说明具体方法。

这个例子为20×10的一个板,如下图所示。其厚度沿长边方向变化,左半部分为32层,中
间两层厚度由0.125逐渐收缩到0,其余层厚不变,右半部分为30层,情况类似。可以参阅
上图,只是层数有所不同。

命令流如下(注:本例只是为了说明方法,壳的厚度偏大,可能并不适合用壳单元来模拟
,只是为了后处理中便于看到结果,实际结构厚度可能小的多,您可以根据需要调整):


/prep7
ET,1,SHELL91,32,1
KEYOPT,1,11,0,
KEYOPT,1,8,1
ET,2,SHELL91,30,1
KEYOPT,2,11,0,
KEYOPT,2,8,1

MP,EX,1,135000
MP,EY,1,8800
MP,EZ,1,8800
MP,PRXY,1,0.33
MP,PRYZ,1,0.33
MP,PRXZ,1,0.33
MP,GXY,1,4470
MP,GYZ,1,4470
MP,GXZ,1,4470

RECTNG,0,10,0,10,
RECTNG,10,20,0,10,
AGLUE,all

LESIZE,all, , ,20, , , , ,1
!*

ASEL,S,LOC,X,0,10
MSHAPE,0,2D
MSHKEY,0
TYPE, 1
AMESH,all
allsel,all

ASEL,S,LOC,X,10,20
MSHAPE,0,2D
MSHKEY,0
TYPE, 2
AMESH,all
allsel,all

CSWPLA,11,0,1,1,
esys,11

*GET,MXNODE,NODE,,NUM,MAX,
*GET,MXELE,ELEM,,NUM,MAX,
*DIM,THICK,,MXNODE

ESEL,S,TYPE,,1
NSLE,S

*DO,ELE,1,MXELE
*IF,ESEL(ELE),EQ,1,THEN
R,ELE
RMODIF,ELE,1,32,0, , , ,0
RMODIF,ELE,13,1,45,0.125,0,0,0, !1
RMODIF,ELE,19,1,135,0.125,0,0,0, !2
RMODIF,ELE,25,1,90,0.125,0,0,0, !3
RMODIF,ELE,31,1,135,0.125,0,0,0, !4
RMODIF,ELE,37,1,45,0.125,0,0,0, !5
RMODIF,ELE,43,1,90,0.125,0,0,0, !6
RMODIF,ELE,49,1,135,0.125,0,0,0, !7
RMODIF,ELE,55,1,45,0.125,0,0,0, !8
RMODIF,ELE,61,1,0,0.125,0,0,0, !9
RMODIF,ELE,67,1,45,0.125,0,0,0, !10
RMODIF,ELE,73,1,135,0.125,0,0,0, !11
RMODIF,ELE,79,1,90,0.125,0,0,0, !12
RMODIF,ELE,85,1,135,0.125,0,0,0, !13
RMODIF,ELE,91,1,45,0.125,0,0,0, !14
RMODIF,ELE,97,1,0,0.125,0,0,0, !15
RMODIF,ELE,103,1,45,0.125,0,0,0, !16
RMODIF,ELE,109,1,135,0.125,0,0,0, !17
RMODIF,ELE,115,1,90,0.125,0,0,0, !18
RMODIF,ELE,121,1,45,0.125,0,0,0, !19
RMODIF,ELE,127,1,135,0.125,0,0,0, !20
RMODIF,ELE,133,1,90,0.125,0,0,0, !21
RMODIF,ELE,139,1,135,0.125,0,0,0, !22
RMODIF,ELE,145,1,45,0.125,0,0,0, !23
RMODIF,ELE,151,1,0,0.125,0,0,0, !24
RMODIF,ELE,157,1,45,0.125,0,0,0, !25
RMODIF,ELE,163,1,135,0.125,0,0,0, !26
RMODIF,ELE,169,1,90,0.125,0,0,0, !27
RMODIF,ELE,175,1,45,0.125,0,0,0, !28
RMODIF,ELE,181,1,135,0.125,0,0,0, !29
RMODIF,ELE,187,1,90,0.125,0,0,0, !30
RMODIF,ELE,193,1,135,0.125,0,0,0, !31
RMODIF,ELE,199,1,45,0.125,0,0,0, !32
*ENDIF
*ENDDO

*DO,NODE,1,MXNODE
*IF,NSEL(NODE),EQ,1,THEN
THICK(node) = 0.125-0.0125*NX(NODE)
*ENDIF
*ENDDO

RTHICK,THICK(1),105,106,107,108
RTHICK,THICK(1),111,112,113,114

*DO,NODE,1,MXNODE
THICK(node) =0

*ENDDO
ALLSEL,ALL

ESEL,S,TYPE,,2
NSLE,S

*DO,ELE,1,MXELE
*IF,ESEL(ELE),EQ,1,THEN
R,ELE
RMODIF,ELE,1,30,0, , , ,0
RMODIF,ELE,13,1,45,0.125,0,0,0, !1
RMODIF,ELE,19,1,135,0.125,0,0,0, !2
RMODIF,ELE,25,1,90,0.125,0,0,0, !3
RMODIF,ELE,31,1,135,0.125,0,0,0, !4
RMODIF,ELE,37,1,45,0.125,0,0,0, !5
RMODIF,ELE,43,1,90,0.125,0,0,0, !6
RMODIF,ELE,49,1,135,0.125,0,0,0, !7
RMODIF,ELE,55,1,45,0.125,0,0,0, !8
RMODIF,ELE,61,1,0,0.125,0,0,0, !9
RMODIF,ELE,67,1,45,0.125,0,0,0, !10
RMODIF,ELE,73,1,135,0.125,0,0,0, !11
RMODIF,ELE,79,1,90,0.125,0,0,0, !12
RMODIF,ELE,85,1,135,0.125,0,0,0, !13
RMODIF,ELE,91,1,45,0.125,0,0,0, !14
RMODIF,ELE,97,1,0,0.125,0,0,0, !15
RMODIF,ELE,103,1,45,0.125,0,0,0, !16
RMODIF,ELE,109,1,135,0.125,0,0,0, !17
RMODIF,ELE,115,1,90,0.125,0,0,0, !18
RMODIF,ELE,121,1,45,0.125,0,0,0, !19
RMODIF,ELE,127,1,135,0.125,0,0,0, !20
RMODIF,ELE,133,1,90,0.125,0,0,0, !21
RMODIF,ELE,139,1,135,0.125,0,0,0, !22
RMODIF,ELE,145,1,45,0.125,0,0,0, !23
RMODIF,ELE,151,1,0,0.125,0,0,0, !24
RMODIF,ELE,157,1,45,0.125,0,0,0, !25
RMODIF,ELE,163,1,135,0.125,0,0,0, !26
RMODIF,ELE,169,1,90,0.125,0,0,0, !27
RMODIF,ELE,175,1,45,0.125,0,0,0, !28
RMODIF,ELE,181,1,135,0.125,0,0,0, !29
RMODIF,ELE,187,1,90,0.125,0,0,0, !30
*ENDIF
*ENDDO

*DO,NODE,1,MXNODE
*IF,NSEL(NODE),EQ,1,THEN
THICK(node) = 0.125-0.0125*(NX(NODE)-10)
*ENDIF
*ENDDO

RTHICK,THICK(1),99,100,101,102
RTHICK,THICK(1),105,106,107,108

*DO,NODE,1,MXNODE
THICK(node) =0
*ENDDO

ALLSEL,ALL
/ESHAPE,1.0
EPLOT

posted on 2010-03-10 18:21  ylclass  阅读(1721)  评论(0编辑  收藏  举报