接触解析 (Contact Analysis) — CAE用語解説

分类: 用語集 | 2026-03-28
CAE visualization for contact analysis - technical simulation diagram

接触解析是什么

🧑‍🎓

接触解析什么时候需要?与普通的线性静力分析有什么区别?


🎓

当处理零件相互「接触或分离」的现象时就需要接触分析。例如螺栓拧紧的法兰面、齿轮啮合、冲压成形的模具与毛坯等。普通静力分析中节点约束从一开始就是固定的,但在接触分析中,由于荷载的大小和方向会改变「哪里在接触,哪里分离」,这就是边界非线性问题,线性分析本质上无法处理。


🧑‍🎓

我明白了,边界条件是「需要求解后才能知道」的。具体用什么数学公式来处理接触的呢?


🎓

接触问题的本质是不等式约束条件。如果法向间隙记为 $g_N$,基本条件有3个:

$$g_N \geq 0 \quad \text{(不穿透)}$$ $$p_N \geq 0 \quad \text{(接触力不能是拉力)}$$ $$p_N \cdot g_N = 0 \quad \text{(接触或分离之一)}$$

这被称为Karush-Kuhn-Tucker (KKT) 条件,或者Hertz-Signorini-Moreau条件。第3个公式是关键,它表示「如果间隙打开就没有接触力,如果有接触力间隙就为零」这个相补条件。


定义和基本概念

🧑‍🎓

在FEM设置中需要选择「master面」和「slave面」。它们有什么区别?应该怎么选择?


🎓

slave面的节点被约束为不穿透master面。基本规则是:

不过最近的求解器(Abaqus、Ansys等)多用surface-to-surface定式化,主从影响变小。遇到拿不准的情况,遵循这个规则就没问题。


接触类型(node-to-surface / surface-to-surface)

🧑‍🎓

node-to-surface 和 surface-to-surface,究竟应该用哪一个?


🎓

结论是,没有特殊原因就应该用 surface-to-surface (STS)。理由如下:

Node-to-Surface (NTS):

Surface-to-Surface (STS):

比如汽车螺栓连接的法兰分析,NTS会出现按节点分布的接触压波纹,而STS能得到光滑分布。Abaqus现在的默认值也是STS。


罚函数法与增广拉格朗日法

🧑‍🎓

接触设置里可以选「罚函数法」和「增广拉格朗日法」,区别是什么?


🎓

这是关于如何数值处理接触约束 $g_N \geq 0$ 的问题。

罚函数法是按穿透量产生反力。就像加了一个虚拟「接触弹簧」:

$$p_N = \epsilon_N \cdot \langle -g_N \rangle$$

这里 $\epsilon_N$ 是罚函数刚度(接触刚度),$\langle \cdot \rangle$ 是Macauley括号(负值截成零)。优点是不增加未知数,计算快。缺点是 $\epsilon_N$ 小则穿透大,太大则条件数恶化导致不收敛。


🧑‍🎓

找「合适的」罚函数刚度看起来很麻烦...增广拉格朗日法能解决这个问题吗?


🎓

完全正确。增广拉格朗日法 (Augmented Lagrangian) 在罚函数项上加入拉格朗日乘数 $\lambda_N$,反复迭代压低穿透到零:

$$p_N = \lambda_N + \epsilon_N \cdot \langle -g_N \rangle$$

各迭代步更新 $\lambda_N$:

$$\lambda_N^{(k+1)} = \lambda_N^{(k)} + \epsilon_N \cdot g_N^{(k)}$$

这样即使 $\epsilon_N$ 小一些,最后的穿透也能接近零。Ansys Mechanical的默认值就是这种方法。相比罚函数法,反复次数增多但接触压精度和对 $\epsilon_N$ 的鲁棒性大大提升。

使用指导如下:


摩擦模型

🧑‍🎓

摩擦只要输入库仑摩擦的 $\mu$ 就够了吗?


