采用物质点法模拟超高速撞击问题时,采用大规模的物质点模型能够得到更为精确的计算结果,但目前的串行物质点程序计算限制了计算规模和计算效率,因此,开展并行物质点算法和程序研究对于超高速撞击问题的分析有着重要的意义。按照计算机的体系不同,存在两种并行编程技术:一种是适合于分布式存储的MPI技术,一种是适合于共享存储的OpenMP技术。现有的物质点法并行程序大多基于MPI技术开发,一般采用计算域的区域分解方法。由于MPI技术对程序的改动量较大,而且需要复杂的通信机制和动态负载平衡技术,因此基于MPI的并行物质点法程序往往需要多人多年开发完成。
本课题组基于共享内存的OpenMP技术进行并行物质点算法及其应用研究,OpenMP基于共享内存,避免了复杂的信息传递,但是OpenMP的共享内存往往会导致数据竞争问题,我们针对物质点法并行中的数据竞争问题提出了两种OpenMP并行算法:数组扩展法和背景网格区域分解法。采用这两种算法有效避免了物质点法OpenMP并行化中的数据竞争问题。基于我们给出的并行算法和程序,进一步开展了超高速撞击问题的大规模并行计算研究。
针对Taylor杆碰撞问题,用不同规模的计算模型在双Intel Woodcrest 4核CPU服务器下进行了测试,显示出较好的并行效率和可扩展性。图1给出了碰撞前后Taylor杆的变形和塑性应变,图2给出了不同规模模型的并行效率。
(a) 撞击前 (b) 撞击后
图1 Taylor杆的变形和塑性应变
图2 并行效率
由于网格畸变的原因,传统的有限元方法无法有效模拟超高速冲击中的碎片云现象。我们采用并行物质点法对一个铅弹超高速撞击铅靶的问题进行模拟。铅弹半径为7.5 mm,弹丸质量为20 g,靶厚为6.35 mm,弹丸的撞击速度为 6.58 km/s。材料的偏应力采用了各向同性强化弹塑性模型,压力采用Mie-Grüneisen状态方程计算,并采用了塑性应变失效和拉应力失效模型来模拟材料的失效。图3比较了分别由并行物质点法和由实验得到的碎片云。质点数为13542030。
(a) 并行物质点法结果 (b) 实验结果(Anderson C E Jr, et al. IJIE, 1990, 9: 89-113)
图3 撞击后30.6微妙时的碎片云
- 黄鹏,张雄,马上,王汉奎. Shared Memory OpenMP Parallelization of Explicit MPM and Its Application to Hypervelocity Impact. CMES: Computer Modelling in Engineering & Sciences. 38(2): 119-148, 2008
- 黄鹏,张雄,马上. 基于Openmp的三维显式物质点法并行化研究. 计算力学学报, 2010, 27:21-27
- 黄鹏. 金属及岩土冲击动力学问题的物质点法研究. 清华大学博士学位论文,2010年6月