1. 大型模型并行求解工程导论
当整车碰撞模型单元数达到 800 万~2000 万、爆炸冲击模型需要覆盖数十米空气域、金属成形模具网格细化到 0.2 mm 时,单核求解已经无法在工程周期内给出结果。LS-DYNA 的并行求解能力,正是把这类"算不动"的问题变成"算得完"的关键。本章先建立整体认知:求解器内部如何分工、并行在哪些工程场景中真正产生价值、本课程用什么对象贯穿始终,以及后续 29 章的学习路线。
1.1 显式与隐式:两种求解器的架构差异
LS-DYNA 的核心是显式时间积分(Explicit)与隐式时间积分(Implicit)两套求解路径,它们对并行的需求方式完全不同。
显式求解基于中心差分法,求解 M·a = F_ext − F_int。由于质量矩阵 M 通常被集中化(lumped),无需组装和求解整体刚度矩阵,每个时间步只做单元内力计算和节点矢量更新。时间步长受 Courant 条件限制:Δt ≤ L_min / c,其中 L_min 是最小单元特征长度,c 是材料声速。这意味着显式求解天然是"小步快跑"——整车碰撞典型步长约 0.5~1 μs,总步数可达 10⁶ 量级。它的并行瓶颈不在矩阵求解,而在接触搜索和单元计算的负载均衡。
隐式求解需要求解 K·Δu = R,每步都要组装切线刚度矩阵 K 并做大规模线性方程组求解。它的并行瓶颈在矩阵组装、稀疏矩阵分解和迭代收敛。金属成形回弹、结构静力、模态分析等场景通常走隐式路径。
两者的并行策略因此分道扬镳:显式以区域分解(Domain Decomposition)为主,把网格切成子域分给各 MPI 进程;隐式则更多依赖并行直接求解器(如 MUMPS、PARDISO)或迭代求解器配合区域分解预条件。
1.2 并行求解在三大工程场景中的价值
整车碰撞是最典型的显式大规模场景。一个含 1200 万单元的整车模型,若用 1 核计算,按每步 0.8 μs、总时长 120 ms 估算,需要约 1.5×10⁸ 个时间步;即使每步仅 1 ms,总机时也超过 40 小时。使用 64 核 MPI 并行后,理想情况下可压缩到 40 分钟量级。但实际加速比受接触搜索通信、子域边界节点交换和负载不均衡影响,64 核通常只能达到 35~45 倍加速。理解这个差距从何而来,正是并行工程的核心。
爆炸冲击涉及流固耦合(ALE / S-ALE),空气域网格往往远大于结构网格。并行时,空气域的区域分解需要与结构域协调,耦合面的数据交换成为额外通信开销。此外,爆炸波传播对时间步长极为敏感,并行分区若切断了冲击波阵面,会引入数值误差。
金属成形(冲压、锻造)常采用隐式或显式-隐式联合求解。成形阶段用显式处理大变形接触,回弹阶段切换到隐式求解残余应力释放。这种"显式-隐式切换"对并行框架提出更高要求:两套求解器的分区策略需要兼容,否则切换时需重新分区,带来额外开销。
1.3 课程项目对象与学习路线
本课程以一个整车侧面碰撞模型为主线对象,贯穿全部 30 章。该模型包含:白车身(约 450 万壳单元)、车门与内饰(约 180 万单元)、刚性墙与移动壁障、焊点与粘胶连接、以及简化的假人模型。模型总单元数约 700 万,初始时间步约 0.7 μs,碰撞时长 120 ms。
学习路线按"认知 → 配置 → 调优 → 排障 → 复盘"推进:
- 第 1~5 章:建立并行求解的整体认知,理解显式/隐式架构、MPI/OpenMP 混合并行模型、区域分解原理。
- 第 6~12 章:掌握 LS-DYNA 并行运行的实际配置——
*CONTROL_MPP_DECOMPOSITION关键字、进程绑定、内存分配、许可证与队列提交。 - 第 13~20 章:深入性能调优——接触搜索并行化、负载均衡策略、通信优化、I/O 并行、GPU 加速。
- 第 21~26 章:典型故障排查——分区失败、负体积、接触穿透、内存溢出、加速比异常。
- 第 27~30 章:综合案例复盘与工程规范沉淀。
d3hsp 和 messag 文件中的并行统计信息,把"看结果"变成"读日志、算加速比、定位瓶颈"。
1.4 一个可观察的并行指标:加速比与效率
衡量并行效果最直接的指标是加速比 S(n) = T(1) / T(n) 和并行效率 E(n) = S(n) / n。以整车碰撞模型为例,假设单核运行 40 小时,32 核运行 1.5 小时,则 S(32) = 26.7,E(32) = 83.4%。若 64 核运行 1.1 小时,S(64) = 36.4,E(64) = 56.9%——效率明显下降,说明通信或负载均衡已成为瓶颈。
后续章节会反复用到这两个指标。读者应养成习惯:每次调整并行参数后,记录核数、墙钟时间、加速比和效率,形成自己的性能档案。这比记住任何一条"最佳实践"都更有价值。