- 积分
- 1
- 注册时间
- 2010-7-23
- 仿真币
-
- 最后登录
- 1970-1-1
|
最近刚开始始学习APDL,照着书上把以前用GUI做过的例子用APDL再做一次,结果今天碰到了一个奇怪的问题,请高手们看看是怎么回事。
这是一个简单的桁架静力分析问题,采用LINK180单元,第1-4号keypoint上施加了固定约束,9、10、17、18、25、26、33、34点上施加了-Y方向的力载荷1000,如下图所示:
分析的APDL代码如下:
/PREP7
ALLSEL,ALL,ALL
LCLEAR,ALL !清除网格
DDELE,ALL !清除边界条件
FKDELE,ALL,ALL !清除所有点载荷
RDELE,ALL !清除所有已定义的实常数
MPDELE,ALL,ALL !清空已定义的材料属性
LDELE,ALL !清除所有已定义的线
KDELE,ALL !清除所有已定义的KeyPoint
!定义单元为LINK180
nEl = 1
ET,nEl,LINK180
!定义材料属性
MPTEMP,1,0
MPDATA,EX,1,,2.1e11
MPDATA,PRXY,1,,0.3
!定义LINK180单元的截面积
R,nEl,0.000106
!几何建模
nLayer = 9
*DO,i,1,nLayer,1
!先定义1层上的4个顶点关键点
K,(i - 1)*4 + 1,-0.2,0.2,(i - 1)*0.4
K,(i - 1)*4 + 2,0.2,0.2,(i - 1)*0.4
K,(i - 1)*4 + 3,0.2,-0.2,(i - 1)*0.4
K,(i - 1)*4 + 4,-0.2,-0.2,(i - 1)*0.4
!连接1层上的4个顶点关键点
L,(i - 1)*4 + 1,(i - 1)*4 + 2
L,(i - 1)*4 + 2,(i - 1)*4 + 3
L,(i - 1)*4 + 3,(i - 1)*4 + 4
L,(i - 1)*4 + 4,(i - 1)*4 + 1
!对角线连接
*IF,MOD(i,2),EQ,1,THEN
L,(i - 1)*4 + 1,(i - 1)*4 + 3
*ELSE
L,(i - 1)*4 + 2,(i - 1)*4 + 4
*ENDIF
*ENDDO
!连接各层之间的顶点
*DO,i,1,nLayer - 1,1
*DO,j,1,4,1
L,(i - 1)*4 + j,i*4 + j
*ENDDO
*ENDDO
!顶面和侧面连接
*DO,i,1,nLayer - 1,1
*IF,MOD(i,2),EQ,1,THEN
!奇数层
L,(i - 1)*4 + 2,i*4 + 1
L,(i - 1)*4 + 4,i*4 + 3
L,(i - 1)*4 + 2,i*4 + 3
L,(i - 1)*4 + 4,i*4 + 1
*ELSE
!偶数层
L,(i - 1)*4 + 1,i*4 + 2
L,(i - 1)*4 + 3,i*4 + 4
L,(i - 1)*4 + 3,i*4 + 2
L,(i - 1)*4 + 1,i*4 + 4
*ENDIF
*ENDDO
!几何建模结束
!分网
LESIZE,ALL,,,1,,1,,,1
LSEL,ALL
LMESH,ALL
!分网结束
!边界条件
KSEL,S,KP,,1,4
DK,ALL,ALL,0
!边界条件结束
!载荷
KSEL,S,KP,,(3 - 1)*4 + 1,(nLayer - 1)*4 + 1,8 !选择左边的受载KeyPoint
KSEL,A,KP,,(3 - 1)*4 + 2,(nLayer - 1)*4 + 2,8 !选择右边的受载KeyPoint
FK,ALL,FY,-1000
!载荷结束
!下面这句代码如果删除则计算出错
!ALLSEL,ALL,ALL
/SOL
ANTYPE,STATIC,NEW
SOLVE
FINISH
在运行计算时发现只要没有上面红色部分的代码被注释掉计算时即会提示:A small equation solver pivot term has been encountered
经更多的实验后发现,如果把ALLSEL,ALL,ALL改成KSEL,S,KP,,1,2或KSEL,S,KP,,3,4时也不会报错,但计算出来的结果是错误的,若改成KSEL,S,KP,,2,3则同样会报相同的错误。
请问各位,上面代码中用ALLSEL命令选择了所有对象后根本就没有其他针对几何对象的操作了,但为什会对计算有影响呢?为什么不选择全部对象就会出错呢?
|
|