🎓

基础上是库仑摩擦就可以,但从数值角度需要做些处理。库仑摩擦有「粘着(stick)」和「滑动(slip)」两种状态:

$$\|\boldsymbol{\tau}\| < \mu \, p_N \quad \Rightarrow \quad \text{粘着(相对滑动速度 = 0)}$$ $$\|\boldsymbol{\tau}\| = \mu \, p_N \quad \Rightarrow \quad \text{滑动(切向力达上限)}$$

问题在于粘着向滑动的转变不连续,这会恶化收敛。实务中常用以下技巧:

钢对钢 $\mu = 0.15$~$0.3$、铝对铝 $0.1$~$0.35$、橡胶与金属 $0.5$~$1.0$ 是参考值。但实测值最可信,表面粗糙度、润滑油、温度会大幅改变,需要注意。


🧑‍🎓

听师兄说加上摩擦马上就不收敛了。有什么秘诀吗?


🎓

有个实务黄金法则:

  1. 先不考虑摩擦($\mu=0$)做接触分析。确认接触开闭是否收敛
  2. 逐步引入摩擦。第1步 $\mu=0$、第2步 $\mu=0.15$ 这样递增
  3. 将罚函数的切向刚度设为法向的约0.1倍。默认设置常常太大

比如冲压成形仿真,模具接触面直接加 $\mu=0.12$ 会不收敛,但先用 $\mu=0$ 推进到成形中途,再加摩擦就顺利了。这种情况在实务中很常见。


收敛性课题与对策

🧑‍🎓

接触分析最容易踩的坑是什么?看错误信息都猜不出来...


🎓

实务中「接触不收敛原因TOP 5」给你列出来:

  1. 接触面法向方向反了 — 壳层单元的正反面搞混最常见。求解器判定「分离」导致接触无效
  2. 初期穿透 — CAD的圆角或间隙导致网格阶段已经面交叉。可用Abaqus的 *CONTACT CLEARANCE ASSIGNMENT 调整
  3. 罚函数刚度数值不合理 — 太大产生振荡(自振鸣),太小则穿透过大
  4. 荷载步长过粗 — 接触面一次性大开合,Newton-Raphson法跟不上
  5. 刚体运动 — 接触前零件是自由的,刚度矩阵变奇异。需要用弱弹簧或稳定化约束,或保证初期接触

🧑‍🎓

「自振鸣」具体是什么现象?怎么对付?


🎓

自振鸣是某些节点在「接触→分离→接触→分离」反复震荡,Newton-Raphson迭代每次切换状态,永远收不了。

对策有:

实务定式化是Abaqus用 *CONTACT CONTROLS 中的 STABILIZE 选项,或Ansys调 CNOF / PINB 参数。


🧑‍🎓

接触分析「必须记住」的核心要点是什么?


🎓

实务最低限度要掌握的5个要点:

  1. 接触是边界非线性问题。用线性分析的思路设置会踩坑
  2. surface-to-surface定式化作为基础。node-to-surface过时、精度低
  3. 罚函数法快但有穿透,增广拉格朗日法精确但慢。按问题选择
  4. 摩擦先无、再逐步加。是最稳定的做法
  5. 不收敛时最先怀疑设置错(法向、初期穿透)。8成是这类问题

接触分析在结构CAE里麻烦事最多,但掌握这5点,8成问题自己能解决。


相关用語

对CAE用语的准确理解是团队沟通的基础。 — Project NovaSolver也着眼于实务者的学习支持。

请告诉我们在接触分析实务中遇到的课题

Project NovaSolver致力于解决CAE工程师日常面临的课题——设置的繁琐、计算成本、结果的理解——。您的实务经验将成为开发更优秀工具的原动力。

咨询(准备中)
这篇文章的评价
谢谢您的反馈!
有帮助
希望
更详细
报告
错误
有帮助
0
希望更详细
0
报告错误
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — 网站地图
查看档案