本帖最后由 吴聊SP 于 2014-1-8 10:16 编辑
之前有人问过一个小问题,当时没时间仔细研究,于是凭感觉回答了,现在想起来当时说的不太正确,于是又回头看了一下,问题是这样的:
在静态隐式分析步中,方程求解的默认值为“Direct”,不是应该是“Iterative”吗?
查看资料发现:
1) 直接法:全称为直接式线性方程求解法,该方法可以用于线性和非线性的分析,在ABAQUS/Standard模块下,完成非线性分析时常使用牛顿方法或者其他的方法,比如弧长法,在求解的每次迭代过程中都必须要求解一系列线性方程组,而直接线性求解器就是用来寻找这些线性方程组的精确解的。ABAQUS/Standard模块下的直接线性方程求解器使用稀疏、直接、高斯消元法,并且往往表现在分析所消耗时间的大部分时间里(尤其是大型模型的计算)——计算中方程的存储占据着磁盘空间的最大部分。 2) 迭代法:全称为迭代式线性方程求解法,该方法在ABAQUS/Standard模块下,可以用于寻找线性、非线性、准静态、地应力、孔隙流动扩散以及热传导等分析步的线性方程组。由于采用迭代的技术,不能保证给定线性方程组有收敛解,当迭代求解器不收敛时,模型的改进有助于提高收敛性。在某些情况下,使用直接式线性求解可能是得到解答的唯一选择,但当求解收敛时,使用迭代式线性求解法将获得更精确的解答,当然这也要依赖于相对容许值的大小。通常情况下相对容许值的缺省值已经足够精确,然而对于特殊的分析适当地调整容许值将会改善仿真的整体性能,如对于薄板或薄壳结构,相比直接式线性方程求解法,迭代式线性方程求解法将会更适合进行该结构的分析与计算。
从手册中可以看出,上文提到的两种方法均在形成线性方程组之后才区分了两种方法,我的理解是:隐式中我们常说的迭代指的是求解刚度矩阵K时采用的求解方法,当刚度矩阵已经求得并形成了线性方程组KU=P时,直接法就是直接对刚度矩阵求逆,进而得到位移解,而迭代法就是利用迭代的求解手段得到位移解,ABAQUS默认为直接法,即是在忽略计算时间的前提下,保证方程组一定有解的策略而设定,而迭代法是用于大型模型或者薄板及薄壳结构求解时采用的,但前提是可以收敛。
3) 两种方法优缺点对比: 直接法:简单粗暴,保证有解,但求解时间较长,不适合大型模型的计算,占用磁盘空间较大。 迭代法:求解效率高,解答精确,但前提必须保证收敛。
其实这两种方法就是对应了数值分析中对线性方程组的两种求解方式“直接法”和“迭代法”,详情可以查阅 关治 陆金甫的《数值分析基础》高等教育出版社,2010。
希望那次问问题的朋友能看到,也希望广大坛友指正。
|