4. 常见收敛失败模式分类

在 Abaqus/Standard 的 Newton-Raphson 迭代框架下,收敛失败几乎从不以“未知错误”的形式出现,它总会留下可读的症状:增量步被反复砍半、迭代次数触顶、残差曲线不降反升、位移修正量在两点间振荡、出现负特征值警告、接触状态在 OPEN 与 CLOSED 之间高频翻转。诊断的第一步不是立刻改参数,而是把症状归入正确的失败模式。本节归纳六类典型模式:刚体位移、局部屈曲、材料失稳、接触颤振、过约束与欠约束,并建立症状到原因的映射。

六类失败模式的机理与识别

刚体位移的典型症状是求解一开始就报数值奇异,MSG 文件中出现“numerical singularity”并伴随某个自由度(如某节点的 U2 或 UR3)的零主元提示。其本质是结构在某个方向上没有足够的约束或连接刚度,载荷施加后该方向位移不确定。常见来源包括:装配体中零件之间只定义了接触而未加临时约束、螺栓连接被简化为无摩擦接触、壳单元法向转动自由度未约束、以及“先加载后接触”的加载顺序错误。识别要点是看警告中列出的自由度编号,它直接指向缺失约束的方向。

局部屈曲表现为载荷-位移曲线在某个增量步突然出现负刚度,求解器报“negative eigenvalue”,且屈曲往往发生在薄壁、细长或受压构件上。与整体屈曲不同,局部屈曲的失稳区域集中在少数单元,网格越细越容易捕捉到。若模型未引入初始缺陷或未使用 Riks 弧长法,Newton 法在临界点附近无法跨越极值点,迭代必然发散。

材料失稳常见于理想塑性、损伤演化或超弹性模型。症状是等效塑性应变在局部单元急剧累积,单元体积在几乎不可压条件下发生体积自锁,或损伤变量达到 1 后刚度归零导致切线刚度矩阵奇异。典型信号是“too many attempts made for this increment”与单元畸变警告同时出现。它与局部屈曲的区别在于:失稳驱动力来自本构退化而非几何刚度。

接触颤振的特征是接触状态在迭代中反复切换,MSG 中可见大量“contact status changed”记录,残差在 1e-2 到 1e-4 之间来回跳动而不收敛。根源通常是接触刚度(法向罚刚度)过大或过小、摩擦模型从粘着到滑动的突变、以及主从面选择不当导致节点穿透与弹回交替发生。

过约束的症状是某个节点同时被多个约束方程或边界条件控制,求解器报“overconstraint”或出现零主元与负主元并存。典型场景是:对称面上既加了对称边界条件又加了位移耦合、同一自由度被两个 MPC 同时约束、以及刚体约束与接触约束重叠。

欠约束与刚体位移相关但范围更广,指模型整体约束不足或局部存在无刚度自由度,例如梁单元未约束扭转、实体单元未约束转动(实体无转动自由度,但若与壳连接则可能出现)、以及弹簧单元只定义了一个方向而其他方向自由。

收敛失败模式:症状 → 原因 → 对策 映射 失败模式 典型症状(MSG / STA 可见) 根因与首选对策 刚体位移 Rigid Body Motion • numerical singularity • 零主元自由度 U2 / UR3 • 第 1 增量步即失败 约束缺失 / 接触未建立 → 加临时约束 或先施加小位移使接触闭合 检查装配连接与边界条件方向 局部屈曲 Local Buckling • negative eigenvalue • 载荷-位移曲线出现负刚度 • 失稳集中在少数薄壁单元 几何非线性 + 极值点 → 改用 Riks 弧长法 引入初始缺陷(*IMPERFECTION) 加密网格或改用壳/梁单元 材料失稳 Material Instability • 等效塑性应变局部激增 • 单元体积自锁 / 畸变警告 • 损伤变量达 1 后刚度归零 本构退化 → 改用黏塑性/损伤正则化 不可压材料切换杂交单元(C3D8H) 降低初始增量步并启用自动稳定 接触颤振 Contact Chattering • contact status changed 频繁 • 残差在 1e-2 ~ 1e-4 振荡 • 主从面穿透与弹回交替 罚刚度失配 → 调整法向刚度比例 摩擦突变 → 改用光滑摩擦或降低 μ 主从面互换 / 使用通用接触 过约束 Overconstraint • overconstraint 警告 • 零主元与负主元并存 • 同一自由度被多个约束控制 对称面 + 耦合重叠 → 删除冗余约束 MPC 与接触冲突 → 改用 Tie 或调整 刚体约束与接触重叠 → 二选一 欠约束 Underconstraint • 局部自由度无刚度 • 梁单元扭转未约束 • 弹簧仅定义单方向 补充边界条件或连接单元 检查单元类型与自由度匹配 用 *BOUNDARY 固定多余自由度

症状到原因的映射表

把上述模式整理成可查表的形式,便于在 MSG 文件出现异常时快速定位。下表按“首要症状”索引,给出最可能的失败模式、根因判断与首选干预手段。注意:同一症状可能对应多个模式,需结合模型特征交叉验证。

首要症状 最可能模式 根因判断 首选干预
第 1 增量步即数值奇异 刚体位移 / 欠约束 某方向无约束或连接刚度为零 补约束或加临时边界
负特征值 + 载荷下降 局部屈曲 几何非线性跨越极值点 Riks 法 + 初始缺陷
塑性应变局部激增 + 单元畸变 材料失稳 本构退化或体积自锁 杂交单元 / 正则化
接触状态高频切换 接触颤振 罚刚度或摩擦突变 调刚度 / 光滑摩擦
overconstraint 警告 过约束 多约束重叠于同一自由度 删除冗余约束
残差振荡不降 接触颤振 / 材料失稳 非线性源在迭代中反复激活 减小增量步 + 线搜索

诊断顺序与实操建议

面对一次收敛失败,建议按以下顺序排查,避免盲目调参:

  1. 先看 MSG 文件的前 20 行。数值奇异、过约束、负特征值这三类警告通常出现在最前面,它们直接指向结构性错误,优先级高于任何求解器参数调整。
  2. 再看 STA 文件的增量步历史。若增量步从 1.0 被砍到 1e-5 仍不收敛,说明问题不是“步子太大”,而是模型本身存在病态;若在某个特定载荷水平才失败,则更可能是屈曲或材料失稳。
  3. 检查接触状态输出。在 Step 中设置 *CONTACT PRINT 或输出 CPRESS、COPEN,观察接触面是否在迭代中反复开合。若开合频率与迭代次数同量级,基本可判定为接触颤振。
  4. 用 *STATIC, STABILIZE 做一次试探。若加入人工阻尼后能收敛,说明存在局部失稳或刚体位移;若仍不收敛,则更可能是过约束或接触定义错误。
  5. 最后才动增量步与迭代上限。把初始增量步从 0.1 降到 0.01、把 I_A 从 5 提到 15,只能缓解“步子太大”类问题,对结构性错误无效。
经验提示:刚体位移与欠约束往往在建模阶段就能避免——提交计算前用 *BOUNDARY 检查每个零件是否在 6 个自由度上都有约束或连接。局部屈曲与材料失稳属于物理失稳,需要改变求解策略而非约束。接触颤振与过约束则多与接触定义和约束重叠有关,优先检查主从面与 MPC。
常见误区:看到“too many attempts”就无脑减小增量步。若根因是刚体位移或过约束,减小增量步只会让失败来得更晚,不会让模型收敛。应先读警告类型,再决定是改约束、改本构还是改求解器。