3. 接触类型与关键字入门
在 LS-DYNA 中,接触并不是一个“开关”,而是一整套由关键字卡片描述的算法族。选择接触类型,本质上是在回答三个问题:谁和谁可能接触、用什么算法检测穿透、接触力如何分配。本节先把最常用的五类接触讲清楚,再拆解 CONTACT 关键字的基本结构,让你能独立写出第一段可运行的接触定义。
一、五类接触的适用场景
单面接触(Single Surface)是最“省心”的一类。它不需要指定接触对,程序会自动搜索模型中所有外表面之间的穿透,包括同一部件自身的自接触。典型场景是薄壁结构压溃、气囊展开、碎片飞散。关键字为 *CONTACT_AUTOMATIC_SINGLE_SURFACE。它的代价是搜索量大、计算成本高,且容易把本不该接触的邻近表面误判为接触。
面面接触(Surface to Surface)需要明确指定主面(master)和从面(slave),适用于两个已知会相互作用的部件,例如冲头压入板料、刚性墙撞击梁。关键字为 *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE。主从面的选择有讲究:通常把网格较粗、刚度较大、曲率较小的一侧设为主面,从面网格更细,这样穿透检测更稳定。
点面接触(Nodes to Surface)只检查从节点是否穿透主面,计算量最小,适合一个物体的节点可能接触另一个物体表面的情况,例如子弹头部节点撞击靶板。关键字为 *CONTACT_AUTOMATIC_NODES_TO_SURFACE。它不检查主节点对从面的穿透,因此主从关系不能随意颠倒。
自动接触(Automatic)并不是独立的一类,而是上述接触的“增强版”。它自动处理壳单元两侧的接触方向,无需用户指定壳的法向,还能在计算中动态更新接触厚度。工程中绝大多数接触都建议加 AUTOMATIC 前缀,尤其是壳单元和实体单元混合的模型。
通用接触(General / Eroding)面向极端变形问题,如侵彻、爆炸、破碎。关键字 *CONTACT_ERODING_SINGLE_SURFACE 或 *CONTACT_ERODING_SURFACE_TO_SURFACE 能在单元被删除后继续追踪新暴露的表面,避免因单元消失导致接触失效。
二、CONTACT 关键字的基本结构
所有 CONTACT 关键字都遵循同一套骨架:第一行定义接触类型和参与对象,后续可选卡片定义摩擦、厚度、阻尼等参数。以面面接触为例,最简写法如下:
*CONTACT_AUTOMATIC_SURFACE_TO_SURFACE
$# SSID MSID SSTYP MSTYP SBOXID MBOXID SPR MPR
2 1 0 0 0 0 0 0
$# FS FD DC VC VDC PENCHK BT DT
0.2 0.2 0.0 0.0 0.0 0 0.0 1e20
$# SFS SFM SST MST SFST SFMT FSF VSF
1.0 1.0 0.0 0.0 1.0 1.0 1.0 1.0
第一行中,SSID 和 MSID 分别是从面集和主面集的 ID,通常由 *SET_SEGMENT 或 *SET_PART 预先定义。SSTYP 和 MSTYP 指定集合类型:0 表示段集合,1 表示部件集合,2 表示节点集合。第二行的 FS 和 FD 是静摩擦和动摩擦系数,DC 是衰减系数,VC 是粘性阻尼系数。PENCHK 控制是否检查初始穿透,设为 1 时程序会在计算前报告穿透量。
第三行的 SFS 和 SFM 是从面和主面的厚度缩放因子,默认 1.0。SST 和 MST 是接触厚度,设为 0 时程序自动取单元厚度的 0.5 倍。SFST 和 SFMT 是接触刚度缩放因子,当出现明显穿透或接触振荡时,可以适当调大这两个值。
SST 或 MST 显式设为壳厚度的 1.0~1.5 倍,或把 SFS/SFM 调大。三、主从面选择与常见错误
面面接触中,主从面选反是新手最常见的错误。判断原则有三条:网格粗的一侧做主面,因为主面节点不参与穿透检测,粗网格做主面可减少漏检;刚度大的一侧做主面,刚性墙、刚体通常做主面;曲率小的一侧做主面,平面比曲面更适合做主面。如果两侧条件接近,可以交换主从做一次对比计算,观察接触力曲线是否更平滑。
另一个常见问题是接触集定义不完整。例如用 *SET_PART 定义部件集时,如果部件内部存在自接触,面面接触不会检测同一部件内部的穿透,此时应改用单面接触或补充自接触定义。对于壳单元,还要注意 *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE 默认只检测壳的一侧,如果壳两侧都可能接触,应使用 *CONTACT_AUTOMATIC_SINGLE_SURFACE 或设置 SPR/MPR 为 1 开启两侧检测。
四、参数速查与调试建议
| 参数 | 含义 | 典型取值 | 调试方向 |
|---|---|---|---|
| FS / FD | 静/动摩擦系数 | 0.1~0.3(钢-钢) | 摩擦过大导致能量异常,过小导致滑移 |
| DC | 摩擦衰减系数 | 0 或 0.1 | 高速滑动时用指数衰减 |
| SFS / SFM | 厚度缩放因子 | 1.0 | 薄壳穿透时调至 1.5~2.0 |
| SFST / SFMT | 刚度缩放因子 | 1.0 | 接触振荡时调至 0.5~2.0 |
| PENCHK | 初始穿透检查 | 1 | 建模后首次计算建议开启 |
调试接触时,优先看两个输出:glstat 中的接触能量和rcforc 中的接触力。接触能量应远小于内能(通常小于 5%),如果接触能量异常增大,说明存在严重穿透或接触刚度不足;接触力曲线出现高频振荡,则可能是接触刚度太大或时间步长与接触频率不匹配。此时可先降低 SFST/SFMT,再检查网格质量和初始穿透。