3. 接触厚度与穿透检查

在 LS-DYNA 的接触计算中,“接触厚度”并不是一个可以随意忽略的显示参数,而是直接参与从节点搜索、间隙判定到接触力计算的几何量。很多接触调试问题——例如明明设置了接触却仍然互相穿过、初始时刻就出现巨大接触力、或者接触力曲线在零附近抖动——根源都在接触厚度与穿透量的处理上。本节围绕三个问题展开:接触厚度如何定义、初始穿透如何诊断、穿透量如何影响接触力。

一、接触厚度从哪里来:三种定义方式

LS-DYNA 中参与接触判定的厚度通常来自三个层次,理解它们的优先级是排查问题的前提。

1. 单元自身的物理厚度。对壳单元,接触厚度默认取壳的厚度 ELFORM 对应的 T1/T2/T3/T4 值;对实体单元,接触面本身没有“厚度”概念,但可通过 *CONTACT 中的 SST、MST 等选项为从面、主面附加一个虚拟厚度。这是最基础的来源。

2. 接触卡中的厚度缩放与偏移。在 *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE 等卡片中,SFST、SFMT 分别缩放从面、主面的接触厚度,SST、MST 则直接指定附加厚度。例如壳厚 2 mm、SFST=1.2,则从面接触厚度按 2.4 mm 参与判定。这一层常用于补偿网格粗糙或材料软化导致的“软穿透”。

3. 全局接触厚度控制。*CONTROL_CONTACT 中的 SLSFAC(默认 0.1)是罚因子缩放,PENOPT 控制是否允许初始穿透被忽略或缩放,SHLEDG 决定壳边接触厚度是否按边计算。这些参数会统一影响所有接触,调试时应先确认全局设置,再回到单张接触卡。

接触厚度是“判定距离”,不是几何实体。它决定两个面在多远时开始产生接触力,因此调大厚度会让接触更早介入,调小则更晚介入,但都不会改变网格本身的几何位置。

二、初始穿透诊断:先看再算

初始穿透指求解开始前(t=0)从节点已经位于主面另一侧或落在接触厚度带内。LS-DYNA 在初始化阶段会输出穿透信息,关键诊断手段如下。

  • d3hsp 文件:搜索 initial penetration 关键字,会列出穿透的从节点编号、主段编号、穿透深度。这是最直接的证据。
  • message 文件:关注 Contact initialization 段落,若出现大量 penetration 警告,说明模型装配或网格存在系统性问题。
  • 可视化检查:在 LS-PrePost 中打开 d3plot 第 0 帧,用 Fringe Component → Contact → Penetration 查看穿透云图,红色区域即为初始穿透位置。
  • 接触力初值:若第 0 帧就出现非零接触力,几乎可以确定存在初始穿透或接触厚度设置过大。

诊断出穿透后,处理方式取决于穿透量大小。若穿透量远小于接触厚度(例如 0.01 mm 对 2 mm 厚度),可保留并在 *CONTROL_CONTACT 中设置 PENOPT=1 或 2,让求解器在初始化时自动偏移从节点;若穿透量较大,应回到建模阶段修正装配间隙或网格,而不是依赖求解器“硬拉”。

接触厚度与穿透量对接触力的影响机制 接触厚度来源 ① 单元物理厚度 T1/T2 ② SFST/SFMT 缩放 + SST/MST ③ SLSFAC / PENOPT 全局控制 优先级:③ 全局 → ② 卡片 → ① 单元 穿透状态判定 主面(Master) 正常间隙 接触厚度内 已穿透 黄色带 = 接触厚度判定区 接触力生成机制 F = k · δ k = SLSFAC · K · A² / V δ 小 → 力小,可恢复 δ 大 → 力大,可能振荡 穿透量 δ 与接触力 F 的关系曲线(示意) δ(穿透量) F δ=0 接触开始 线性段 刚度硬化 过穿透风险区 安全区:δ < 0.1·t 可接受:0.1t ~ 0.5t 危险:δ > 0.5t t 为接触厚度;δ 为从节点相对主面的穿透深度;曲线形状取决于罚刚度与接触厚度设置

三、穿透量如何影响接触力

LS-DYNA 的罚函数接触本质上是“弹簧”:从节点一旦进入主面的接触厚度带,就受到一个与穿透深度成正比的恢复力。以最常用的罚函数法为例,接触力可近似写为

F = SLSFAC · K · A² / V · δ

其中 K 为主面材料体积模量,A 为主段面积,V 为主段体积,δ 为穿透深度,SLSFAC 为罚因子缩放系数。这个式子说明三件事:

  • 穿透量 δ 越大,接触力线性增大。在弹性阶段,δ 与 F 成正比,因此轻微穿透不会造成灾难性后果,但会带来能量误差。
  • 接触厚度 t 决定 δ 的“起点”。当从节点距离主面小于 t 时,δ 从 0 开始增长;t 越大,接触越早介入,δ 增长越平缓,但可能造成“虚假接触”。
  • SLSFAC 放大刚度。默认 0.1 偏软,适合大多数碰撞;若穿透明显,可提高到 0.5~1.0,但过大会导致接触力振荡甚至发散。

实际调试中,穿透量应控制在接触厚度的 10% 以内。若 d3hsp 显示最大穿透达到 0.5 mm 而接触厚度为 2 mm,属于可接受范围;若穿透达到 1.5 mm,则接触力会显著偏大,且可能伴随能量不守恒。此时优先检查网格密度、接触厚度设置和 SLSFAC,而不是盲目调大 SLSFAC。

穿透量过大时,单纯提高 SLSFAC 会让接触力剧烈振荡,甚至导致时间步长骤降。正确顺序是:先修正初始穿透,再检查接触厚度是否合理,最后才微调罚因子。

四、一个可复用的检查流程

把上述内容整理成可执行的检查顺序,便于在每次接触调试中复用:

步骤检查对象判断依据处理动作
1d3hsp 初始穿透穿透节点数、最大穿透深度少量则 PENOPT 自动偏移;大量则修装配
2接触厚度设置SFST/SFMT/SST/MST 是否合理按壳厚或特征尺寸设定,避免过大
3SLSFAC 全局值默认 0.1 是否满足逐步提高到 0.3~0.5,观察力曲线
4接触力曲线是否振荡、是否非零初值振荡则降 SLSFAC 或加密网格
5能量曲线沙漏能、接触能占比接触能异常则回到步骤 1

需要强调的是,接触厚度和穿透量不是孤立参数。它们与网格尺寸、材料刚度、时间步长共同决定接触行为的稳定性。在复杂接触模型中,建议先用单接触对做小规模验证,确认穿透量在合理范围后,再扩展到整体模型。这样既能快速定位问题,也能避免在完整模型中反复试错。