2. 非线性来源与收敛判据

在 Abaqus/Standard 的隐式求解框架里,收敛问题从来不是“软件算不动”这么简单。它本质上是:求解器在每一个增量步内,试图找到一组位移自由度,使结构内力与外载荷达到平衡。当问题包含几何非线性、材料非线性或接触非线性时,平衡方程不再是一次线性关系,Newton-Raphson 迭代就成为把非线性问题逐次线性化的核心工具。理解这三类非线性的数学本质,以及残差力与位移修正量两类判据的物理意义,是后续诊断“为什么不收敛”的基础。

三类非线性的数学本质

几何非线性来自应变-位移关系不再线性。小变形假设下应变是位移的线性函数,而大变形、大转动或大应变问题中,应变度量必须采用 Green-Lagrange 应变或对数应变,刚度矩阵中会出现几何刚度项与初位移项。其直接后果是:结构刚度随变形状态变化,载荷-位移曲线可能表现出硬化、软化甚至极限点失稳。Abaqus 中通过 *STEP, NLGEOM=YES 打开几何非线性,此时平衡方程建立在当前构型上,切线刚度 K_t 不再恒定。

材料非线性来自本构关系不再是常数矩阵。金属塑性、超弹性、粘弹性、损伤等模型中,应力不仅取决于当前应变,还取决于加载历史与内变量。以经典金属塑性为例,屈服函数 f(σ, α) ≤ 0,塑性流动方向由关联流动法则给出,一致性条件要求应力点始终位于屈服面上。Abaqus 在每个积分点执行返回映射算法,将试探应力拉回屈服面,并更新塑性应变与等效塑性应变。切线刚度因此由弹性刚度退化为弹塑性一致切线刚度,数值上通常显著低于弹性刚度。

接触非线性来自边界条件本身是未知的。两个物体是否接触、接触面法向压力多大、切向是否发生滑移,都取决于当前位移状态。数学上它表现为单边约束与互补条件:法向间隙 g ≥ 0、法向压力 p ≥ 0、且 g·p = 0。Abaqus 采用增广拉格朗日或罚函数法将这些条件转化为接触力,接触状态在“张开—粘着—滑移”之间切换,每次切换都会引起刚度矩阵的突变,这是接触问题最难收敛的根源。

Newton-Raphson 迭代与两类收敛判据 非线性来源 几何非线性 应变-位移关系非线性 K 随变形变化 NLGEOM=YES 大变形 / 大转动 / 失稳 材料非线性 本构关系非线性 返回映射 / 内变量 一致切线刚度 塑性 / 超弹 / 损伤 接触非线性 单边约束 + 互补条件 g≥0, p≥0, g·p=0 状态切换引起刚度突变 张开 / 粘着 / 滑移 Newton-Raphson 迭代 ① 施加增量载荷 ΔP 第 n 个增量步,初始 u₀ = uₙ₋₁ ② 计算残差力 R = P − I(u) I 为内力向量,R 为不平衡力 ③ 组装切线刚度 Kₜ 几何 + 材料 + 接触贡献 ④ 求解 Kₜ · Δu = R 得到位移修正量 Δu ⑤ 更新 u ← u + Δu 检查收敛判据 未收敛则迭代 收敛判据 残差力判据 R 的范数 ≤ 容差 Rᵃ = 时间平均力 默认 Rₙ < 0.5% · q̃ q̃ = 平均通量 物理意义:力平衡程度 位移修正量判据 Δu 的范数 ≤ 容差 cᵃ = 最大位移量级 默认 Δuₙ < 1% · cᵃ 同时检查最大残差点 物理意义:解是否稳定 两者同时满足才收敛 任一不满足 → 继续迭代 超过最大迭代数 → 增量步失败

Newton-Raphson 迭代在 Abaqus 中的执行逻辑

设第 n 个增量步开始时已知位移 uₙ₋₁,施加增量载荷 ΔP。Abaqus 首先以 u₀ = uₙ₋₁ 作为试探解,计算内力向量 I(u),得到残差力 R = P − I(u)。若 R 足够小,说明当前位移已近似满足平衡;否则组装切线刚度矩阵 Kₜ,求解线性方程组 Kₜ · Δu = R,得到位移修正量 Δu,更新 u ← u + Δu,再回到残差计算。这个过程反复进行,直到收敛判据被满足,或达到最大迭代次数而宣告该增量步失败。

