一般而言,非线性计算产生的结果是一个需要求解的非线性代数方程系统。非线性求解器的稳健性是有限元分析框架内计算过程中的关键部分。非线性方法将非线性问题转化为一系列线性问题,然后由线性求解器加以求解。有六种可用的方法用于求解非线性代数方程系统。
牛顿-拉弗森法
当右侧连续时,优先使用牛顿-拉弗森非线性方法。在此方法中,切向刚度矩阵被计算为当前变形状态的函数,并在每个迭代循环中进行求逆。大多数情况下,该方法具有快速(二次)的收敛性。
Picard 方法
在非连续性的情况下,Picard 方法可以作为一种更稳健的选择。此方法也称为不动点迭代方法或割线法。可以将其看作是牛顿方法的有限差分逼近。考虑当前迭代循环与当前载荷步骤中初始迭代循环之间的差异。总体而言,此方法收敛速度不如牛顿方法快,但对于某些非线性问题可能更为稳健。
牛顿-拉弗森与 Picard 的结合
这种组合方法的理念是整合两种方法的优点。初始逼近时使用 Picard 方法以避免初始不稳定性。之后使用快速的牛顿-拉弗森方法。结合起来,可以达到稳健且相对快速的逼近。
在设置中可以定义各方法的比例。
恒定刚度矩阵的牛顿-拉弗森法
这种牛顿-拉弗森版本可用于根据大变形分析进行计算。刚度矩阵仅在第一次迭代步骤中创建,然后用于所有后续计算循环(因此是恒定的)。因此,计算运行得更快,但不如根据正常或修改牛顿-拉弗森方法的计算稳定。
对于较低的自由度,牛顿-拉弗森方法往往更高效。对于函数斜率的小变化,恒定刚度方法通常具有优势。然而,如果斜率发生剧烈变化,通常建议使用牛顿-拉弗森。
修改的牛顿-拉弗森法
该方法用于执行后临界分析,其中必须克服一个具有不稳定性的范围。如果存在不稳定性且刚度矩阵无法求逆,程序将使用最后一个稳定迭代步骤的刚度矩阵。程序继续使用此矩阵进行计算,直到再次达到稳定范围。
与(常规)牛顿-拉弗森相比,修改的牛顿-拉弗森的收敛通常较慢(线性),但迭代次数较多,且计算成本较低,对于极端非线性(如脆性裂纹)的情况更为稳健,在这些情况下牛顿-拉弗森可能失效。
动态松弛法
最后的方法适用于大变形分析的计算以及解决后临界分析相关问题。在该方法中,引入了一个人工时间参数。考虑惯性和阻尼,失效可以作为动态问题处理。此方法使用显式时间积分法;刚度矩阵不进行求逆。通过动态松弛计算时,模型的任何部分都不允许具有特定重量为零。该方法包括可以通过以下方程中的常数α和β以及时间导数定义的Rayleigh阻尼:
|
M |
Concentrated (diagonal) mass matrix |
|
C |
Diagonal damping matrix |
|
K |
Stiffness matrix |
|
f |
Vector of external forces |
|
u |
Discretized displacement vector |