4. 接触刚度与罚函数调试

在LS-DYNA的罚函数接触算法中,接触界面并不是真正“焊死”的,而是通过在从节点与主面之间引入一组虚拟弹簧来近似不可穿透条件。这组弹簧的刚度就是接触刚度,通常由罚因子 SLSFAC、SLSFAC 与材料/单元特征刚度共同决定。理解罚因子的取值原则,是排查接触振荡与穿透问题的起点。

一、罚函数接触的力学本质

罚函数法的核心思想是:当从节点侵入主面深度为 δ 时,施加一个与侵入量成正比的法向力 F_n = k_c · δ,其中 k_c 为接触刚度。理想情况下,k_c 越大,侵入量越小,接触越“硬”;但 k_c 过大会导致显式积分稳定步长急剧下降,甚至引发数值振荡。因此,罚因子调试本质上是在“穿透量”与“计算稳定性”之间寻找平衡。

LS-DYNA中接触刚度通常按如下方式估算:

k_c = SLSFAC × k_typical
k_typical = (K × A²) / V   (体单元)
k_typical = (K × t × A) / L (壳单元)

其中 K 为材料体积模量,A 为接触面积,V 为单元体积,t 为壳厚,L 为特征长度。默认 SLSFAC=0.1,这是多数工况的推荐起点。

二、罚因子取值原则

罚因子取值应遵循以下原则:

  • 默认优先:先使用 SLSFAC=0.1 试算,观察穿透量与能量比。
  • 软材料取大:橡胶、泡沫等低模量材料,可适当提高至 0.5~1.0,避免因刚度不足产生明显穿透。
  • 硬材料取小:金属、陶瓷等高模量材料,保持 0.1 或更低,防止稳定步长过小。
  • 薄壳结构谨慎:壳单元接触刚度对厚度敏感,SLSFAC 过大易引起法向振荡。
  • 能量判据:接触能量与内能之比宜控制在 5% 以内,超过则需调整。
调试时建议开启 *CONTROL_ENERGY 中的 SLNTEN=2,并输出 glstat 中的接触能量,作为罚因子是否合理的量化依据。

三、软约束与硬约束对比

LS-DYNA提供两种罚函数约束方式:软约束(Soft Constraint)与硬约束(Hard Constraint),通过 *CONTACT 卡片中的 SOFT 参数选择。

对比项硬约束(SOFT=0)软约束(SOFT=1/2)
刚度来源基于材料模量与单元尺寸基于节点质量与全局时间步
适用场景模量相近的金属接触软硬材料混合、泡沫、橡胶
穿透控制依赖SLSFAC对SLSFAC不敏感
稳定性刚度大时步长受限稳定性更好
典型问题振荡、能量突增接触“偏软”、轻微穿透

软约束的刚度按下式估算:k_soft = 0.5 × m × (2π/T)²,其中 m 为从节点质量,T 为接触搜索周期。它不依赖材料模量,因此特别适合泡沫、橡胶等低模量材料与金属的混合接触。

四、刚度异常导致的振荡与穿透排查

接触刚度异常通常表现为两类现象:法向振荡与穿透。排查时应按以下路径进行:

  1. 检查穿透量:在 d3plot 中观察从节点侵入主面的深度,若超过单元尺寸的 10%,说明刚度不足。
  2. 检查接触能量:glstat 中 Contact Energy 若出现剧烈锯齿波动,说明刚度偏大或存在初始穿透。
  3. 检查初始穿透:使用 *CONTACT_INTERFACE 的 ISLCHK=1 或 *CONTROL_CONTACT 的 IGNORE=1 处理初始穿透。
  4. 检查时间步:若 dt 因接触刚度骤降,需降低 SLSFAC 或改用软约束。
  5. 检查法向方向:主面法向定义错误会导致接触力方向异常,引发振荡。
当出现“接触力突然消失”或“节点飞出”时,优先检查主从面定义是否反置,以及 SOFT 与 SLSFAC 是否冲突。软约束下 SLSFAC 基本失效,此时调整 SLSFAC 不会改善穿透。
接触刚度调试:罚因子取值与异常排查路径 罚因子 SLSFAC 取值 默认起点:SLSFAC = 0.1 软材料:0.5 ~ 1.0 硬材料:0.1 或更低 能量判据:接触能/内能 < 5% 软约束 vs 硬约束 硬约束 SOFT=0 依赖材料模量 软约束 SOFT=1/2 依赖节点质量 软约束刚度:k = 0.5·m·(2π/T)² 对 SLSFAC 不敏感,稳定性更好 异常排查路径 ① 穿透量 > 单元尺寸 10%? ② 接触能量剧烈锯齿波动? ③ 初始穿透未处理? ④ 时间步骤降 / 法向反置? 罚因子调试决策流 试算 SLSFAC=0.1 观察穿透与能量 穿透明显? 是 → 提高 SLSFAC 振荡/步长骤降? 是 → 降低或改软约束 软硬材料混合? 是 → 优先 SOFT=1/2 迭代调整:每次仅改一个参数,记录 glstat 接触能量与 d3plot 穿透量 关键判据:接触能量 / 内能 < 5%,穿透量 < 单元特征尺寸 10%,时间步无异常骤降

五、典型调试案例与参数建议

以某泡沫缓冲结构撞击刚性墙为例:泡沫材料模量约 5 MPa,钢制墙板模量 210 GPa,两者相差四个数量级。若使用硬约束 SOFT=0 且 SLSFAC=0.1,泡沫侧接触刚度由泡沫模量控制,极易出现明显穿透;若提高 SLSFAC 至 1.0,则时间步从 1.2 μs 降至 0.3 μs,计算成本剧增且出现法向振荡。改用 SOFT=1 软约束后,接触刚度由泡沫节点质量与全局时间步决定,穿透量控制在 0.8 mm 以内,接触能量占比约 2.3%,时间步保持稳定。

对于金属-金属接触,如汽车碰撞中的纵梁与壁障,推荐 SOFT=0、SLSFAC=0.1,并配合 *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE。若出现初始穿透,可在 *CONTROL_CONTACT 中设置 IGNORE=1 或使用 *CONTACT_INTERFACE 的 ISLCHK=1 进行穿透检查与消除。

调试口诀:先看穿透再调刚,软硬材料选软约束;能量占比是标尺,步长稳定是底线。

最后需要强调:罚因子不是越大越好,也不是越小越稳。它必须与材料模量、单元尺寸、接触类型和时间步长协同考虑。每次调整只改一个参数,并记录 glstat 中的接触能量、d3plot 中的穿透量以及 dt 变化,才能形成可复现的调试结论。