三维爆炸与冲击问题的大规模高性能计算研究
引言
爆炸与冲击问题是高速、高温、高压等极端条件下的瞬态动力学问题,常常涉及到材料的大变形、多种物质交界面处理及各种强间断的处理,对爆炸与冲击问题的数值模拟比通常的流体力学问题、空气动力学问题及结构动力学问题要复杂得多[1].爆炸与冲击问题的数值模拟按其采用的坐标可分为拉格朗日方法(Lagrange法)和欧拉方法(Euler法).Euler法网格固定,不存在因物质界面大变形产生网格扭曲.因此对于爆炸与冲击这类涉及多物质的大变形流场问题,采用Euler法具有显著的优势.对三维问题进行数值模拟一个突出问题是计算规模大,网格数多达千万以上,远远超出了单个计算机所能承受的范围,因此开展三维问题的并行计算研究尤为重要.
爆炸与冲击问题包括诸如空中爆炸、聚能射流形成及侵彻等一些列复杂问题.当采用Euler法的数值模拟计算时,如果对整个计算域计算,在扰动到来之前,空气介质或者靶板等区域的物理量不会发生变化.采用固定的区域分解的并行办法,容易出现负载不均衡的的情况.为了提高计算效率,各个进程尽量负载均衡,采用目前国际上主流的MPI(message passing interface)并行设计模式[2],设计出爆炸与冲击问题的动态并行程序.其具体实现方法是:初始计算域限定在一个能描述计算初始状态的最小区域内,随着扰动的传播扩大计算区域;同时考虑到负载均衡,根据计算区域动态的调整各个进程的计算范围以达到较好的负载均衡.
1 数学模型及数值方法
1.1 基本方程组
不考虑外力、外源和热传导,控制方程组为非守恒形式的Euler流体弹塑性动力学偏微分方程组如下[3]:
质量守恒方程:
动量守恒方程:
能量守恒方程:
1.2 数值方法
假定空间的计算域是一个长方体,分别在直角坐标系下的3个坐标维度上,将空间计算域离散成六面体网格.为了处理计算域周围的边界,保持程序编码的统一性,在其上、下、左、右各增加一排虚网格,所谓差分方法的边值条件,就是要给出虚网格上有关物理量.边界条件可按其边界类型给出,包括:连续性边界条件、固壁边界条件和自由面网格边界条件.时间的离散方法是满足CFL(courant-friedrichs-lewy)稳定性条件.对于双曲型方程组而言,即使给定的初始条件非常光滑,它的解也可能发展成间断或激波.因此在对流体运动进行数值计算时,必须要考虑处理间断解的问题.本文使用人工粘性捕捉激波的间断解捕捉法.
1.3 算子分裂算法
计算采用算子分裂算法,按照物理效应进行分裂,将控制方程中的3个守恒方程以对流相和扩散相分成两步[4].守恒方程(1)~(3)按照各项的属性,可以统一的表示成如下的形式:
式中,φ代表ρ(密度),e(能量)和u(速度)等物理量;左边第2项,即u·▽φ,就是对流项,φ也就是在空间上的通量;H为源项.物理效应意义上的算子分裂是指将每个形如式(4)的方程分裂成如下两个方程,在数值计算时也分成相应的两步完成:
在式(5)中,不考虑对流相的影响,只考虑源项的作用,得到网格各屋里来的中间值这一步称为Lagrange步;式(6)中考虑对流相的影响,通过计算网格间的输运量,对质量、动量及能量在网格上重新分配,这一步称之为Euler步或输运歩.
1.4 Euler输运
Euler输运歩是按照质量、动量及能量守恒的原则,在Lagrange歩基础上进行质量、动量及能量的重新分配.前人在界面跟踪算法方面提出了很多方法,应用的比较广泛的方法主要分为如下的4大类:格子类方法、波前追踪法、VOF方法和用函数描述分界面的方法.这些方法虽然在理论上都可以向三维扩展,但是真正操作起来并不简单,而且处理多物质介质时过于复杂.模糊界面处理方法[5]的主要思想是:在一个混合网格中,不区分物质界面;根据模糊方法计算体积比,把体积比作为模糊权重系数;根据输运质量和输运体积计算介质的密度;对网格进行分类,不同类网格之间视为物质界面;对介质进行模糊排序,决定输运优先权和模糊输运表;根据模糊权重α计算输运量;按模糊输运表进行输运.其主要过程有:介质分类、确定输运次序及输运量.
设计算域内含有N种介质,其编号为1,2,3,…,N,网格种类有按组合数计算共有+…+=2N种情况,分为如下情况:
第N类,N种介质的网格:N(1,2,3,…,N).
这样就得到了N种介质的所有网格的分类.
文章来源:《爆炸与冲击》 网址: http://www.bzycjzz.cn/qikandaodu/2021/0709/1303.html
上一篇:三维多物质弹塑性流体动力学方法的并行算法研
下一篇:爆炸与冲击征稿启事