3. 爆炸载荷的施加方法
在LS-DYNA中模拟爆炸对结构的作用,最常用的方式并不是直接建立炸药和空气网格做流固耦合,而是采用经验加载法,把爆炸波对结构的压力作用直接施加到结构表面。这样做的最大好处是计算量小、参数可控、便于做大量工况对比。本节围绕CONWEP经验模型、*LOAD_BLAST关键字、等效TNT当量换算、加载面选择以及爆炸距离与角度参数设置展开,目标是让读者能够独立完成一次爆炸载荷的定义。
一、CONWEP经验法的物理含义
CONWEP(Conventional Weapons Effects Program)是美国军方发展的一套常规武器爆炸效应经验公式集合,其核心是给出自由场爆炸和反射爆炸的超压、正压持续时间、冲量等参数随比例距离变化的经验关系。在LS-DYNA中,CONWEP模型并不求解爆炸流场,而是根据装药质量、爆心位置和受载面单元的位置与法向,逐单元计算入射压力和反射压力,再叠加到结构表面。
需要特别强调的是,CONWEP给出的是“面载荷”,它假设爆炸波以球面波形式传播,并考虑入射角对反射系数的影响。因此,使用CONWEP时结构表面必须定义正确的法向方向,否则反射超压会被错误放大或缩小。CONWEP适用于自由场爆炸、地面爆炸以及一定范围内的近场爆炸,对于复杂遮挡、多次反射或密闭空间内的爆炸,其精度会明显下降。
二、*LOAD_BLAST关键字的基本结构
在LS-DYNA中,CONWEP模型通过*LOAD_BLAST关键字激活,并配合*LOAD_SEGMENT或*LOAD_SEGMENT_SET把载荷施加到具体的单元面上。一个典型的定义形式如下:
*LOAD_BLAST
$# sid blast spref tstart tend ncyc
1 1 0 0.0 1.0E6 0
$# mass xc yc zc unit surfa
100.0 0.0 0.0 500.0 2 0
其中,mass为等效TNT装药质量,xc、yc、zc为爆心坐标,unit用于指定单位制(例如2表示厘米-克-微秒制),surfa用于选择加载面类型。*LOAD_BLAST本身只定义爆炸源,真正把压力传递到结构上的是*LOAD_SEGMENT或*LOAD_SEGMENT_SET,它们通过SID与*LOAD_BLAST关联。
实际建模时,通常先用*SET_SEGMENT把需要加载的结构表面单元收集为一个集合,再在*LOAD_SEGMENT_SET中引用该集合,并指定LCID或直接使用*LOAD_BLAST。需要注意的是,*LOAD_BLAST与*LOAD_SEGMENT_SET配合时,加载面的法向必须指向爆炸波来向,否则压力会施加在错误的一侧。
三、等效TNT当量换算
CONWEP和*LOAD_BLAST都要求输入TNT当量质量,而实际爆炸物可能是RDX、HMX、ANFO、丙烷或天然气等。因此必须先把实际装药换算为等效TNT质量。换算的基本关系是:
W_TNT = W_explosive × (ΔH_explosive / ΔH_TNT)
其中ΔH为爆热或爆轰能量。常用炸药的TNT当量系数可参考下表(示例值,实际使用时应以试验或手册数据为准):
| 炸药类型 | 密度(g/cm³) | TNT当量系数 |
|---|---|---|
| TNT | 1.63 | 1.00 |
| RDX | 1.77 | 1.14 |
| HMX | 1.89 | 1.20 |
| ANFO | 0.85 | 0.82 |
| 丙烷 | — | 0.95 |
例如,100 kg RDX按1.14换算,等效TNT质量约为114 kg。若采用厘米-克-微秒单位制,则质量应输入1.14E8(单位:克)。单位制不统一是初学者最常见的错误之一,务必在建模前确认*CONTROL_TERMINATION、*DATABASE和*LOAD_BLAST中的单位一致。
四、加载面选择与法向控制
加载面选择直接决定爆炸载荷作用在结构的哪一侧。对于板、壳结构,通常选择迎爆面;对于实体单元,则选择外表面。使用*SET_SEGMENT时,可以通过*DEFINE_SEGMENT或*SET_SEGMENT_GENERAL生成面集合。关键点是:面集合中每个段的方向由节点顺序决定,法向按右手定则确定。
如果法向指向爆心,则CONWEP计算的是正入射压力;如果法向背离爆心,则可能得到负压或错误结果。因此,在提交计算前,建议用LS-PrePost的“Segment Normal”功能检查面法向,必要时用*SET_SEGMENT中的SORT或重新排列节点顺序来翻转法向。
五、爆炸距离与角度参数设置
爆炸距离由爆心坐标(xc, yc, zc)和受载面单元位置自动计算,用户不需要逐单元输入距离。但爆心坐标必须与模型坐标系一致,且应位于结构外部。角度参数则通过*LOAD_BLAST中的surfa和*LOAD_SEGMENT_SET中的选项控制。surfa=0表示自由场爆炸,surfa=1表示地面爆炸(考虑地面反射),surfa=2表示自由场但忽略反射。
对于地面爆炸,爆心通常设置在地面上方一定高度,或直接设置在地面处并令surfa=1,此时CONWEP会自动考虑地面反射带来的超压增强。对于空中爆炸,则用surfa=0。若结构位于地面附近,建议同时考虑地面反射和结构自身反射,必要时通过*LOAD_BLAST_ENHANCED获得更精细的角度修正。
六、一个完整的加载示例
假设一块2 m×2 m×0.02 m的钢板,四边简支,板中心正上方1 m处有50 kg TNT爆炸。采用cm-g-μs单位制,建模流程如下:
- 建立钢板几何,划分壳单元,定义*SECTION_SHELL和*MAT_PLASTIC_KINEMATIC。
- 用*SET_SEGMENT收集钢板迎爆面单元,法向朝上。
- 定义*LOAD_BLAST:mass=5.0E7(50 kg=50000 g),xc=0,yc=0,zc=100(1 m=100 cm),unit=2,surfa=0。
- 定义*LOAD_SEGMENT_SET,SID指向面集合,LCID指向*LOAD_BLAST的ID。
- 设置*CONTROL_TERMINATION为500 μs,*DATABASE_BINARY_D3PLOT每10 μs输出一帧。
- 提交计算,用LS-PrePost查看板中心位移和塑性应变时程。
计算完成后,应重点观察板中心的最大挠度、是否出现撕裂以及塑性铰线的位置。若最大挠度远小于经验公式估算值,应检查单位制、面法向和爆心坐标是否正确。若压力时程出现异常尖峰,则可能是面法向错误导致反射系数被错误计算。
通过上述流程,读者可以完成从装药换算、关键字定义、加载面选择到结果判读的完整闭环。实际工程中,建议先用一个简单平板算例验证单位制和面法向,再推广到复杂结构。对于多爆源或移动爆源,可以通过定义多个*LOAD_BLAST并分别关联不同的*LOAD_SEGMENT_SET来实现。