找回密码
 注册
Simdroid-非首页
查看: 616|回复: 32

[H. 有限元编程] 在用matlab编有限元程序时遇到的刚度矩阵病态

[复制链接]
发表于 2012-4-13 11:39:18 | 显示全部楼层 |阅读模式 来自 湖南长沙
    在用matlab编辑三角形板壳单元的程序时,局部坐标下的刚度矩阵都没有问题,在
2.3901e+009        5.3571e+008        0        0        0        0
5.3571e+008        1.3187e+009        0        0        0        0
0        0        10440        4395.6        -22802                                        0
0        0        4395.6        24725        -8241.8                                        0
0        0        -22802        -8241.8        74863                                        0
0        0        0        0        0        0后,在进行坐标变换,变换到总体坐标下,但是变化到总体坐标下面后,求解位移的时候,出现如下所示:ans =

    2.564461764748704e+035

Warning: Matrix is close to singular or badly scaled.
         Results may be inaccurate. RCOND = 2.450094e-023.其中的answer为总体坐标下的刚度矩阵的行列式;请问各位前辈,这个问题怎么解决啊?
发表于 2012-4-13 22:37:29 | 显示全部楼层 来自 湖北武汉
Simdroid开发平台
楼主,我最近也在研究有限元编程问题,能不能叫QQ交流下呢?
我的QQ:715405932
回复 不支持

使用道具 举报

发表于 2012-4-14 08:25:27 | 显示全部楼层 来自 上海
没有施加约束,刚度阵肯定是奇异的
回复 不支持

使用道具 举报

发表于 2012-4-14 10:35:36 | 显示全部楼层 来自 湖北武汉
pasuka 发表于 2012-4-14 08:25
没有施加约束,刚度阵肯定是奇异的

你好,简单地写了下位移法的程序,发现与正确结果总是有个几倍的差距,请问这是怎么回事呢?
回复 不支持

使用道具 举报

发表于 2012-4-14 10:37:13 | 显示全部楼层 来自 湖北武汉
试试广义逆呢,pinv
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-14 12:45:59 | 显示全部楼层 来自 湖南长沙
施加了约束,矩阵不是奇异的  行列式值不为0  只是矩阵的条件数很大   导致矩阵式病态的  
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-14 12:47:40 | 显示全部楼层 来自 湖南长沙
用广义逆能解  但是结果不对啊!
回复 不支持

使用道具 举报

发表于 2012-4-14 18:07:52 | 显示全部楼层 来自 湖北武汉
李健 发表于 2012-4-14 12:47
用广义逆能解  但是结果不对啊!

那你试试对矩阵进行相应地处理呢(置大数、主置法呢)
回复 不支持

使用道具 举报

发表于 2012-4-14 22:11:16 | 显示全部楼层 来自 美国
We need you to put your derivation here so that we can have a good look.
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-15 21:13:34 | 显示全部楼层 来自 湖南长沙
whutjp 发表于 2012-4-14 18:07
那你试试对矩阵进行相应地处理呢(置大数、主置法呢)

哪个地方置大数啊?
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-15 21:19:50 | 显示全部楼层 来自 湖南长沙
tonnyw 发表于 2012-4-14 22:11
We need you to put your derivation here so that we can have a good look.

