2. LS-DYNA求解器基础与关键字文件结构

LS-DYNA 是显式动力学有限元求解器,安全气囊仿真只是它众多应用之一。理解它的求解流程和关键字文件组织方式,是后续所有建模工作的前提。本节从求解器的工作机制出发,讲清楚显式时间积分的推进逻辑、关键字文件的层级结构、单位制的一致性要求,以及气囊仿真中最常用的几类卡片。

显式动力学求解流程

LS-DYNA 的核心是中心差分法。它不组装整体刚度矩阵,也不做迭代求解,而是对每个节点直接计算加速度,然后逐步推进时间。一个时间步内的计算顺序是:先由单元应力计算节点内力,再叠加外力和接触力得到节点合力,除以节点质量得到加速度,然后积分得到速度和位移,最后更新单元应变和应力。整个过程是显式的,没有收敛判断,因此每个时间步的计算量小且稳定。

时间步长由 Courant 条件控制:Δt ≤ L/c,其中 L 是最小单元特征长度,c 是材料声速。对于钢材,c ≈ 5000 m/s;如果最小单元尺寸为 5 mm,则临界时间步长约 1 μs。气囊仿真中常用的织物材料声速较低,但膜单元尺寸小,时间步长通常在 0.5~2 μs 量级。LS-DYNA 会自动计算并输出实际使用的时间步长,如果某一步长突然下降,通常意味着有单元发生了严重畸变。

LS-DYNA 显式求解单步推进与关键字文件组织 显式时间积分单步循环 ① 由单元应力计算节点内力 f_int ② 叠加外力与接触力 → 节点合力 f_res ③ 加速度 a = f_res / m,积分得 v、u ④ 更新单元应变与应力 ⑤ 时间推进 t = t + Δt,检查终止条件 Δt ≤ L / c(Courant 条件,自动控制) 关键字文件层级结构 *KEYWORD(文件头,定义单位制) *CONTROL_*(求解控制卡片组) *DATABASE_*(输出控制卡片组) *PART / *SECTION / *MAT(模型定义) *AIRBAG_*(气囊专用卡片) *SET_* / *DEFINE_*(集合与曲线定义) *END(文件结束) 求解 读取

关键字文件的组织逻辑

LS-DYNA 的输入文件是纯文本的 .k 文件,所有内容以 * 开头的关键字卡片组织。文件没有严格的段落顺序要求,但求解器按固定优先级读取:*CONTROL 和 *DATABASE 类卡片影响全局行为,*PART、*SECTION、*MAT 定义模型本身,*AIRBAG 定义气囊行为,*SET 和 *DEFINE 提供引用集合和曲线。一个典型的单气囊模型文件结构如下:

*KEYWORD
*CONTROL_TERMINATION
$  endtim    endcyc    dtmin     endeng    endmas
   0.120               0.0
*CONTROL_TIMESTEP
$  dtinit    tssfac    isdo      tslimt    dt2ms
             0.9                  -1.0e-6
*DATABASE_BINARY_D3PLOT
$     dt      lcdt      beam      npltc
   0.002
*DATABASE_GLSTAT
$     dt
   0.001
*DATABASE_NCFORC
$     dt
   0.001
*PART
$  pid     secid    mid     eosid    hgid
     1         1        1
*SECTION_SHELL
$  secid    elform   shrf     nip     propt
     1         2       1.0       3
*MAT_FABRIC
$  mid      ro       ea       eb       ec
     1    8.0e-7   2.0e-3   2.0e-3   2.0e-3
*AIRBAG_SIMPLE_PRESSURE_VOLUME
$  sid      sidtyp   rbid     vsca     psca
     1         0        0       1.0      1.0
*END

注意 $ 开头的是注释行,LS-DYNA 会忽略。卡片中的参数按固定列宽读取,前 8 列是第一个字段,9~16 列是第二个,以此类推。如果字段为空,求解器使用默认值。这种固定格式意味着不能随意用空格对齐,必须严格按列填写。

单位制的一致性

LS-DYNA 本身不强制单位制,但要求所有输入量在同一个单位系统内自洽。安全气囊仿真中最常用的是 mm-ton-s 系统:长度 mm,质量 ton,时间 s,力 N,应力 MPa,密度 ton/mm³。例如钢材密度 7.85e-9 ton/mm³,气囊织物面密度 2.0e-7 ton/mm²(膜单元用面密度而非体密度)。如果混用单位,比如长度用 mm 而密度用 kg/m³,计算出的时间步长和接触力会完全错误,通常表现为模型瞬间爆炸或穿透。

单位制一旦确定,整个模型的所有参数——几何尺寸、材料密度、弹性模量、初始速度、气囊质量流率——都必须统一。建议在 *KEYWORD 卡片后立即用注释写明单位制,避免后续修改时混淆。

输出控制与气囊仿真常用卡片

输出控制由 *DATABASE 系列卡片管理。*DATABASE_BINARY_D3PLOT 控制 d3plot 结果文件的输出间隔,气囊仿真通常设为 1~2 ms,对应展开过程的 50~100 帧。*DATABASE_GLSTAT 输出全局能量曲线,用于检查沙漏能和内能是否异常。*DATABASE_NCFORC 输出接触力,用于评估气囊对假人的作用力。*DATABASE_ABSTAT 是气囊专用输出,记录气囊压力、体积和温度随时间的变化。

气囊仿真最核心的卡片是 *AIRBAG。LS-DYNA 提供多种气囊模型:*AIRBAG_SIMPLE_PRESSURE_VOLUME 用均匀压力法,适合展开形态简单的气囊;*AIRBAG_WANG_NEFSKE 用一维气流模型,能模拟气囊内部压力波;*AIRBAG_PARTICLE 用粒子法,适合折叠复杂的气囊。选择哪种模型取决于气囊的折叠方式和仿真精度要求。对于驾驶员侧气囊的初步分析,SIMPLE_PRESSURE_VOLUME 通常足够;如果需要研究气囊展开初期的冲击力,则需要 WANG_NEFSKE 或 PARTICLE 方法。

与 *AIRBAG 配合使用的还有 *DEFINE_CURVE,用于定义质量流率曲线或压力-时间曲线。曲线的时间轴必须与 *CONTROL_TERMINATION 的终止时间匹配,否则气囊可能在仿真结束前未完全展开。此外,*CONTROL_CONTACT 中的接触厚度和罚因子设置会影响气囊与假人、方向盘之间的接触力,需要根据单元尺寸调整。

调试气囊模型时,先检查 d3plot 中气囊体积是否随时间单调增加,再检查 glstat 中沙漏能是否超过内能的 5%。如果沙漏能过大,说明膜单元需要更细的网格或更严格的沙漏控制。