2. 接触力学基础与Abaqus接触算法

接触问题的本质是:两个或多个物体在边界上发生相互作用,而这种相互作用只在“接触”这一条件成立时才存在。与普通边界条件不同,接触边界的位置、接触面积、接触压力分布都是未知的,必须通过求解过程迭代确定。因此接触是典型的边界非线性问题,它同时带来法向不可穿透、切向摩擦、以及接触状态突变三类难点。Abaqus 的接触算法正是围绕这三类难点设计的。

一、法向接触:不可穿透与压力传递

法向接触要满足两个条件:一是不可穿透,即从面节点不能侵入主面;二是压力非负,即接触面之间只能压不能拉。用数学语言描述,设从面节点到主面的法向间隙为 gn,接触压力为 p,则要求 gn ≥ 0、p ≥ 0,且 gn·p = 0。最后一条称为互补条件:要么有间隙无压力,要么有压力无间隙,二者不能同时为正。

在 Abaqus/Standard 中,法向约束有两种实现方式。罚函数法把不可穿透写成“允许微小穿透,但穿透量乘以罚刚度产生接触压力”,即 p = kn·max(0, −gn)。拉格朗日乘子法则引入额外的乘子自由度,强制 gn = 0,接触压力作为乘子直接求解。前者不增加自由度、收敛较稳健,但存在穿透;后者穿透为零,但增加自由度、可能引起收敛困难。Abaqus 默认的“硬接触”在法向采用增广拉格朗日法,兼顾两者。

二、切向摩擦:从黏着到滑移

切向行为由摩擦模型描述。最常用的是库仑摩擦:当切向剪应力 τ 小于临界值 τcrit = μ·p 时,接触面处于黏着状态,无相对滑移;当 τ 达到 τcrit 时进入滑移状态,剪应力被限制在 μ·p。μ 为摩擦系数,p 为接触压力。Abaqus 默认使用罚函数摩擦,允许弹性滑移量,滑移刚度由“弹性滑移”参数控制;也可选择拉格朗日摩擦实现零弹性滑移。

摩擦系数可以随压力、滑移速度、温度变化。例如在金属成形中,常用 μ = 0.1~0.3;在橡胶密封中,μ 可能取 0.5 以上。若摩擦系数过大或接触压力突变,容易引起收敛振荡,此时可适当引入弹性滑移或改用增广拉格朗日摩擦。

三、接触离散化:点对面与面对面

Abaqus 提供两种离散方式。点对面(node-to-surface)把从面节点投影到主面,检查每个从节点的穿透,计算量小、适合小滑移;但主面网格较粗时压力分布会出现振荡。面对面(surface-to-surface)在从面与主面的积分点上同时检查接触,压力分布更平滑,适合大滑移和复杂几何,但计算成本更高。选择原则是:接触压力精度要求高、滑移大时优先面对面;接触区域小、滑移小时可用点对面。

Abaqus 接触算法核心关系图 法向接触 不可穿透:gₙ ≥ 0 压力非负:p ≥ 0 互补:gₙ · p = 0 切向摩擦 黏着:τ < μ·p 滑移:τ = μ·p 弹性滑移刚度 接触离散化 点对面:从节点投影 面对面:积分点检查 压力分布更平滑 Abaqus 中的实现与选择 罚函数法 p = kₙ · max(0, −gₙ) 不增加自由度 允许微小穿透 收敛稳健 拉格朗日乘子法 强制 gₙ = 0 增加乘子自由度 穿透为零 可能收敛困难 增广拉格朗日法 罚函数 + 乘子迭代 Abaqus 默认硬接触 穿透可控 精度与稳健兼顾

四、罚函数与拉格朗日乘子法在 Abaqus 中的实现

在 Abaqus/Standard 中,接触属性通过 *SURFACE INTERACTION 与 *SURFACE BEHAVIOR 定义。法向默认是硬接触,其底层为增广拉格朗日法;若改为罚函数,可写 *SURFACE BEHAVIOR, PRESSURE-OVERCLOSURE=LINEAR 并指定罚刚度。切向通过 *FRICTION 定义,默认罚函数摩擦,可加 ELASTIC SLIP 参数控制滑移刚度。

*SURFACE INTERACTION, NAME=INT-1
*SURFACE BEHAVIOR, PRESSURE-OVERCLOSURE=HARD
*FRICTION
0.2, 
*FRICTION, ELASTIC SLIP=1e-4

上面示例中,法向采用硬接触(增广拉格朗日),切向摩擦系数 μ = 0.2,弹性滑移量设为 1e-4。若希望零弹性滑移,可改用 *FRICTION, LAGRANGE。在 Abaqus/Explicit 中,法向默认也是罚函数,但通过 *CONTACT CONTROLS 可调整罚刚度缩放因子,切向同样支持罚函数与拉格朗日摩擦。

五、选择策略与收敛判断

选择算法时,先看法向:若穿透必须严格为零(如密封、过盈配合),用拉格朗日或增广拉格朗日;若接触状态频繁切换、收敛困难,用罚函数并适当降低罚刚度。再看切向:若滑移量小、需要精确黏着,用拉格朗日摩擦;若滑移大、接触压力高,用罚函数摩擦并设置合理弹性滑移。最后看离散化:大滑移、压力精度要求高时选面对面;小滑移、计算资源有限时选点对面。

收敛判断上,Abaqus 会在 .msg 文件中输出接触迭代信息。若出现“接触状态反复切换”或“穿透量过大”,通常说明罚刚度不足或接触定义有误;若出现“过约束”或“乘子不收敛”,则可能是拉格朗日乘子与其它约束冲突。此时可检查接触对的主从面选择、网格密度、以及是否有多余的边界条件。

实用建议:初次调试接触时,先用默认硬接触 + 罚函数摩擦,观察 .msg 中的接触迭代次数与穿透量;若收敛良好但穿透偏大,再逐步提高罚刚度或改用增广拉格朗日;若收敛困难,先降低罚刚度、增大弹性滑移,待收敛后再逐步收紧。
注意:罚刚度不是越大越好。过大的罚刚度会使接触压力振荡、收敛困难,甚至导致求解失败。一般建议罚刚度取材料弹性模量的 0.1~1 倍量级,具体需结合网格尺寸与接触压力水平调整。

理解法向、切向、离散化与算法实现这四层关系,是后续复杂装配接触建模的基础。实际工程中,接触设置往往需要多次试算与参数调整,建议每次只改一个参数并记录 .msg 中的迭代行为,逐步建立对接触算法的直觉判断。