2.3901e+009        5.3571e+008        0        0        0        0        -2.1016e+009        -4.1209e+007        0        0        0        0        -1.1951e+009        -5.3571e+008        0        0        0        0        9.0659e+008        4.1209e+007        0        0        0        0
5.3571e+008        1.3187e+009        0        0        0        0        4.1209e+007        -4.9451e+008        0        0        0        0        -5.3571e+008        -6.5934e+008        0        0        0        0        -4.1209e+007        -1.6484e+008        0        0        0        0
0        0        10440        4395.6        -22802        0        0        0        -9615.4        -274.73        -21978        0        0        0        -3571.4        1373.6        -10989        0        0        0        2747.3        2747.3        -10165        0
0        0        4395.6        24725        -8241.8        0        0        0        -274.73        2747.3        1.0914e-011        0        0        0        -1373.6        10989        2.683e-011        0        0        0        -2747.3        2747.3        2.0918e-011        0
0        0        -22802        -8241.8        74863        0        0        0        21978        -1.6257e-011        35027        0        0        0        10989        -1.296e-011        19918        0        0        0        -10165        1.5916e-011        35027        0
0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0
-2.1016e+009        4.1209e+007        0        0        0        0        2.3901e+009        -5.3571e+008        0        0        0        0        9.0659e+008        -4.1209e+007        0        0        0        0        -1.1951e+009        5.3571e+008        0        0        0        0
-4.1209e+007        -4.9451e+008        0        0        0        0        -5.3571e+008        1.3187e+009        0        0        0        0        4.1209e+007        -1.6484e+008        0        0        0        0        5.3571e+008        -6.5934e+008        0        0        0        0
0        0        -9615.4        -274.73        21978        0        0        0        10440        4395.6        22802        0        0        0        2747.3        2747.3        10165        0        0        0        -3571.4        1373.6        10989        0
0        0        -274.73        2747.3        -1.5916e-011        0        0        0        4395.6        24725        8241.8        0        0        0        -2747.3        2747.3        -2.5807e-011        0        0        0        -1373.6        10989        -2.3419e-011        0
0        0        -21978        1.0914e-011        35027        0        0        0        22802        8241.8        74863        0        0        0        10165        -1.0118e-011        35027        0        0        0        -10989        1.3642e-011        19918        0
0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0
-1.1951e+009        -5.3571e+008        0        0        0        0        9.0659e+008        4.1209e+007        0        0        0        0        2.3901e+009        5.3571e+008        0        0        0        0        -2.1016e+009        -4.1209e+007        0        0        0        0
-5.3571e+008        -6.5934e+008        0        0        0        0        -4.1209e+007        -1.6484e+008        0        0        0        0        5.3571e+008        1.3187e+009        0        0        0        0        4.1209e+007        -4.9451e+008        0        0        0        0
0        0        -3571.4        -1373.6        10989        0        0        0        2747.3        -2747.3        10165        0        0        0        10440        -4395.6        22802        0        0        0        -9615.4        274.73        21978        0
0        0        1373.6        10989        -1.2733e-011        0        0        0        2747.3        2747.3        -9.6634e-012        0        0        0        -4395.6        24725        -8241.8        0        0        0        274.73        2747.3        -2.0464e-011        0
0        0        -10989        2.683e-011        19918        0        0        0        10165        -2.5807e-011        35027        0        0        0        22802        -8241.8        74863        0        0        0        -21978        2.5238e-011        35027        0
0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0
9.0659e+008        -4.1209e+007        0        0        0        0        -1.1951e+009        5.3571e+008        0        0        0        0        -2.1016e+009        4.1209e+007        0        0        0        0        2.3901e+009        -5.3571e+008        0        0        0        0
4.1209e+007        -1.6484e+008        0        0        0        0        5.3571e+008        -6.5934e+008        0        0        0        0        -4.1209e+007        -4.9451e+008        0        0        0        0        -5.3571e+008        1.3187e+009        0        0        0        0
0        0        2747.3        -2747.3        -10165        0        0        0        -3571.4        -1373.6        -10989        0        0        0        -9615.4        274.73        -21978        0        0        0        10440        -4395.6        -22802        0
0        0        2747.3        2747.3        1.5007e-011        0        0        0        1373.6        10989        1.3642e-011        0        0        0        274.73        2747.3        2.5011e-011        0        0        0        -4395.6        24725        8241.8        0
0        0        -10165        2.0464e-011        35027        0        0        0        10989        -2.3192e-011        19918        0        0        0        21978        -2.0464e-011        35027        0        0        0        -22802        8241.8        74863        0
0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0
我是编的三角形四边形混合的板壳元,这是四边形在局部坐标下组合的单元刚度矩阵,在把这个经过坐标变化到总体坐标下面求解,2.39010989010989   0.26785714285714   0.46394218059881                  0                  0                  0  -2.10164835164835
   0.26785714285714   0.32967815934066   0.57100124027472  -0.00000380670507   0.00000987364128   0.00001710164835   0.02060439560440
   0.46394218059881   0.57100124027472   0.98901359890110   0.00000219780220  -0.00000570054945  -0.00000987364128   0.03568786004606
                  0  -0.00000380670507   0.00000219780220   0.00002472527473  -0.00000412087912  -0.00000713757201                  0
                  0   0.00000987364128  -0.00000570054945  -0.00000412087912   0.00001871565934   0.00003241647288                  0
                  0   0.00001710164835  -0.00000987364128  -0.00000713757201   0.00003241647288   0.00005614697802                  0
  -2.10164835164835   0.02060439560440   0.03568786004606                  0                  0                  0   2.39010989010989
  -0.02060439560440  -0.12363358516484  -0.21412299669270   0.00000023791907  -0.00000951676268  -0.00001648351648  -0.26785714285714
  -0.03568786004606  -0.21412299669270  -0.37088152472527  -0.00000013736264   0.00000549450549   0.00000951676268  -0.46394218059881
                  0   0.00000023791907  -0.00000013736264   0.00000274725275  -0.00000000000000  -0.00000000000000                  0
                  0   0.00000951676268  -0.00000549450549   0.00000000000000   0.00000875686813   0.00001516734052                  0
                  0   0.00001648351648  -0.00000951676268   0.00000000000000   0.00001516734052   0.00002627060440                  0
  -1.19505494505495  -0.26785714285714  -0.46394218059881                  0                  0                  0   0.90659340659341
  -0.26785714285714  -0.16483784340659  -0.28550133389456   0.00000118959533  -0.00000475838134  -0.00000824175824  -0.02060439560440
  -0.46394218059881  -0.28550133389456  -0.49450638736264  -0.00000068681319   0.00000274725275   0.00000475838134  -0.03568786004606
                  0  -0.00000118959533   0.00000068681319   0.00001098901099  -0.00000000000000  -0.00000000000000                  0
                  0   0.00000475838134  -0.00000274725275   0.00000000000000   0.00000497939560   0.00000862456618                  0
                  0   0.00000824175824  -0.00000475838134   0.00000000000000   0.00000862456618   0.00001493818681                  0
   0.90659340659341  -0.02060439560440  -0.03568786004606                  0                  0                  0  -1.19505494505495
   0.02060439560440  -0.04120673076923  -0.07137690968746   0.00000237919067   0.00000440150274   0.00000762362637   0.26785714285714
   0.03568786004606  -0.07137690968746  -0.12362568681319  -0.00000137362637  -0.00000254120879  -0.00000440150274   0.46394218059881
                  0  -0.00000237919067   0.00000137362637   0.00000274725275   0.00000000000000   0.00000000000000                  0
                  0   0.00000440150274  -0.00000254120879   0.00000000000000   0.00000875686813   0.00001516734052                  0
                  0   0.00000762362637  -0.00000440150274   0.00000000000000   0.00001516734052   0.00002627060440                  0

  Columns 8 through 14

  -0.02060439560440  -0.03568786004606                  0                  0                  0  -1.19505494505495  -0.26785714285714
  -0.12363358516484  -0.21412299669270   0.00000023791907   0.00000951676268   0.00001648351648  -0.26785714285714  -0.16483784340659
  -0.21412299669270  -0.37088152472527  -0.00000013736264  -0.00000549450549  -0.00000951676268  -0.46394218059881  -0.28550133389456
   0.00000023791907  -0.00000013736264   0.00000274725275   0.00000000000000   0.00000000000000                  0   0.00000118959533
  -0.00000951676268   0.00000549450549  -0.00000000000000   0.00000875686813   0.00001516734052                  0  -0.00000475838134
  -0.00001648351648   0.00000951676268  -0.00000000000000   0.00001516734052   0.00002627060440                  0  -0.00000824175824
  -0.26785714285714  -0.46394218059881                  0                  0                  0   0.90659340659341  -0.02060439560440
   0.32967815934066   0.57100124027472  -0.00000380670507  -0.00000987364128  -0.00001710164835   0.02060439560440  -0.04120673076923
   0.57100124027472   0.98901359890110   0.00000219780220   0.00000570054945   0.00000987364128   0.03568786004606  -0.07137690968746
  -0.00000380670507   0.00000219780220   0.00002472527473   0.00000412087912   0.00000713757201                  0   0.00000237919067
  -0.00000987364128   0.00000570054945   0.00000412087912   0.00001871565934   0.00003241647288                  0  -0.00000440150274
  -0.00001710164835   0.00000987364128   0.00000713757201   0.00003241647288   0.00005614697802                  0  -0.00000762362637
   0.02060439560440   0.03568786004606                  0                  0                  0   2.39010989010989   0.26785714285714
  -0.04120673076923  -0.07137690968746   0.00000237919067  -0.00000440150274  -0.00000762362637   0.26785714285714   0.32967815934066
  -0.07137690968746  -0.12362568681319  -0.00000137362637   0.00000254120879   0.00000440150274   0.46394218059881   0.57100124027472
  -0.00000237919067   0.00000137362637   0.00000274725275  -0.00000000000000  -0.00000000000000                  0   0.00000380670507
  -0.00000440150274   0.00000254120879  -0.00000000000000   0.00000875686813   0.00001516734052                  0  -0.00000987364128
  -0.00000762362637   0.00000440150274  -0.00000000000000   0.00001516734052   0.00002627060440                  0  -0.00001710164835
   0.26785714285714   0.46394218059881                  0                  0                  0  -2.10164835164835   0.02060439560440
  -0.16483784340659  -0.28550133389456   0.00000118959533   0.00000475838134   0.00000824175824  -0.02060439560440  -0.12363358516484
  -0.28550133389456  -0.49450638736264  -0.00000068681319  -0.00000274725275  -0.00000475838134  -0.03568786004606  -0.21412299669270
  -0.00000118959533   0.00000068681319   0.00001098901099   0.00000000000000   0.00000000000000                  0  -0.00000023791907
  -0.00000475838134   0.00000274725275  -0.00000000000000   0.00000497939560   0.00000862456618                  0  -0.00000951676268
  -0.00000824175824   0.00000475838134  -0.00000000000000   0.00000862456618   0.00001493818681                  0  -0.00001648351648

  Columns 15 through 21

  -0.46394218059881                  0                  0                  0   0.90659340659341   0.02060439560440   0.03568786004606
  -0.28550133389456  -0.00000118959533   0.00000475838134   0.00000824175824  -0.02060439560440  -0.04120673076923  -0.07137690968746
  -0.49450638736264   0.00000068681319  -0.00000274725275  -0.00000475838134  -0.03568786004606  -0.07137690968746  -0.12362568681319
  -0.00000068681319   0.00001098901099   0.00000000000000   0.00000000000000                  0   0.00000237919067  -0.00000137362637
   0.00000274725275  -0.00000000000000   0.00000497939560   0.00000862456618                  0   0.00000440150274  -0.00000254120879
   0.00000475838134  -0.00000000000000   0.00000862456618   0.00001493818681                  0   0.00000762362637  -0.00000440150274
  -0.03568786004606                  0                  0                  0  -1.19505494505495   0.26785714285714   0.46394218059881
  -0.07137690968746  -0.00000237919067  -0.00000440150274  -0.00000762362637   0.26785714285714  -0.16483784340659  -0.28550133389456
  -0.12362568681319   0.00000137362637   0.00000254120879   0.00000440150274   0.46394218059881  -0.28550133389456  -0.49450638736264
  -0.00000137362637   0.00000274725275  -0.00000000000000  -0.00000000000000                  0   0.00000118959533  -0.00000068681319
   0.00000254120879  -0.00000000000000   0.00000875686813   0.00001516734052                  0   0.00000475838134  -0.00000274725275
   0.00000440150274  -0.00000000000000   0.00001516734052   0.00002627060440                  0   0.00000824175824  -0.00000475838134
   0.46394218059881                  0                  0                  0  -2.10164835164835  -0.02060439560440  -0.03568786004606
   0.57100124027472   0.00000380670507  -0.00000987364128  -0.00001710164835   0.02060439560440  -0.12363358516484  -0.21412299669270
   0.98901359890110  -0.00000219780220   0.00000570054945   0.00000987364128   0.03568786004606  -0.21412299669270  -0.37088152472527
  -0.00000219780220   0.00002472527473  -0.00000412087912  -0.00000713757201                  0  -0.00000023791907   0.00000013736264
   0.00000570054945  -0.00000412087912   0.00001871565934   0.00003241647288                  0   0.00000951676268  -0.00000549450549
   0.00000987364128  -0.00000713757201   0.00003241647288   0.00005614697802                  0   0.00001648351648  -0.00000951676268
   0.03568786004606                  0                  0                  0   2.39010989010989  -0.26785714285714  -0.46394218059881
  -0.21412299669270  -0.00000023791907   0.00000951676268   0.00001648351648  -0.26785714285714   0.32967815934066   0.57100124027472
  -0.37088152472527   0.00000013736264  -0.00000549450549  -0.00000951676268  -0.46394218059881   0.57100124027472   0.98901359890110
   0.00000013736264   0.00000274725275   0.00000000000000   0.00000000000000                  0   0.00000380670507  -0.00000219780220
   0.00000549450549  -0.00000000000000   0.00000875686813   0.00001516734052                  0   0.00000987364128  -0.00000570054945
   0.00000951676268  -0.00000000000000   0.00001516734052   0.00002627060440                  0   0.00001710164835  -0.00000987364128

  Columns 22 through 24

                  0                  0                  0
  -0.00000237919067   0.00000440150274   0.00000762362637
   0.00000137362637  -0.00000254120879  -0.00000440150274
   0.00000274725275   0.00000000000000   0.00000000000000
   0.00000000000000   0.00000875686813   0.00001516734052
   0.00000000000000   0.00001516734052   0.00002627060440
                  0                  0                  0
  -0.00000118959533  -0.00000475838134  -0.00000824175824
   0.00000068681319   0.00000274725275   0.00000475838134
   0.00001098901099  -0.00000000000000  -0.00000000000000
   0.00000000000000   0.00000497939560   0.00000862456618
   0.00000000000000   0.00000862456618   0.00001493818681
                  0                  0                  0
  -0.00000023791907  -0.00000951676268  -0.00001648351648
   0.00000013736264   0.00000549450549   0.00000951676268
   0.00000274725275  -0.00000000000000  -0.00000000000000
   0.00000000000000   0.00000875686813   0.00001516734052
   0.00000000000000   0.00001516734052   0.00002627060440
                  0                  0                  0
   0.00000380670507   0.00000987364128   0.00001710164835
  -0.00000219780220  -0.00000570054945  -0.00000987364128
   0.00002472527473   0.00000412087912   0.00000713757201
   0.00000412087912   0.00001871565934   0.00003241647288
   0.00000713757201   0.00003241647288   0.00005614697802