需要特别注意的是,Abaqus 默认采用修正 Newton 法:切线刚度矩阵并不一定每次迭代都重新组装。当连续两次迭代的残差下降足够快时,求解器会复用上一次的 Kₜ,以节省计算成本。这在材料非线性较强或接触状态频繁切换时可能降低收敛速度,但通常能显著减少刚度组装与分解的开销。如果出现收敛困难,可以在 *CONTROLS 中调整 IA 参数强制每次迭代都重组刚度。

残差力判据与位移修正量判据的物理意义

Abaqus 默认同时检查两类判据,二者必须同时满足才认为该增量步收敛。

残差力判据关注的是“力平衡得怎么样”。Abaqus 计算残差力范数与时间平均力 q̃ 的比值,默认要求该比值小于 0.5%。q̃ 是当前增量步内所有外载荷与内力在时间上的平均值,它代表问题的“力的量级”。如果残差力相对于这个量级已经很小,说明结构整体上接近平衡。但仅看全局平均可能掩盖局部问题,因此 Abaqus 还会检查残差力最大的自由度,确保没有某个节点严重失衡。

位移修正量判据关注的是“解是否还在剧烈变化”。Abaqus 计算位移修正量范数与最大位移量级 cᵃ 的比值,默认要求小于 1%。cᵃ 是当前增量步内最大位移幅值,它代表问题的“位移的量级”。如果 Δu 相对于 cᵃ 已经很小,说明迭代解趋于稳定,继续迭代也不会显著改变结果。同样,Abaqus 会检查位移修正量最大的自由度,防止局部大修正被全局平均掩盖。

物理直觉:残差力判据回答“力还没平衡掉多少”,位移修正量判据回答“解还在不在动”。两者同时满足,才说明既接近平衡、又趋于稳定。只满足其一,往往意味着问题仍处于“力很大但位移变化小”或“位移变化大但力已接近平衡”的中间状态,继续迭代通常能改善,但也可能陷入振荡。

默认容差与收敛准则的工程含义

Abaqus 的默认容差 Rₙ = 0.5%、Δuₙ = 1% 是经过大量工程验证的折中值。对于大多数金属塑性、橡胶超弹性和常规接触问题,这套默认值能在精度与效率之间取得较好平衡。但在以下场景中需要主动调整:

  • 软化或失稳问题:载荷-位移曲线出现下降段时,残差力可能长期无法降到 0.5% 以下,此时可适当放宽 Rₙ 至 1%~2%,同时配合弧长法或阻尼。
  • 接触状态频繁切换:接触刚度突变会导致残差力振荡,可减小初始增量步长,或调整接触控制参数 *CONTACT CONTROLS 中的 STABILIZE。
  • 高精度需求:疲劳裂纹扩展、微动磨损等对局部应力敏感的问题,可将 Rₙ 收紧至 0.1%,但需接受计算时间增加。
  • 位移量级极小:当 cᵃ 接近机器精度时,位移修正量判据可能永远无法满足,此时应检查模型是否存在刚体位移或单位制错误。

在 .msg 文件中,Abaqus 会逐迭代输出残差力与位移修正量的实际值。例如某增量步第 3 次迭代显示 RATIO = 2.1e-3、Δu RATIO = 4.7e-3,说明残差力已满足 0.5% 容差,但位移修正量尚未满足 1% 容差,求解器会继续迭代。若第 5 次迭代后 Δu RATIO 反而上升,则提示可能出现了接触振荡或材料软化,需要检查增量步设置与接触定义。

常见误区:把“不收敛”简单归因于“网格太粗”或“载荷太大”。实际上,先看 .msg 中哪一类判据先失败、残差力是单调下降还是振荡、位移修正量是否在某个自由度上持续偏大,往往能更快定位到几何非线性、材料非线性或接触非线性中的具体来源。