三维爆炸与冲击问题的大规模高性能计算研究(3)
5)扩充过程中,若子区域npz-1的dkee=kmax/npz,则扩充无法继续进行,则必须调整所有子区域内部网格的位置,使得空闲网格如图3所示分布.
图4 初始数据定位Fig.4 Initial data location
3 MMIC3D动态并行程序测试
空中爆炸算例用来研究爆轰气体、冲击波在空气中的传播及其相互作用,涉及到炸药、空气等介质.为测试程序,设计了无限空气介质中爆炸场的模型.初始数据定位见图4,浅灰色为未反应区,沿着z方向分4个区.为了和经验公式比较,该模型采用球状装药,具体模型参数见表2.
表2 TNT装药模型Table2 The model of TNT chargem/Tr/mΔs/mL/m ×0.20×0.2040.0×40.0×80.0
爆轰产物主要参数见表3和表4.其中k0为爆轰产物的多方指数,k1是爆轰产物充分膨胀下的多方指数,b是调节系数.
表3 TNT炸药爆炸性能参数Table3 The performance parameter of TNT explosive detonationρ/(g/cm3)P/GPaD/(m/s)e0/(kJ/g) 7007.0
表4 TNT炸药可变指数多方气体状态方程参数Table4 The parameter of TNT explosive's state equation?
3.1 数值模拟结果分析
根据炸药在空气中爆炸的爆炸相似定律以及大量的实验结果,TNT球状装药(或形状相近的装药)在无限空气介质中爆炸时的空气冲击波峰值超压计算公式为[7]
以上各式中的ΔPm为空气冲击波峰值超压(0.1 MPa),w为有效装药量(kg),r为到爆炸中心的距离(m)=r/为对比距离.
图5为冲击波峰值随距离的变化曲线,从曲线可以看出两种并行方法所得到的结果基本一致,存在差异是由速度阈值、压力阈值所造成的数值误差所引起的.从图中还可以看出爆炸场冲击波峰值超压数值解与经验公式的计算结果在中远场上基本是吻合的,在距离较小时差异较大.
图5 冲击波峰值随距离变化曲线Fig.5 The overpressure versus distance from the centre of explosion
图6为距离爆心35 m处超压随着时间的变化曲线,二者吻合得相当好.从图中可以看出:在t=38 ms时距爆心35 m处的区域超压迅速增大,在很短的时间内达到峰值,并迅速衰减.进一步观察还可以看到负压区的存在,这些计算结果与实际情况是一致的.
图6 距爆心35 m处超压随时间变化曲线Fig.6 The overpressure at 35m versus time
3.2 加速比及并行效率
并行系统的加速比(speedup)是指对于一个给定的应用,并行程序的执行速度相对于串行程序的执行速度加快了多少倍,这也称为“绝对加速”(absolute speedup);对于给定问题,同一程序在单CPU的运行时间除以在多个CPU运行的时间,这样称为“相对加速”(relative speedup).本文采用相对加速的概念.加速比除以处理机个数,称为并行效率.加速比及并行效率在八节点机群下进行了测试,每个节点有两颗Intel的E5620 CPU,每颗CPU包含4个核,主节点24G内存,其余节点12G内存.
图7为不同进程下的加速比,从图中可以看出,随着进程数的增多,加速比相应的增大;利用八节点64进程时加速比为20左右,其并行效率为31%.并行效率不高的一个重要原因是通信开销所占的比重过大,如图8所示,随着进程数增多,通信时间在总计算时间的百分比逐渐上升,64进程所占的比重为44%.这是由于MMIC3D中每一个子模块中都有诸如密度、质量、速度、能量及动量等变量更新,而这些变量的变化会影响下一个子模块的计算,因此需要数据通信,通信频繁造成进程数较多时通信开销过大.
图7 不同进程数下的加速比Fig.7 The speedup versus the number of processors
图8 通信时间在总时间的百分比Fig.8 The percentage of communication time to the total time
相对于采用固定分区的静态并行程序,动态并行程序虽然增加一些额外的开销,但计算时间比静态并行程序小得多,单进程下计算2 000个时间步,动态并行计算时间为5 236 s,而静态并行程序计算时间为16 817 s.
4 结论
1)对于混合网格中物质界面的处理采用模糊界面处理方法,虽然该方法会使得混合网格中的物质界面变得模糊,采用并行计算,通过增大网格数,减小网格步长,可以有效解决这一问题.从空中爆炸算例可以看出,数值模拟结果与实验结果基本吻合.
2)对于Euler方法的数值模拟,采用动态并行方法,计算域随扰动传播而扩充,动态的调整子计算区域以达到负载均衡,相对于采用固定分区方法的静态并行程序,计算时间大大缩短.从空中爆炸的数值算例来看,动态并行结果与静态并行结果基本一致,所采用的动态并行方法是可靠的.
引言
爆炸与冲击问题是高速、高温、高压等极端条件下的瞬态动力学问题,常常涉及到材料的大变形、多种物质交界面处理及各种强间断的处理,对爆炸与冲击问题的数值模拟比通常的流体力学问题、空气动力学问题及结构动力学问题要复杂得多[1].爆炸与冲击问题的数值模拟按其采用的坐标可分为拉格朗日方法(Lagrange法)和欧拉方法(Euler法).Euler法网格固定,不存在因物质界面大变形产生网格扭曲.因此对于爆炸与冲击这类涉及多物质的大变形流场问题,采用Euler法具有显著的优势.对三维问题进行数值模拟一个突出问题是计算规模大,网格数多达千万以上,远远超出了单个计算机所能承受的范围,因此开展三维问题的并行计算研究尤为重要.
文章来源:《爆炸与冲击》 网址: http://www.bzycjzz.cn/qikandaodu/2021/0709/1303.html
上一篇:三维多物质弹塑性流体动力学方法的并行算法研
下一篇:爆炸与冲击征稿启事