有限元分析:非线性分析求解算法——牛顿迭代法
结构有限元分析中,涉及到弹塑性材料、结构大变形大转动以及接触问题都是非线性问题,需要使用非线性工况进行求解。
Abaqus、OptiStruct及Ansys Mechanical等有限元求解器多使用牛顿迭代法,即Newton-Raphson迭代法,来求解非线性问题。
很多结构非线性培训资料都会用下面这张图来讲解牛顿迭代法,但说实话,笔者第一次看到这张图时,只知道是逐步逼近准确解,知其然但不知其所以然,不知道怎么来的。
牛顿迭代法有以下三种变形:常规牛顿迭代法,修正的牛顿迭代法以及牛顿下山法。有限元求解器一般会根据实际情况自动选择最合适的那种,帮助文档中一般不会讲得很细。
下面请听我一一道来。
1、常规牛顿迭代法
若不存在加速度和阻尼,有限元算法可以简化为求解平衡方程
,其中刚度矩阵K和载荷F为已知条件,通常需要计算刚度矩阵K的逆矩阵从而求解位移矩阵X。
常规牛顿迭代法如下图所示,注意曲线L(u)并不是已知的,而是逐步求解出来的,下面详细说明求解过程。
假设分析步总载荷为100N,非线性算法中一般会分多次加载,比如分5次加载每次增加20N,5次加载过程称为5个增量步;每次加载时需要多次迭代才会达到平衡状态,称为迭代步,迭代时使用的算法就是牛顿迭代法。
假设在第n个迭代步时,需要加载大小为 f 的力,下面开始迭代,迭代顺序依次为:A>B>C>D>E。
常规牛顿迭代法的优点是收敛速度快。
2、修正的牛顿迭代法
常规牛顿迭代法每次迭代都是求解新的刚度矩阵K以及K的逆矩阵,计算量较大,如果刚度矩阵总是使用初始的
,并且保持不变,则可以不求解求逆矩阵,大大减少了计算量,这就是修正的牛顿迭代法,示意图如下。
3、牛顿下山法
常规牛顿迭代法要求初始值必须在准确值附近才会收敛,初始值不合适可能会导致结果不收敛。
通过引入下山因子,保证了牛顿迭代法的收敛性。
因此牛顿下山法收敛速度快,一定收敛,而且对初始值要求不高,相比常规牛顿迭代法更稳健。