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

[显式/隐式] 隐式 implicit计算中,矩阵求逆(matrix inversion)的问题

[复制链接]
发表于 2012-4-5 21:11:30 | 显示全部楼层 |阅读模式 来自 广东广州
本帖最后由 yespin 于 2012-4-5 21:22 编辑

大家好。如题。
这次问题的背景是:整个模型是,对轮胎进行静力加载。本来是用ls-dyna默认的显式计算模型的,结果正确。但后来由于老师有额外要求,需要用隐式重新计算。
因此,我把显式计算时的原模型直接改用隐式来计算,添加了*CONTROL_IMPLICIT_GENERAL ,*CONTROL_IMPLICIT_AUTO等关键字。
然后,问题就出现了,message文件中的部分内容如下
         **************************************************
         *                          -  FATAL ERROR  -                                          *
         *                Numeric factorization error in sparse solver:              *
         *                  (N15) numerical factorization workspace                 *
         *                        overflow due to frontal matrix                           *
         **************************************************

         **************************************************
         *                                                                                                *
         *                 Errors during stiffness matrix inversion are               *
         *              often caused by one of the following problems:          *
         *                                                                                                *
         *                   1) Invalid material properties (negative                   *
         *                      Young's Modulus, zero yield stress...)                  *
         *                                                *
         *                    2) Inverted element from severe distortion.           *
         *                                                *
         *                    3) Rigid Body Modes.  Generally, three nodes        *
         *                         must be constrained in static analysis.              *
         *                                                                                                *
         *                        See the User's Manual for more information.     *
         *                                                                                                *
         **************************************************
    这几天查看了有关隐式与显式概念的帖,从中了解到,应该是由于隐式计算使用的方法跟显式的不同,所以导致用显式计算没问题而一旦转为隐式计算,刚度矩阵在求逆时就出现错误。
     所以在此,我想请问一下大家,隐式计算时,出现这一类有关矩阵的问题,大概的一个思考问题的方向是什么,比如说,
是由于模型中的单元类型不符合隐式计算;
是由于材料属性设置的问题;
......
还是说,出现这类型的问题会涉及到很多种原因?那,能不能指出其中主要的几种呢?如果可以的话,麻烦讲述一下其中几种常见的解决措施。谢谢。
  目前不方便上传k文件,请见谅。   附件是本次计算问题的message,如果大家有时间,请进一步看一下。其中有警告信息说是内存空间memory不够(这个我尝试过人为地提高其数值,但还是没能解决),但我打算,先把上述矩阵问题搞定后,或许这个memory 的问题会随之消失。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2012-4-6 23:08:37 | 显示全部楼层 来自 广东广州
Simdroid开发平台
本帖最后由 yespin 于 2012-4-7 19:06 编辑

目前自己尝试的思路是:
  调整几个隐式的关键字的输入变量,包括*CONTROL_IMPLICIT_AUTO , *CONTROL_IMPLICIT_SOLVER , *CONTROL_IMPLICIT_SOLUTION , *CONTROL_IMPLICIT_DYNAMICS 等 ,看一看通过调试其中的精度、线性非线性、ILIMIT 等变量的值,情况有没有改善。
  在上述的调整过程中,还出现了比较常见的收敛的问题,也正在留意这个问题。
今天看到了这个帖子。问题的性质和我的似乎类似。http://forum.simwe.com/forum.php ... D155%26typeid%3D155
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-8 23:41:11 | 显示全部楼层 来自 广东广州
本帖最后由 yespin 于 2012-4-9 09:59 编辑