这是经过坐标变换后的矩阵。接下来就是直接用MATLAB的inv乘以力的矩阵进行求解,求解的时候就出现ans =

    2.564461764748704e+035

Warning: Matrix is close to singular or badly scaled.
         Results may be inaccurate. RCOND = 2.450094e-023.。其中的answer为经过约束处理以后的行列式的值。请问这个怎么解决啊?
回复 不支持

使用道具 举报

发表于 2012-4-15 21:57:01 | 显示全部楼层 来自 美国
What I mean is that you put your finite element formulation here. None of us can tell you anything by looking at these numbers.
回复 不支持

使用道具 举报

发表于 2012-4-16 22:09:13 | 显示全部楼层 来自 湖北武汉
本帖最后由 whutjp 于 2012-4-16 22:09 编辑
李健 发表于 2012-4-15 21:19
2.3901e+009        5.3571e+008        0        0        0        0        -2.1016e+009        -4.1209e+007        0        0        0        0        -1.1951e+009        -5.3571e+008        0        0        0         ...


置大数法就是将K(i,i)设置为e15*K(i,i),相应地,载荷变化为e15*K(i,i)*u,这样的话方程组就可以解了!
式中的e15就是一个大数
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-16 23:27:18 | 显示全部楼层 来自 湖南长沙
也就是说吧k(6,6)相应的置大数?
回复 不支持

