2. LS-DYNA爆炸分析基础环境
爆炸载荷分析在LS-DYNA中属于典型的非线性显式动力学问题:炸药爆轰在微秒级释放能量,冲击波以数千米每秒在空气或水中传播,结构在毫秒级内发生大变形甚至失效。要跑通这类问题,必须先理解显式求解器“为什么这样算”,再解决单位制、关键字文件组织、前后处理工具链这三个工程落地问题。本节围绕这四点展开,并给出一个可直接搭建的最小算例。
显式动力学求解逻辑:为什么不用隐式
LS-DYNA的核心是中心差分时间积分。它把运动方程 M·a = F_ext − F_int 在每个时间步直接求解加速度,再逐步积分得到速度和位移。由于质量矩阵M采用集中质量(对角化)处理,求逆只需逐节点相除,无需组装和求解大型线性方程组,因此单步计算量极小。代价是时间步长受稳定性条件限制,即Courant条件:
Δt ≤ Δt_crit = L_min / c
c = sqrt(E / ρ) (弹性波速,E为弹性模量,ρ为密度)
其中L_min是网格中最小单元的特征长度,c是材料声速。这意味着网格越小、材料越硬,时间步越小。爆炸问题中炸药和空气网格往往只有毫米级,时间步常在10⁻⁹~10⁻⁸ s量级,总物理时间1~10 ms,因此需要数十万到数百万步。这正是显式方法适合爆炸分析的原因:它用大量廉价小步替代少量昂贵大步,且天然处理接触、大变形和材料失效。
与隐式方法的关键区别在于:显式不需要迭代收敛判断,不存在不收敛问题,但必须控制沙漏(hourglass)和保证质量缩放(mass scaling)不引入过大惯性误差。爆炸分析中通常关闭质量缩放,或仅对极小单元做有限缩放,并监控能量比(滑移能、沙漏能与总能量之比)。
单位制选择:一致单位制是前提
LS-DYNA本身不强制单位,但要求所有输入量属于同一套一致单位制。爆炸分析常用两套:
| 物理量 | mm-ms-kg-GPa 制 | m-s-kg-Pa 制 |
|---|---|---|
| 长度 | mm | m |
| 时间 | ms | s |
| 质量 | kg | kg |
| 力 | kN | N |
| 应力/压力 | GPa | Pa |
| 密度 | kg/mm³(如钢7.85e-6) | kg/m³(如钢7850) |
| 能量 | kJ | J |
推荐爆炸分析使用mm-ms-kg-GPa制,因为炸药和空气网格尺寸以mm计,时间以ms计,数值范围适中。需特别注意:TNT密度约1.63e-6 kg/mm³,空气密度约1.29e-9 kg/mm³,爆速约6930 m/s即6.93 mm/ms。若混用单位,最常见错误是把钢密度写成7850(这是kg/m³),在mm制下会放大10⁹倍,导致时间步趋近于零、计算无法进行。
关键字文件结构:K文件如何组织
LS-DYNA输入文件(K文件)由一系列关键字块组成,每个块以*开头,块内数据行按固定字段格式排列。爆炸分析典型K文件结构如下:
*KEYWORD
*CONTROL_TERMINATION $ 终止时间,如 5.0 ms
*CONTROL_TIMESTEP $ 时间步控制,TSSFAC=0.9
*CONTROL_ENERGY $ 能量监控
*DATABASE_BINARY_D3PLOT $ 结果输出间隔
*DATABASE_GLSTAT $ 全局能量曲线
*SECTION_SOLID $ 实体单元算法,ELFORM=1
*MAT_HIGH_EXPLOSIVE_BURN $ 炸药材料,含爆速、CJ压力
*EOS_JWL $ 炸药状态方程
*MAT_NULL $ 空气材料
*EOS_LINEAR_POLYNOMIAL $ 空气状态方程
*PART $ 部件定义,关联SECTION与MAT
*INITIAL_DETONATION $ 起爆点坐标与起爆时间
*SET_NODE_LIST $ 节点集,用于约束或输出
*BOUNDARY_SPC_SET $ 边界约束
*CONTACT_AUTOMATIC_SURFACE_TO_SURFACE $ 接触
*END
关键字块之间通过ID相互引用:PART引用SECTION和MAT,SET引用节点或单元,CONTACT引用PART或SET。这种“定义—引用”结构要求ID唯一且不冲突。实际工程中常把K文件拆分为主文件加若干include文件,用*INCLUDE组织,便于多人协作和参数化替换。
前处理与后处理工具链
前处理负责几何清理、网格划分、关键字生成。常用组合:LS-PrePost(免费,直接生成K文件)、HyperMesh(复杂模型网格质量高)、ANSYS Workbench(与LS-DYNA集成)。爆炸分析前处理的关键点:炸药与空气共节点或采用流固耦合(*CONSTRAINED_LAGRANGE_IN_SOLID),空气域边界需设无反射边界(*BOUNDARY_NON_REFLECTING)以避免冲击波反射干扰。
后处理负责结果提取与判读。LS-PrePost可查看压力云图、位移时程、能量曲线;关键判据包括:结构迎爆面超压峰值、背爆面位移、塑性应变是否超过失效应变、全局能量是否守恒(总能量波动应小于5%)。若沙漏能超过总能量5%,需检查网格或调整沙漏控制。
最小算例搭建:从零到可运行
下面给出一个可运行的最小爆炸算例配置思路,模型为1 kg TNT在空气中爆炸,距离10 mm处有一块300 mm×300 mm×10 mm钢板。采用mm-ms-kg-GPa制。
第一步,建立空气域。尺寸取600 mm×600 mm×600 mm,六面体网格,单元尺寸5 mm,共约172万单元。空气用*MAT_NULL,密度1.29e-9 kg/mm³,用*EOS_LINEAR_POLYNOMIAL描述理想气体,C4=C5=0.4,C0=C1=C2=C3=C6=0,E0=2.5e-4 GPa·mm³/mm³量级。外边界设*BOUNDARY_NON_REFLECTING。
第二步,建立炸药。球形或立方体装药,用*MAT_HIGH_EXPLOSIVE_BURN,密度1.63e-6 kg/mm³,爆速D=6.93 mm/ms,CJ压力PCJ=21 GPa。配合*EOS_JWL,典型参数A=371 GPa,B=3.23 GPa,R1=4.15,R2=0.95,ω=0.30,E0=7.0 GPa。起爆点用*INITIAL_DETONATION指定在装药中心,起爆时间0。
第三步,建立钢板。用*MAT_PLASTIC_KINEMATIC,密度7.85e-6 kg/mm³,弹性模量210 GPa,泊松比0.3,屈服强度0.35 GPa,切线模量2.1 GPa,失效应变0.3。钢板四边用*BOUNDARY_SPC_SET约束法向位移。
第四步,定义接触。炸药与空气、空气与钢板之间采用*CONTACT_AUTOMATIC_SURFACE_TO_SURFACE,或更高效的流固耦合*CONSTRAINED_LAGRANGE_IN_SOLID。若采用共节点方式,则炸药、空气、钢板网格在界面处共享节点,可省略接触,但要求网格协调。
第五步,控制与输出。*CONTROL_TERMINATION设终止时间5 ms;*CONTROL_TIMESTEP设TSSFAC=0.9,关闭质量缩放;*DATABASE_BINARY_D3PLOT设输出间隔0.05 ms;*DATABASE_GLSTAT和*DATABASE_MATSUM输出能量曲线。
提交计算后,首先检查d3hsp文件中的初始时间步和总步数。若时间步小于1e-9 s,说明最小单元过小或材料声速过高,需检查网格。计算完成后,在LS-PrePost中打开d3plot,查看钢板中心节点的位移时程和迎爆面压力时程。若背爆面位移在5 ms内达到数十毫米且未出现负体积,说明模型基本合理;若沙漏能曲线持续上升超过总能量5%,需增加沙漏控制系数或细化网格。