kingy 发表于 2006-11-23 12:58:21

一点心得,与大家分享,关于zero pivot.

大家可能都清楚当出现zero pivot错误的时候,一般是model中出现了过约束(over constraint)或者是约束不够而导致rigid mode. 以前我是把这当做一条理论来记得,原因比较模糊,今天把它搞搞清楚,落在文字上与大家分享。说pivot, 得先从高斯消元讲起。有限元软件求解刚度矩阵时,一般是用高斯消元。对于高斯消元,大家应该比较熟悉,这是一种基于先正向消元,再反向迭代求解的求解办法(It is based on triangularization of the coefficient matrix and evaluation of the unknowns by back-subsitution starting from the last equation)。高斯消元后的矩阵是这样的
-                                       -
| a11a12   a13a14… a1n|      x1       c1
| 0      a22   a23a24… a2n|      x2       c2
| 0      0       a33a34…a3n   |      x3       c3
| 0      0       0      a44…a4n|   {x4}={c4}
| ………………………… ...........|      …       …
| 0      0      0      0 … ann |       xn      cn
-                                           -

这样第一步先求出xn,第二步就可以求出x(n-1),如此类推。在这个矩阵中每行的第一个非零的系数就是pivot。那么zero pivot的意义就明确了,就是指在高斯消元后的刚度矩阵中出现了一个全为零的一行。一个原因是出现了过构束,就好比去用10个方程去解一个9个未知数,一定有一个方程可以消去。多余那个方程有可能与原有的某一方程等价,也有可能与某一方程冲突,但结果都是zero pivot。 另一个原因是约束不够,有力,但与之对应没有刚度,无疑会出现zero pivot。但如果是约束不够时,一般在message file里还会出现NUMERICAL SINGULARITY warnings。这一般是因为力除以0刚度出现了无穷大的位移。

矩阵太丑了,大家凑合看,如有不妥之处,请大家讨论。

[ 本帖最后由 kingy 于 2006-11-24 04:07 编辑 ]

amani 发表于 2011-2-1 09:13:55

本帖最后由 amani 于 2011-2-1 09:20 编辑

大家可能都清楚当出现zero pivot错误的时候,一般是model中出现了过约束(over constraint)或者是约束不够而导致rigid mode. 以前我是把这当做一条理论来记得,原因比较模糊,今天把它搞搞清楚,落在文字上与大家分 ...
kingy 发表于 2006-11-23 12:58 http://forum.simwe.com/images/common/back.gif


这个问题确实很重要,其实就是这么回事情,消元之后主对角线上的
元素出现为零的情况,就是小主元,也就是矩阵非正定,不是满秩矩阵,
涉及到矩阵运算,高斯消去法求解矩阵只是一种方法而已。
所以学有限元最重要的事情就是将《数值计算》中的例子自己编程去求解
矩阵的一系列运算,那样才会理解深。

浙江大学 化工系 贝壳航母

suqaba 发表于 2011-1-7 15:18:30

另一种情况是相邻单元间刚度太悬殊
电脑计算有效数字是有限的,当一个大数和相差悬殊的小数相加减时,小数不起作用。当大数加或减小数再减大树则可能为0了
比如,某电脑只有5位有效数字,计算
10000+0.49999-10000,结果是0

ctndygsdr 发表于 2008-5-5 22:52:45

通俗易懂 高啊

Q. 发表于 2006-11-23 13:13:36

谢谢分享资料!

这样的矩阵最好看,才最能代表kingy特色,呵呵

大家注意了,此矩阵表示已被kingy先生申请专利,切勿效仿,哈哈!!!!!!!

kingy 发表于 2006-11-23 13:24:29

那个矩阵花的时间比打所有字的时间还长,结果还是很丑,想用word打再用附件上载,估计大家不喜欢那种,这样点开就看的比较好吧。Q版主取笑了:)

Q. 发表于 2006-11-23 13:42:30

没有没有,我是表扬的意思。

只有这样才证明是原创,原先我输入sigma都输不进去,有可能的话,应该建议simwe具有word功能,可以方便的输入公式、符号等等。

你花了这么大气力输入矩阵,个人代表所有abaqus版块会员感谢你!!!!!!

学习python之余,也来这个温暖的大家庭看看,指导一下!!!!!!!

Lxcad 发表于 2006-11-23 22:43:05

[一点心得,与大家分享,关于zero pivot.]
写得太好!!我作为收藏!!距阵漂亮!

kingy 发表于 2006-11-23 23:00:14

L版主也来捧场,多谢多谢,以后再有心得,一定多多奉上。

aresaran 发表于 2006-11-24 03:58:12

不错不错,值得学习。
Kingy兄理论功底很深阿

kingy 发表于 2006-11-24 04:05:37

aresaran见笑了。说来惭愧,有限元的知识学了无数遍了,还是感觉只学了个皮毛。深层理论的东西还很欠缺,这方向以后要多向你请教,你可要知无不言呀:). 

aba_aba 发表于 2006-11-24 16:49:04

aresaran 和 kingy 相敬如宾,互相吹捧,值得提倡

ydliu_zn 发表于 2006-11-24 17:21:28

原帖由 kingy 于 2006-11-24 04:05 发表
不错不错,值得学习。
Kingy兄理论功底很深阿

aresaran见笑了。说来惭愧,有限元的知识学了无数遍了,还是感觉只学了个皮毛。深层理论的东西还很欠缺,这方向以后要多向你请教,你可要知无不言呀:).
两人相见恨晚,情不自禁...:P:P:P

archwolf 发表于 2007-5-21 08:59:41

这个帖子很有用,支持

wxm20604045 发表于 2007-9-22 17:21:10

不错啊

yang240 发表于 2007-9-23 16:52:17

终于知道原因了,楼主高手啊

longjiangqi 发表于 2008-4-29 18:19:17

回复 13# 的帖子

很受启发 谢谢

ahai0122 发表于 2008-4-30 10:58:55

理论的力量!!感谢分享!!

悠悠 发表于 2008-5-6 09:15:23

虽然大致知道为什么过约束会引起zero pivot,但有人把这一过程不辞辛苦的写出来,这样的帖子还是要收藏和顶起来的。
对于“多余那个方程有可能与原有的某一方程等价,也有可能与某一方程冲突,但结果都是zero pivot。”,我想,对于等价的,abaqus可能自己就处理掉了,因为abaqus有处理一部分过约束的能力,对于冲突的,估计软件是无能为力的。我的疑问是,软件能否给出是哪些节点的过约束出现了冲突。如果能够加入一些准则,让abaqus自行把冲突的过约束按照一定的原则给予消除,比如说,区分出主要约束跟次要约束,当出现过约束时,次要约束不予考虑。如果能这样处理就好了。

egotrip 发表于 2008-5-6 12:04:15

我也收藏一下,谢楼主分享

zhengxuan 发表于 2008-5-6 16:24:07

很受启发,谢谢!
要多向各位学习,多思考研究,不能糊弄自己.

phy120909 发表于 2008-5-14 10:07:23

回复 1# 的帖子

很好
不过在cae里面怎么才能解决问题呢?
我的一个模型出现了这样的问题:
Solver problem. Zero pivot when processing D.O.F. 2 of 1 nodes.
             The nodes have been identified in node set
             WarnNodeSolvProbZeroPiv_2_1_1_1_1.
什么原因呢?
望赐教。
页: [1] 2 3 4
查看完整版本: 一点心得,与大家分享,关于zero pivot.