1. 课程导入与效率瓶颈诊断

LS-DYNA 的显式分析之所以能在碰撞、冲击、爆炸、跌落等强非线性场景中稳定求解,核心在于它不组装整体刚度矩阵、不做迭代收敛判断,而是沿时间轴逐步推进。代价是:每一步都要遍历全部单元计算内力,再按最小单元特征尺寸决定的时间步长向前走。因此,计算成本 ≈ 单步成本 × 总步数,而单步成本由单元/接触规模决定,总步数由物理时长与时间步长之比决定。理解这条乘法关系,是后续所有优化手段的出发点。

一、计算成本从哪里来

显式求解的单步开销主要分布在四块:单元内力计算(实体、壳、梁、SPH 等各自的本构与沙漏控制)、接触搜索与力计算(尤其是自接触与大量从面节点)、状态变量与历史变量的读写、以及时间步长与能量统计等全局操作。其中接触往往是"隐形大户":一个包含 50 万壳单元、开启单面自接触的整车模型,接触搜索可能占到单步耗时的 40% 以上。

总步数则由 Δt 决定。显式中心差分法的稳定条件要求时间步长不超过临界值,工程上常用估算式为:

Δt_crit ≈ L_min / c
c = sqrt(E / ρ)          (线弹性声速)
Δt = α · Δt_crit         (α 为时间步缩放因子,默认 0.9)

其中 L_min 是模型中最小单元的特征长度,c 是材料声速。以钢材为例,E = 210 GPa、ρ = 7.85e-9 t/mm³,则 c ≈ 5.17e6 mm/s。若最小单元尺寸为 1 mm,Δt_crit ≈ 1.93e-7 s,取 α=0.9 后约 1.74e-7 s。要模拟 50 ms 的碰撞过程,需要约 28.7 万步。若把最小单元从 1 mm 放大到 2 mm,步数直接减半——这就是"一个单元尺寸决定全局成本"的典型体现。

注意:L_min 由全模型最小单元决定,而不是平均尺寸。一个 0.2 mm 的倒角网格,可能让整个百万单元模型的时间步长被拉低一个数量级。诊断时务必先定位最小单元的位置。

二、模型规模与时间步长的耦合关系

模型规模对成本的影响不是线性的。单元数增加会同时抬高单步成本,而局部细化又会压低 Δt、抬高总步数,两者相乘形成"双重惩罚"。下面这张图把本节的核心关系组织成一张诊断视图:左侧是成本来源,中间是规模与步长的耦合,右侧是四类常见效率问题及其对应的优化方向。

显式分析效率瓶颈诊断视图 计算成本 = 单步成本 × 总步数 单步成本来源 单元内力计算 实体/壳/梁本构 + 沙漏控制 接触搜索与力 自接触 / 大量从面节点 状态变量读写 历史变量 / 输出频率 全局操作 时间步统计 / 能量核算 总步数 = T / Δt Δt ≈ 0.9 · L_min / c L_min 由全模型最小单元决定 规模与步长的双重惩罚 单元数 ↑ 单步成本 ↑ 局部细化 L_min ↓ → Δt ↓ 总步数 ↑ 且 单步成本 ↑ 成本呈超线性增长 示例:钢材碰撞模型 E=210 GPa,ρ=7.85e-9 t/mm³ L_min=1 mm → Δt≈1.74e-7 s T=50 ms → 约 28.7 万步 优化杠杆点 ① 消除异常小单元 ② 质量缩放 / 子循环 ③ 简化非关键区域网格 常见效率问题分类 A. 时间步长被拖低 症状:步数远超预期,CPU 时间线性膨胀 对策:定位最小单元、质量缩放、子循环 B. 接触开销过大 症状:单步耗时高,接触能量占比异常 对策:缩小接触面、改用自动单面、调整罚因子 C. 模型冗余 症状:大量单元远离关注区,仍参与计算 对策:刚体化、子模型、删除非关键部件 D. 输出与 I/O 负担 症状:写盘频繁,d3plot 体积巨大 对策:降低输出频率、选择性输出 优化目标:在精度可接受前提下压缩总耗时

三、四类常见效率问题的识别信号

诊断不是凭感觉,而是看数据。LS-DYNA 在 d3hsp 文件开头会打印初始时间步长、最小单元位置与单元号,运行中还会输出每步的 dt 与能量统计。以下是四类问题的典型信号与判断依据:

问题类型 关键观察量 典型阈值/信号 首选对策
A 时间步长被拖低 d3hsp 中的最小单元尺寸与位置 L_min 比平均尺寸小 5 倍以上 清理畸形单元、质量缩放
B 接触开销过大 接触能量 / 总能量、单步耗时 接触能量占比 > 15% 且持续上升 缩小接触面、改用罚函数接触
C 模型冗余 远离关注区的单元数占比 非关注区单元 > 40% 刚体化、子模型、删除
D 输出与 I/O 负担 d3plot 文件大小、写盘间隔 单次输出 > 500 MB 或间隔 < 0.5 ms 降低输出频率、选择性输出

四、优化目标如何设定

优化目标不能笼统写成"让计算更快",而应绑定到可度量的指标上。建议从三个维度设定:

  • 时间维度:以当前单次求解的墙钟时间为基线,设定目标压缩比例(例如 50%),并记录 CPU 核时。
  • 精度维度:选定一个关键响应量(如最大侵入量、峰值加速度、吸能量),要求优化前后偏差不超过 5%。
  • 稳定性维度:检查沙漏能占总能量比例 < 5%、质量缩放增加的质量 < 1%,避免"提速但失真"。
实操建议:先跑一个短时长(如 5 ms)的基线算例,记录 d3hsp 中的初始时间步长、最小单元位置、单步平均耗时与总步数。这四项数据就是后续所有优化的对照基准,没有基线就无法判断优化是否真正有效。