使用道具 举报

发表于 2012-4-17 10:35:36 | 显示全部楼层 来自 浙江杭州
李健 发表于 2012-4-16 23:27
也就是说吧k(6,6)相应的置大数?

请lz仔细翻阅王勖成老师《有限单元法》
p73页 2.2.6 引入位移边界条件
以及p400页  11.4.2 单元刚度矩阵从局部坐标系到总体坐标系的转换
回复 不支持

使用道具 举报

发表于 2012-4-17 12:22:14 | 显示全部楼层 来自 湖北武汉
李健 发表于 2012-4-16 23:27
也就是说吧k(6,6)相应的置大数?

pasuka说的好,另外在置大数之后求解的时候如果还是提示矩阵近乎于奇异矩阵,那还必须用LDLT处理
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-17 16:00:46 | 显示全部楼层 来自 湖南长沙
       这是matlab源程序!还望高手指点。
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-17 16:02:36 | 显示全部楼层 来自 湖南长沙
边界约束条件跟坐标变换应该是没问题的!刚度矩阵也不是奇异,主要是刚度矩阵的条件数很大。导致是病态的,我刚才把源程序上传了。再瞧瞧看!
回复 不支持

使用道具 举报

发表于 2012-4-17 21:45:19 | 显示全部楼层 来自 上海浦东新区
李健 发表于 2012-4-17 16:02
边界约束条件跟坐标变换应该是没问题的!刚度矩阵也不是奇异,主要是刚度矩阵的条件数很大。导致是病态的, ...

看来lz并没有仔细阅读王勖成老师的书里面的相关章节
壳单元刚度阵中的z方向转角对应的刚度等于零或者置大数就可以了吗?
条件数很大不假,但是刚度阵满秩了吗?
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-17 21:48:20 | 显示全部楼层 来自 湖南长沙
pasuka 发表于 2012-4-17 21:45
看来lz并没有仔细阅读王勖成老师的书里面的相关章节
壳单元刚度阵中的z方向转角对应的刚度等于零或者置大 ...

那到底咋处理额?就指点!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-25 11:09 , Processed in 0.051979 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表