Page 105 - 《爆炸与冲击》2026年第4期
P. 105
第 46 卷 李般若,等: 基于GNN的爆炸压力时空分布预测模型 第 4 期
式中:v 为节点集中的某一节点;e 为连接节点 v 和 i v 的边;多层感知机 MLP nod e 将节点的压力(p)、流速
j
i
j
i
(u 、u 、u )、坐标(x、y、z)和节点类型(N )编入节点中;多层感知机 MLP e 通过记录相邻节点的坐
x y z nodeType edg
标差值(Δx 、Δy 、Δz ),完成对节点之间的邻接关系向边中的映射。
ij ij ij
处理过程:处理过程中包含用于信息传递的 GNN 模块。这些 GNN 模块通过 MLP 将节点与边的特
征信息进行融合并更新为一个新的图数据结构,重复调用 GNN 模块进行 L 次信息融合,实现图中各类
特征信息更新至下一个时间步的过程,完成爆炸冲击流场传播的隐式模拟。信息融合过程中的 GNN 模
块原理如下:
E
′
e ← f (e ij ,v i ,v j ) (3)
ij
( )
∑
′
v ← f V v i , e ′ (4)
i ij
j
f E 将 e 、v 和 i j e ′ ;再通过多层感知
多层感知机 ij v 在某一时刻下的信息进行融合更新为下一时刻的边特征 ij
f V 将节点 i e ′ v ′ 。
机 v 和与之连接的所有已更新过的边 ij 的信息进行融合更新为下一时刻的节点特征 i
解码过程:经过处理的图数据需要再通过一次 MLP 处理,形成为各个节点的结果输出 P 。本文
t+1
中,输出的结果包括流速场与压力场信息,即每个节点保存 4 个维度上的信息,包括流速在 3 个方向上的
分量和压力值:
′
′
[u x ,u y ,u z , p] = MLP decoder (v ) (5)
i i
v ′ 经过多层感知机 MLP ,解码为下一时间步的流速场与压力场信息。压力场信息
更新后的节点特征 decoder
i
为主要预测目标;流速场信息用于计算训练过程中的损失,协同压力场预测损失进行模型训练,与压力
场预测信息相互对照佐证,防止训练过程中模型过拟合,同时提升模型训练的效率。
对于同一算例,在不同时间步下重复调用上述的编码过程—处理过程—解码过程,即可实现对物理
信息随时间演化过程的预测。
2 数据集构建
2.1 数据来源
本文中的数据集均通过开源软件 blastFoam [11] 的仿真结果所得。相对常规商业仿真软件,blastFoam
的计算过程更为透明,且有多种炸药起爆和能量释放模型,对于需要考虑非理想气体状态的仿真工况更
为有利 [12-13] 。为了充分利用 blastFoam 软件的计算结果,本文提出了以下数据提取、处理和数据集构造方
法,如图 3 所示。
Start
Mapfields: mesh remapping
Mesh topology relation extraction Model boundary extraction
Physical information
extraction of vertex
Vertex pressure Vertex velocity Vertex position Vertex density
Vertex type coding
Information summarized as dataset
End
图 3 数据采集流程
Fig. 3 Data collection process
044201-4