只怪之前没完全搜索到,不能充分看完论坛的旧帖子。今天一整天都在看帖子,目前发现和我这问题相关的帖子有几个。
1,显式与隐式中,矩阵的问题
http://forum.simwe.com/forum.php ... D155%26typeid%3D155
2,这个贴中提到接触、约束以及单元类型算法甚至是步长,(但目前确认自己的并不是接触问题,最可能的问题是约束)
http://forum.simwe.com/forum.php ... D155%26typeid%3D155
还有几个贴是关于做模态的,其中有提到隐式与显式的计算中,对于模型单元的一些要求,这个对于我自己的这个问题也似乎有些启发。
另外一个是昨天看到的,跟我的比较类似,可惜没有回应。
http://forum.simwe.com/forum.php ... D155%26typeid%3D155 似乎该帖中的解决方法没什么作用。
发这个贴主要是为自己这一天半的事做一个小结吧,可能这个贴的提问方式弄得不大好,但是我已经比较注意了,但限于现阶段水平(不给自己找太多借口了)。
回复 不支持

使用道具 举报

发表于 2012-4-19 12:56:49 | 显示全部楼层 来自 江苏无锡
这是我做隐式分析的设置,基本没问题。
*CONTROL_IMPLICIT_AUTO
$#   iauto    iteopt    itewin     dtmin     dtmax     dtexp
         1          100        20     0.000  0.100000     0.000
*CONTROL_IMPLICIT_GENERAL
$#  imflag       dt0    imform      nsbs       igs     cnstn      form    zero_v
         1           0.01         2         1         2         0         0         0
*CONTROL_IMPLICIT_DYNAMICS
$#   imass     gamma      beta    tdybir    tdydth    tdybur     irate
         1  0.600000  0.380000   0.00000   0.10000   0.15000         0
*CONTROL_IMPLICIT_SOLUTION
$#  nsolvr    ilimit    maxref     dctol     ectol     rctol     lstol    abstol
        12        10        20  0.011000     0.000     0.000     0.0001.0000E-15
$#   dnorm    diverg     istif   nlprint    nlnorm   d3itctl
         1         1         1         1         2         1
$#  arcctl    arcdir    arclen    arcmth    arcdmp
         0         0     0.000         1         2
*CONTROL_IMPLICIT_SOLVER
$#  lsolvr    lprint     negev     order      drcm    drcprm   autospc   autotol
         6         1         0         0         0     0.000         0     0.000
$#  lcpack
         2

点评

谢谢你的热心。今晚比较晚才上,我先看一下。明天有空再详细对比一下参数设置。谢谢了。  发表于 2012-4-19 23:15
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-20 20:26:09 | 显示全部楼层 来自 广东广州
本帖最后由 yespin 于 2012-4-21 20:50 编辑
johnzhoubo 发表于 2012-4-19 12:56
这是我做隐式分析的设置,基本没问题。
*CONTROL_IMPLICIT_AUTO
$#   iauto    iteopt    itewin     dtmin ...


你好,johnzhoubo。你给我的这5个隐式卡片,我也一直在使用,而且我这段时间也是不断在尝试调整这5个卡片里面的参数,例如
nsolvr ,lsolvr 等等,我试着能不能通过这样的方法来解决问题。但是苦于自己的隐式、静态以及线性的基础知识不牢固,所以在调节诸如
lsovr 、nsolvr、imass等参数的时候就觉得拿不准选择哪一个值。
我尝试用你给的这5个卡片参数设置来运行求解,发现计算的情况有一点点改善,但同时也对你的参数设置有些疑问:
1)你的nsolvr选择12,这个怎么理解?关键字手册里此项的选择只有1到9,这个我不明白。
2)你的maxref选了20,这个会不会太大了?关键字手册里提到推荐使用的值是5。
3)lsolvr的取值,用类型6的双精度直接求解,计算机运算很慢,而且所需内存不够,需要out-of-core模式;
但是我尝试用类型10等迭代方法,计算速度正常,没出现上述情况,但遇到收敛、负特征值等问题。
4)imass你选择了1,也就是动态分析,我一直采用的是默认的静态,非得要动态吗?这个我也是不怎么清楚。因为我对 动态dynamic与静态static分析 这两个概念的范围还是界定不了(虽然看了比较多的帖子,但以后我或许还要发帖请教一下具体的一个例子的静态、线性等问题)。
5)dctol的取值有什么根据?
以上是我目前的一些疑问,请johnzhoubo兄以及大家不吝赐教。
回复 不支持

