三维有限体积TVD方法与冲击波的多级扩散研究
doi: 10.11883/1001-1455(2000)01-0019-6
-
摘要: 将TVD方法应用到三维,给出三维有限体积TVD方法,并对三维冲击波的多级坑道扩散问题进行了数值模拟,取得了令人满意的结果。
-
人工智能(artificial intelligence,AI)是能够和人一样进行感知、认知、决策和执行的人工程序或系统,是新一轮科技革命和产业变革的重要驱动力量。我国在人工智能方面取得了长足进步,集群作战、有人/无人协同作战、智能自主作战等新型作战方式不断涌现,各类新装备层出不穷,作战领域正在发生前所未有的深刻变革[1];国外的人工智能也在高速地发展,如美国国防高级研究计划局(Defense Advanced Research Projects Agency,DARPA)研制的无人水面艇[2],能够自动航行数月、自己设定目标,并且无需指定航线就能理解周围舰船的行为;2022年,美国洛斯阿拉莫斯国家实验室发布了系列报告[3],介绍了实验室未来材料战略的7大领航领域,其中在材料设计和模型开发领域力求使用机器学习人工智能方法实现材料设计和相关驱动预测,并给出了未来6~10年的研究目标。
机器学习技术是现代人工智能系统的基础和核心,它使计算机系统能够通过识别和利用现有知识来获取新知识和新技能,赋予了机器从数据中学习潜在规律的能力。在过去几十年里,机器学习影响了许多领域,如自动驾驶[4]、医疗保健[5]、金融[6]、智能制造[7]、能源[8]等。在自然科学领域,机器学习被广泛应用于物理学的多个分支,包括统计物理学[9]、凝聚态物理学[10]、生物物理学[11]、天体物理学[12]等。在材料科学领域,机器学习快速发展,已被应用于加速高应变的连续尺度脆性断裂模拟[13]、多晶金属延性损伤模型参数预测方法[14]、平衡相变[15]等的研究中;而在计算流体力学领域,机器学习也有了大量应用,例如刘泮宏[16]研究了训练集和测试集数据来自不同几何模型时机器学习模型对湍流演化的预测能力,刘永泽[17]实现了舰船毁伤特性的快速准确预测,张筱迪[18]对不同温度和跌落工况下混凝土楼板的动态响应做出了深入分析。
爆轰驱动问题是材料、结构或产品在炸药爆炸作用下的复杂流动变形问题,是高度非线性的瞬态动力学问题。其典型时刻和典型位置的热力学状态受初始状态或工程因素的影响,可通过动态诊断测试设备或数值模拟获取。本文中,利用机器学习技术,建立物理模型输入参数与输出参数之间的黑箱式映射关系,即端到端代理模型,从而实现实验状态参数的高效预测:在离线阶段,使用比较昂贵的大规模数据(来自数值模拟或实验)和计算资源训练物理模型的代理模型;在在线阶段,使用相对轻量的代理模型替换数值模拟过程,实现敏捷迭代和快速预测。针对爆轰驱动问题,以数值模拟结果为机器学习的训练数据源,基于深度神经网络建立端到端代理模型,以期为爆轰驱动问题的实验设计与快速预测提供技术支撑。
1. 基于深度神经网络的机器学习方法
常规拟合函数,如多项式函数、线性函数、指数函数、对数函数等,可以解析求导,其描述的行为偏线性,对特定问题有较强的拟合能力,但总体上常规拟合函数的表达能力十分有限。与常规拟合函数相比,深度神经网络拟合函数的特点是表达能力强,描述的行为非线性,参数集非常大,可半解析求导,对于通用问题具备较强的拟合能力,其表现形式为:
{y=f(x,θ)=a(N)⋅W(N)+b(N+1)θ=(W(0),b(1),W(1),b(2),W(2),b(3),W(3),b(4),⋯,W(N),b(N+1))a(0)=xa(1)=tanh(a(0)⋅W(0)+b(1))a(2)=tanh(a(1)⋅W(1)+b(2))a(3)=tanh(a(2)⋅W(2)+b(3))a(4)=tanh(a(3)⋅W(3)+b(4))⋮a(N)=tanh(a(N−1)⋅W(N−1)+b(N)) (1) 式中:y为神经网络的输出结果;x为输入变量;a(k)为迭代函数,上标k=0,1,···,N,N为迭代层数;θ为输入序参量,包含一次拟合线性项W(k)和线性拟合常数项b(k+1)。
神经网络的体系结构是一个多层前馈网络,由数个隐示层(hidden layer)连续堆叠而成,这种多层结构使神经网络能够学习做出准确预测所需的关键特征。深度神经网络本质上是一组带有权值的边和节点组成的相互连接的层,称为神经元,如图1所示,其中:x1~x3为神经网络的输入值,y为输出值。训练过程开始前,每组神经元会被赋予一个随机权重,以保证同层不同神经元的行为不会趋同;训练过程中,如果网络不能准确实现输入到输出的映射时,系统将按照选定的最优化算法调整神经元权重;经过充分的训练后,由神经元权重表达的输出模式(如图2所示)就能较好地近似训练数据集中输入和输出的映射关系。图2中箭头上的数字为权重,红色箭头和节点表示对输出的影响可以忽略的网络结构。图2同时展现了神经网络结构的自组织性。神经网络持续将低维向量非线性映射到高维空间,不断寻找特征、压缩数据,将模型参数放入高维空间中,它能在不同参数下生成模型,即神经网络本身可作为代理模型使用。神经网络一般包括3部分,即显示层(输入变量)、隐示层和显示层(输出变量),隐示层的描述通常包含隐示层的深度和宽度,如图3所示。
影响机器学习代理模型精度的因素很多,包括数据、优化算法、网络结构等。机器学习所需的数据分为2个子集:第1个子集被称为训练数据集,用于拟合代理模型;第2个子集称为测试数据,不在模型训练过程中使用,而是作为代理模型行为的期望,用于测试训练完成的模型的预测能力。机器学习方法中不同的优化算法也会对代理模型的计算结果产生影响,为了进一步说明,对比分析了BFGS(Broyden-Fletcher-Goldfarb-Shanno)和ADAM(adaptive moment estimation)2种算法。其中BFGS算法由Broyden[19]、Fletcher[20]、Goldfarb[21]和Shanno[22]在20世纪70年代初提出,主要针对无约束优化问题,通过目标函数和一阶导数构造出目标函数的曲线近似,具有收敛速度快的优点,是一种比较常用的牛顿算法。ADAM算法是一种基于低阶自适应矩估计的随机目标函数的一阶梯度优化算法[23],通过对梯度指数的加权平均实现对网络的平滑处理、降低梯度的摆动幅度,适用于含大规模数据和参数的优化问题,相比于传统梯度下降法,收敛速度更快、效果更好,能提高算法的整体性能。图4比较了爆炸加载波形的数值模拟结果与2种优化算法的结果,其中:实线为模拟结果,虚线为算法优化结果。可以看出,相较于BFGS算法,ADAM算法的结果更接近数值模拟结果,因此,本文的机器学习均采用ADAM算法。深度神经网络的超参数选择,特别是神经网络隐示层深度(dh)和隐示层宽度(wh)的取值,也会对代理模型的计算结果产生影响。这里以一个算例来进行说明。机器学习的数据来源于双变量函数y1=sinθ1cosφ,其中:y1为函数;θ1为第1个变量,θ1∈[−π/2, π/2];φ为第2个变量,φ∈[−π/2, π/2]。输出数据维度为200×200,使用ADAM优化算法获得基于神经网络的机器学习代理模型。选取6种不同(dh, wh)组合,比较代理模型与解析解之间的差异,结果如图5所示,其中:实线表示解析结果,虚线表示代理模型的输出。表1给出了代理模型与解析解之间的标准误差,可以看出,不同的超参数可能使代理模型的预测标准误差相差数倍。
表 1 不同神经网络结构对代理模型的计算效果分析Table 1. Analysis of calculation effect of surrogate model with different neural network structures组合序号 dh wh 标准误差 0 10 20 3.8845 ×10−31 15 20 3.4626 ×10−32 10 15 4.4272 ×10−33 10 25 3.3092 ×10−34 5 15 2.3908 ×10−35 15 25 1.0031 ×10−22. 爆轰驱动问题中的机器学习代理模型及其验证
2.1 数值模拟模型及代理模型构建
数据是代理模型的基础,其来源主要有实验采集、理论计算和数值模拟。针对爆轰驱动问题,只考虑单因素(炸药与内壳之间的间隙厚度)影响,采用爆炸与冲击动力学方法[24-25]进行数值模拟,模拟结果用于代理模型的训练数据源。
单因素影响的爆轰驱动模型(图6)是轴对称模型,其中外壳和内壳的材料为铜,炸药的初始起爆点为底部壳体的内侧中心位置,炸药与内壳之间的间隙厚度为h,取值范围为0~5 mm,测点P1和P2分别位于外壳底部外界面的中心位置和外壳右侧外界面的中心位置。数值模拟中,输出h分别为0、1、2、3、4和5 mm工况下P1和P2的速度-时间(t≤25 µs)曲线,同时每间隔1 µs输出内、外壳体材料的变形分布,这2套数据用于机器学习代理模型的训练。数值模拟的计算域为12 cm×20 cm,网格尺寸为0.1 mm,每一个模型的串行计算机时约为45 h。
采用3种不同的机器学习代理模型。第1种为速度(v)剖面代理模型,可表示为:
v=f(h,t) (2) 第2种为速度反函数代理模型,可表示为:
h=f−1(v,t) (3) 第3种为流场中材料动态时空分布代理模型,可表示为:
Z=G(h,cx,cy,t) (4) 式中:v为速度,t为时间,Z为体积分数,G为任意多元函数,cx和cy为空间坐标。
采用如图3所示的深度神经网络代理模型,根据具体问题中的数据集规模、输入/输出数据的维度、数据分布特征等因素调整隐示层深度(dh)和宽度(wh)这2个参数。模型参数的选取原则为:(1) 数据集规模较小、输入/输出数据维度较低时,为减轻过拟合现象,不宜采用大规模的神经网络模型,即应选取较小的dh和wh;(2) 输入数据与输出数据之间的映射关系越接近线性,越容易被小规模的神经网络模型描述,即可选择较小的dh和wh;(3) 如果同一组数据集可以训练多个代理模型,然后再选择其中最有效的一个,则应在满足精度要求的前提下,尽可能选择规模更小的模型,即选择dh和wh更小的模型配置。在速度剖面(速度-时间曲线)代理模型和速度反函数代理模型中,dh=8、wh=20;在流场中材料动态时空分布代理模型中,dh=16、wh=50。
代理模型在训练过程中接收输入的数值模拟数据。在速度剖面代理模型和速度反函数代理模型中,自变量为2个,且输入数据具有典型的一维特征,规模较小;在流场中材料动态时空分布代理模型中,自变量有4个,输入数据涉及空间位置坐标,与数值模拟的网格数相关,规模较大。在代理模型的构建过程中,考虑到速度剖面和材料空间分布的取值均可能接近零,此时,相对误差无法定义,因此,采用更具普适性的均方误差(mean square error,MSE)作为损失函数。同时,为了限制神经网络模型的过拟合程度,采用L2正则化优化模型参数。在评估代理模型的预测效果时,依旧采用了相对误差。
2.2 代理模型的计算精度及其预测能力分析
图7显示了h分别为0、1、2、3、4和5 mm工况下测点P1和P2的速度剖面。可以看出,P1的速度剖面比较光滑,P2的速度剖面出现明显的层裂现象,说明P2处的外界面材料存在局部拉伸情况。图8比较了采用速度剖面代理模型计算的P1和P2的速度剖面与训练点上的数值模拟结果,其中,为清晰地展示速度剖面曲线上的波动特征,图8(b)采用增量层叠的方式放置曲线。表2给出了速度剖面代理模型在训练点上的相对误差(为避免除零错误,本文中所有速度剖面的相对误差均采用有效时间内的积分作为分母),均小于0.01%,可见其精度极高。
表 2 训练点上速度剖面代理模型计算的相对误差Table 2. Relative errors of velocity surrogate model calculation at training pointsh/mm 相对误差/% P1 P2 0 0.0034 0.0040 1 0.0078 0.0094 2 0.0063 0.0036 3 0.0057 0.0014 4 0.0027 0.0094 5 0.0035 0.0067 以预测点上相关物理量的计算精度评估代理模型的预测能力,图9给出了h分别为0.5、1.5、2.5、3.2、4.7 mm工况下采用速度剖面代理模型计算的P1和P2的速度剖面,并与数值模拟结果进行比较。从图9可以看出,P1处,代理模型预测的速度剖面与数值模拟结果吻合良好;P2处,预测的层裂现象出现时刻与数值模拟结果存在差异,说明代理模型对于材料破坏行为的预测能力还存在不足。表3给出了速度剖面代理模型在预测点上的相对误差,可以看出,P1处(没有层断裂),机器学习代理模型预测的速度剖面精度很高,相对误差小于0.01%;P2处(有层断裂),代理模型预测的精度明显降低,相对误差在0.1%~1.0%之间。根据式(2),给出h和t,瞬间就能给出v,一条上百个点的速度曲线的计算机时不到1 s。
表 3 预测点上速度剖面代理模型计算的相对误差Table 3. Relative errors calculated by velocity surrogate model at prediction pointsh/mm 相对误差/% P1 P2 0.5 0.0571 0.6665 1.5 0.0524 0.8081 2.5 0.0034 0.4332 3.2 0.0116 0.1963 4.7 0.0129 0.1669 如果已知P1和P2的速度剖面,可通过式(3)获得h。为了检验速度反函数代理模型对h的计算分辨能力,在训练点h=1.00 mm和预测点h=2.50 mm附近(偏离±2%)分别取2个点h=0.98 mm、h=1.02 mm以及h=2.45 mm、h=2.55 mm,即h取0.98、1.00、1.02、2.45、2.50和2.55 mm,数值模拟给出了P1的速度剖面(图10)作为输入,采用训练好的速度反函数代理模型计算h。经过
5×104 个循环步后,计算结果为:h取0.98、1.00和1.02 mm(训练点及附近)时,速度反函数代理模型计算的h分别为0.97502 、1.00003 和1.01923 mm,相对误差分别为0.510%、0.003%和0.075%;h取2.45、2.50和2.55 mm(预测点及附近)时,模型计算的h分别为2.43476 、2.48727 和2.53592 mm,相对误差分别为0.62%、0.51%和0.56%。可以看出,速度反函数代理模型在训练点和预测点附近计算的h有很高的计算精度。根据式(3),给出速度剖面,h优化迭代的计算机时约为6 min。对于爆炸力学流场,用于代理模型训练的输入数据为h、内外壳体材料的体积分数和t,h取0、1、2、3、4、5 mm, t取0、1、2、3、···、25 µs,共计156组数据。采用流场中材料动态时空分布代理模型,深度神经网络的dh和wh分别取16和50,计算流场的体积分数。图11给出了t=25 µs时代理模型计算的材料的空间分布,并与数值模拟结果进行对比。表4给出了流场中材料动态时空分布代理模型计算的流场体积分数与数值模拟结果的标准差以及相对误差(体积分数为0~1之间的无量纲数),可以看出,在训练点上标准差小于6.4%,相对误差小于1%,计算精度较高。图12为预测点(h取0.25、1.50、3.75、4.75 mm)上不同时刻流场中材料动态时空分布代理模型计算的流场体积分数,并与数值模拟结果进行比较,二者吻合较好。
表 4t =25 µs时训练点上流场中材料动态时空分布代理模型计算的标准差和相对误差Table 4. Standard and relative errors calculated by the material distribution surrogate model at training points at t=25 μsh/mm 标准差 相对误差/% 0 5.99×10−2 0.3953 1 5.81×10−2 0.2721 2 5.95×10−2 0.0955 3 6.15×10−2 0.3082 4 6.30×10−2 0.3415 5 6.39×10−2 0.2211 双因素影响的爆轰驱动模型如图13所示,其中:c为有机玻璃厚度,d为有机玻璃与炸药之间的间隙厚度,c取0、1、2、3、4、5 mm,d取0、1、2 mm,共计18组数据。深度神经网络中,根据v = f(c, d, t),dh和wh分别取8和20,获得速度,P1处的速度剖面如图14所示;根据Z = G(c, d, cx, cy, t),dh和wh分别取16和50,获得流场体积分数。图15给出了c=1 mm、d=1 mm、t=25 µs时代理模型计算的流场体积分数,并与数值模拟结果进行比较,二者符合良好。
3. 结 论
应用人工智能机器学习技术,对深度神经网络优化算法进行了初步探索,以典型爆轰驱动问题为算例,构建了基于数值模拟数据的端到端代理模型,并给出了代理模型的计算精确度,验证了代理模型从速度剖面反演工程因素的能力。为验证深度学习代理模型的预测能力,基于一种单影响因素典型爆轰驱动模型,在数字模拟生成的数据上训练和测试了深度学习代理模型的预测误差和计算效率。测试表明:端到端代理模型具有较高的预测能力,相对误差均小于1%,可用于高度非线性的爆轰驱动问题的快速设计、高精度预测和敏捷迭代,是深度学习技术和爆炸与冲击动力学融合的有效尝试。在另一种双影响因素典型爆轰驱动模型上所进行的测试中,深度学习代理模型依然能够与数值模拟数据符合良好,表明所提出的端到端深度学习代理模型可以在一定程度上推广到多影响因素爆轰驱动模型。考虑到多影响因素模型的复杂性,深度学习代理模型在不同场景中是否适用以及应该如何应用,将是进一步研究的重要问题。
感谢中国工程物理研究院流体物理研究所实验物理数值模拟创新研究中心原职工张恒第在计算程序实现上提供的帮助。
-
计量
- 文章访问数: 2036
- HTML全文浏览量: 127
- PDF下载量: 82
- 被引次数: 0