3. 接触分析中刚体位移与穿透的异常诊断
接触异常的三种典型表现与诊断入口
接触分析中的“刚体位移”和“初始穿透”往往不是求解器本身的问题,而是接触对在初始时刻就没有建立正确的力学联系。诊断时应先把报错归入三类可观察现象:接触对未闭合(从面节点在搜索容差外,法向力恒为零)、初始穿透(从面节点已越过主面,产生虚假大法向力)、法向刚度失配(穿透量随载荷线性增长或接触力振荡)。三者的输入条件、可观察量和修复动作各不相同,先分类再动手,能避免盲目调参。
关键参数与判据
接触状态是否正常,可以用三个量直接判断,而不必等求解器报错:
- 初始间隙 g₀:从面节点到主面的有符号距离。g₀ > 0 表示未接触,g₀ = 0 表示刚好贴合,g₀ < 0 表示已穿透。若模型中存在 g₀ < 0 且未做修正,求解一开始就会产生虚假法向力。
- 法向刚度 Kₙ:罚函数法中接触力 Fₙ = Kₙ · δ(δ 为穿透量)。Kₙ 过小则穿透明显、位移失真;Kₙ 过大则刚度矩阵条件数恶化、收敛困难。工程上常取 Kₙ 为接触区材料弹性模量 E 的 0.1~1 倍作为起点,再按穿透量调整。
- 搜索容差 ε:从面节点与主面距离超过 ε 时不被识别为接触。ε 过小会漏掉本应接触的区域,表现为刚体位移;ε 过大会把远处节点误判为接触。
诊断与修复流程(以示例模型说明)
设一个方块压在刚性平面上,方块底面与平面初始间隙设为 −0.02 mm(即已穿透 0.02 mm),接触对采用罚函数法,Kₙ 取 1×10³ N/mm,材料 E = 2.1×10⁵ MPa。此时初始法向力约为 Fₙ = 1000 × 0.02 = 20 N,虽不大,但会在第一个增量步就产生非物理的接触反力,并可能引发后续振荡。
- 确认现象:查看输出中的接触状态,若初始步就有非零接触力,且位移在无外载时已出现,则归为现象 B(初始穿透)。
- 检查初始间隙:在接触定义中输出 g₀,确认符号与量级。若 g₀ 为负且绝对值远大于容差,说明几何建模时两体已重叠。
- 修正方式:优先修正几何使 g₀ ≥ 0;若几何不便修改,可启用接触调整(adjust)把从面节点沿法向移到主面上,使 g₀ = 0,但需确认调整量在可接受范围内(例如不超过单元尺寸的 5%)。
- 校核法向刚度:按 Kₙ ≈ 0.1E 估算,本例可取 2×10⁴ N/mm 量级,再观察穿透量是否降到容差以内。若穿透仍偏大,逐步提高 Kₙ 并监控收敛。
- 验证:重算后检查初始接触力是否为零(或接近零)、加载后接触力是否平稳、最大穿透量是否小于设定容差、位移是否随载荷单调有界。
若报错为“刚体位移”而非穿透,优先检查接触对是否覆盖了全部可能接触面、主从面方向是否反了、搜索容差是否小于实际间隙。刚体位移的本质是某个自由度上没有任何刚度贡献,接触未闭合是最常见原因。
不要用“加大法向刚度”来掩盖初始穿透。Kₙ 增大会把同样的 g₀ 放大成更大的虚假接触力,反而加剧不收敛。先消除 g₀ < 0,再谈刚度取值。
快速排查清单
| 观察量 | 异常表现 | 对应原因 | 处理 |
|---|---|---|---|
| 初始接触力 | 无外载时已非零 | g₀ < 0 初始穿透 | 修正几何或启用 adjust |
| 从面节点位移 | 持续增大无收敛 | 接触对未闭合 / 容差过小 | 补全接触对、扩大 ε |
| 穿透量 δ | 随载荷线性增长 | Kₙ 偏小 | 按 0.1E 量级提高 Kₙ |
| 接触力曲线 | 振荡或跳变 | Kₙ 过大或主从面不当 | 降低 Kₙ、交换主从面 |