使用道具 举报

 楼主| 发表于 2012-4-21 20:41:44 | 显示全部楼层 来自 广东广州
本帖最后由 yespin 于 2012-4-21 20:46 编辑
johnzhoubo 发表于 2012-4-19 12:56
这是我做隐式分析的设置,基本没问题。
*CONTROL_IMPLICIT_AUTO
$#   iauto    iteopt    itewin     dtmin ...


附件是我用楼上johnzhoubo建议的隐式卡片设置来对模型进行运算的messag,可是由于计算时,电脑实在太卡而使得其他工作无法进行,所以并没有计算完,只进行了大约10个小时,进行了4步隐式计算,请大家看一下,这种计算趋势能不能算完。(注:里面提到的负体积问题应该是因为模型
在显式转隐式时,我把其中的体单元以及壳单元类型做了修改,同时沙漏类型也从5改成了6,所导致了负体积的出现,与本问题应该没关系)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2012-5-6 08:08:04 | 显示全部楼层 来自 江苏无锡
1.nsolvr=12是dyna公司隐式计算推荐的,新开发的,在关键字手册还没体现。
2.maxref选了20主要是针对难收敛的情况,避免不断减小时间步长。
3.lsolvr值也是dyna推荐的。
4.imass你选择了1,加了动态,因为我经常要处理复杂接触,开始加点动态好收敛,对结果影响也很小。
5.dctol,dnorm取1时dctol取0.01。
我的这些设置都是针对普通机械行业的,其他行业的可能不太一样,仅供参考。希望对你有所帮助。

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2012-5-6 23:45:37 | 显示全部楼层 来自 广东广州
johnzhoubo 发表于 2012-5-6 08:08
1.nsolvr=12是dyna公司隐式计算推荐的,新开发的,在关键字手册还没体现。
2.maxref选了20主要是针对难收敛 ...

嗯,谢谢,你之前的那些参数设置建议以及现在的这些说明对我的帮助很大。对于第1点和第4点我还真不知道,尤其是第4点,“加点动态好收敛”这个我目前真不甚理解,看来还是要自己多啃一下相关理论知识了,不然就无法跟上你们的步伐了。至于第1点提到的这个nsolvr=12是LSTC新开发的,应该是指,现在的9.71软件版本已经有的,只是关键字手册没及时更新,没有写出来而已吧?
回复 不支持

使用道具 举报

发表于 2012-5-6 23:54:02 | 显示全部楼层 来自 浙江杭州
yespin 发表于 2012-5-6 23:45
嗯,谢谢,你之前的那些参数设置建议以及现在的这些说明对我的帮助很大。对于第1点和第4点我还真不知道, ...

NSOLVR=12:Experimental nonlinear with BFGS updates + optional arclength

较新版本的用户手册有的。R6 或者还在不断更新的draft版都有。手册可以到lstc ftp下载。

点评

谢谢。  发表于 2012-5-7 09:42
回复 不支持

使用道具 举报

发表于 2012-5-8 21:41:47 | 显示全部楼层 来自 江苏无锡
看来要下个新版的手册了。
还有,如果接触不收敛的话可以试试 MORTAR 接触
回复 不支持

使用道具 举报

 楼主| 发表于 2012-5-8 21:47:29 | 显示全部楼层 来自 广东广州
johnzhoubo 发表于 2012-5-8 21:41
看来要下个新版的手册了。
还有,如果接触不收敛的话可以试试 MORTAR 接触

嗯,新版手册应该是时候要下了。
我这模型的接触问题,目前为止,倒不是十分突出。但是,请问一下,什么事mortar接触?这个单词很陌生。
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 15:29 , Processed in 0.054164 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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