- 阿啵呲嘚
-
单元刚度矩阵奇异
如a=[
1 0 0 2/3 -1 -2/3
0 1/3 2/3 0 -2/3 -1/3
0 2/3 4/3 0 -4/3 -2/3
2/3 0 0 4 -2/3 -4
-1 -2/3 -4/3 -2/3 7/3 4/3
-2/3 -1/3 -2/3 -4 4/3 13/3
];
inv(a)
Warning: Matrix is singular to working precision.
ans =
Inf Inf Inf Inf Inf Inf
Inf Inf Inf Inf Inf Inf
Inf Inf Inf Inf Inf Inf
Inf Inf Inf Inf Inf Inf
Inf Inf Inf Inf Inf Inf
Inf Inf Inf Inf Inf Inf
>> det(a)
ans =
0
单元刚度矩阵一定是奇异的,这一点一般的有限元书上都有证明,给定某个位移为1,其它位移为0,代入F=KΔ,再由力的平衡关系,可推出矩阵(方阵)的该列元素的和为0,依次定义不同的非0位移,可得知其它列有同样性质,因此方阵的行列式为0,由此可知该方阵是奇异的。一般k为稀疏带状矩阵。
应该说结构刚度矩阵在没有引入边界条件之前是奇异的,因为如果没有引入边界条件的话,对整个结构来说存在着刚体位移,也就是说ku=f这个方程存在着非零解,引入边界条件的话就是约束结构的整体刚体位移,使得刚度矩阵从奇异转化为非奇异。
由对称性和奇异性的单元刚度矩阵组装成的结构刚度矩阵也具有对称性和奇异性。然而引入约束条件后,整体刚度矩阵则满秩。如未引入约束条件的整体矩阵
>> b=[
7/3 4/3 -4/3 -2/3 -1 -2/3 0 0
4/3 13/3 -2/3 -4 -2/3 -1/3 0 0
-4/3 -2/3 7/3 0 0 4/3 -1 -2/3
-2/3 -4 0 13/3 4/3 0 -2/3 -1/3
-1 -2/3 0 4/3 7/3 0 -4/3 -2/3
-2/3 -1/3 4/3 0 0 13/3 -2/3 -4
0 0 -1 -2/3 -4/3 -2/3 7/3 4/3
0 0 -2/3 -1/3 -2/3 -4 4/3 13/3
];
>> det(b)
ans =
2.4580e-044
>> inv(b)
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 9.759739e-018.
ans =
1.0e+015 *
0.7097 0.1673 1.3630 0.1673 0.7097 -1.1391 1.3630 -1.1391
0.4155 -0.9251 -0.1300 -0.9251 0.4155 0.1659 -0.1300 0.1659
1.7434 -0.4698 1.4422 -0.4698 1.7434 0.1325 1.4422 0.1325
0.4155 -0.9251 -0.1300 -0.9251 0.4155 0.1659 -0.1300 0.1659
0.7097 0.1673 1.3630 0.1673 0.7097 -1.1391 1.3630 -1.1391
-1.6517 0.3492 -0.2885 0.3492 -1.6517 -2.3773 -0.2885 -2.3773
1.7434 -0.4698 1.4422 -0.4698 1.7434 0.1325 1.4422 0.1325
-1.6517 0.3492 -0.2885 0.3492 -1.6517 -2.3773 -0.2885 -2.3773
对于有限元软件的应用,大家经常会碰到一个十分头痛的问题,软件提示总体刚度矩阵出现小的主元和负元,也即总体刚度矩的出现奇异,出现奇异的原因多种多样,可能的原因有:
在共享一个节点的所有单元中材料属性如弹性模量为零;
一个或多个结构节点没有连接到任何单元上;
结构式的一个或多个部分没有与其它部分相接;
边界条件没有设定或不够充分;
不适当的连接可能产生寄生模式;
在一个连接点设置了太多的分离;
有很大的刚度奇异;
部分结构发生屈服;
在非线性分析中,支撑或者连接已达到零刚度,以至于部分或所有结构不能被充分支撑。