2. LS-DYNA接触算法体系总览

在LS-DYNA中,接触不是一种“材料”或“单元”,而是一组约束条件的数值实现方式。当两个物体表面发生靠近或嵌入时,求解器必须回答三个问题:什么时候开始接触、接触力有多大、以及允许不允许穿透。不同接触算法本质上是对这三个问题的不同回答方式。理解算法体系,比记住卡片参数更重要,因为参数只是算法的调节旋钮。

一、罚函数法:用“弹簧”把穿透顶回去

罚函数法(Penalty Method)是LS-DYNA中最常用、最稳健的接触算法。它的核心思想是:一旦检测到从节点穿透主面,就在穿透方向上施加一个与穿透量成正比的恢复力,相当于在节点与主面之间插入一根虚拟弹簧。接触力可写为:

F_n = k * δ
其中:F_n 为法向接触力
      k   为接触刚度
      δ   为穿透量(从节点侵入主面的深度)

罚函数法允许微小穿透,因为只有出现穿透才能产生力。穿透量本身不是错误,而是算法工作所必需的“信号”。工程上关心的是穿透是否被控制在可接受范围内,而不是追求零穿透。罚函数法不需要额外自由度,不改变系统矩阵规模,因此计算效率高,适合大变形、高速碰撞和复杂自接触场景。

二、拉格朗日乘子法:把穿透作为约束严格满足

拉格朗日乘子法(Lagrange Multiplier Method)把“不可穿透”当作硬约束,通过引入额外的乘子自由度来精确满足接触条件。它的优点是理论上可以实现零穿透,接触力作为约束反力直接求解。但代价也很明显:系统矩阵中会出现零对角项,需要特殊求解技术;接触状态变化时矩阵规模可能改变;在显式动力学中实现复杂,计算成本高。因此,在LS-DYNA的显式碰撞分析中,纯拉格朗日乘子法并不常用,更多出现在隐式或特定接触类型中。

三、对称罚函数法:主从两侧都“长弹簧”

标准罚函数法通常只检查从节点是否穿透主面,主节点不检查从面,这会导致主从网格密度差异较大时接触力分布不均。对称罚函数法(Symmetric Penalty Method)在每一步同时检查从节点对主面和主节点对从面的穿透,两侧都施加罚力。这样接触力更对称,对网格密度不敏感,适合主从面网格尺寸接近或需要更均匀接触压力的场景。代价是每步接触搜索量约增加一倍,但换来的是更好的接触精度和稳定性。

LS-DYNA 接触算法体系与穿透控制关系 罚函数法(Penalty) • 从节点穿透主面 → 产生罚力 • 允许微小穿透 δ • 不增加系统自由度 • 显式分析首选,稳健高效 • 接触力 F = k · δ 适用:大变形、高速碰撞、自接触 拉格朗日乘子法 • 不可穿透作为硬约束 • 引入乘子自由度 λ • 理论上零穿透 • 矩阵含零对角,求解复杂 • 显式计算成本高 适用:隐式、特定接触类型 对称罚函数法 • 主、从节点双向检查穿透 • 两侧均施加罚力 • 接触力分布更均匀 • 对网格密度差异不敏感 • 搜索量约增加一倍 适用:网格差异大、压力均匀性要求高 接触刚度 k 与穿透控制 k 过小 → 穿透过大,接触力不足,可能发生“穿透漏检” k 过大 → 接触力振荡,显式时间步长受稳定条件限制,可能引起数值不稳定 LS-DYNA 默认根据材料与网格尺寸自动估算 k,可用 SOFT、SLSFAC、PENMAX 等参数调节 算法选择依据 显式碰撞 → 罚函数/对称罚函数;隐式或需严格零穿透 → 拉格朗日乘子 主从网格差异大 → 对称罚函数;自接触、大变形 → 罚函数 + SOFT=1

四、接触刚度:罚函数法的“命门”

接触刚度 k 是罚函数法的核心参数。k 太小,穿透量会明显增大,接触力偏软,甚至出现从节点“穿过”主面而未被有效阻挡的情况;k 太大,接触力对穿透量极其敏感,容易激发高频振荡,并迫使显式时间步长减小,拖慢计算。LS-DYNA 默认根据接触面材料参数和单元特征尺寸自动估算 k,其量级通常与 K * A / V 相关,其中 K 为体积模量,A 为接触面积,V 为单元体积。对于软材料或薄壁结构,自动刚度可能偏大,此时可用 SOFT=1 启用软约束,或通过 SLSFAC 缩放刚度。若希望限制最大穿透,可设置 PENMAX,当穿透超过该值时接触力不再线性增长,避免力无限增大。

五、穿透控制的实际判断

穿透是否可接受,不能只看“有没有穿透”,而要看穿透量相对于单元尺寸和物理场景的比例。工程上常用经验判据:最大穿透量不宜超过接触面最小单元特征尺寸的 10%~20%。在 d3plot 中查看接触穿透时,可关注 rcforc 文件中的接触力曲线是否平滑、有无异常尖峰;若接触力出现剧烈振荡,往往说明 k 偏大或时间步长与接触刚度不匹配。若穿透持续增大且接触力偏低,则说明 k 偏小或接触定义遗漏了某些区域。

六、算法选择依据

选择接触算法时,可按以下逻辑判断:

  • 显式动力学碰撞、冲击、爆炸:优先罚函数法或对称罚函数法,稳健且效率高。
  • 需要严格零穿透或隐式求解:考虑拉格朗日乘子法或罚函数+拉格朗日混合方法。
  • 主从面网格尺寸差异大:对称罚函数法更合适,可减少主面“漏检”。
  • 自接触、大变形、材料软化:罚函数法配合 SOFT=1 或 SOFT=2,避免刚度突变导致不稳定。
  • 薄壁、壳单元接触:注意壳厚偏移和接触刚度缩放,必要时使用 THKOPT 和 SHLTHK。
工程提示:接触算法没有“最好”,只有“最合适”。先明确分析类型(显式/隐式)、网格特征(主从尺寸比)、材料刚度(软/硬)和穿透容忍度,再选择算法和刚度控制策略。建议在正式计算前,用简化模型做一次接触刚度敏感性测试,观察接触力和穿透量随 SLSFAC 的变化,再确定最终参数。

七、参数速查与示例

参数 作用 典型取值/说明
SOFT 接触刚度软约束选项 0=自动;1=软约束;2=段约束
SLSFAC 接触刚度缩放因子 默认0.1,可调至0.01~1.0
PENMAX 最大允许穿透 超过后接触力不再线性增长
FS / FD 静/动摩擦系数 按材料对实测或经验取值
THKOPT 壳厚接触处理 1=考虑壳厚偏移

例如,一个钢板撞击刚性墙的显式模型,壳单元特征尺寸 5 mm,材料体积模量约 160 GPa。默认接触刚度可能使穿透量在 0.05 mm 量级,若希望进一步减小穿透,可将 SLSFAC 从 0.1 提高到 0.3,同时观察时间步长是否明显下降。若时间步长下降超过 20%,说明刚度过大,应回调或改用 SOFT=1。这种“调参—观察—判断”的循环,是接触设置从入门到熟练的必经路径。