Page 10 - 《爆炸与冲击》2026年第2期
P. 10

第 46 卷         寿列枫,等: 大尺度复杂环境下的强爆炸冲击波传播数值模拟技术研究                                 第 2 期

                   (1) 任意  2  个拥有共边(棱或面) 的单元层级最多相差一级;
                   (2) 任意  2  个单元的共边(棱或面)单元最多有一个可以被加密。


                                                                         Layer 1
                                   Layer 2
                          Layer 1

                                                                         Layer 2

                      Layer 2                                            Layer 3
                                      Layer 3


                                                                             Hilbert curve
                         (a) Adaptive mesh refinement                (b) Load rebanlance
                                             图 2    网格自适应的悬点情况及解决策略
                                   Fig. 2    Hanging nodes in adaptive mesh refinement and solution strategy

                   此外,对于带悬点的单元,为确保有限体积方法的守恒性和稳定性,需要严格处理悬点处的变量赋
               值和通量计算。如图          2(a) 所示,假设左上角       layer 1  层级的单元守恒量为        U ,与其相邻的右侧        layer 2  层
                                                                                 L
               级的两个单元的守恒量分别为              U 和 1  U ,具体实现步骤如下:(1) 悬点赋值:首先基于                 2.1.2  节提出的高
                                            R
                                                  R2
               阶重构算法得到左侧          layer 1  层级单元内的梯度(基于        MUSCL   和  Thinc 的优化算法),再基于单元平均值
               和梯度计算得到悬点的物理量,有效避免非物理震荡,确保数值解在跨层级边界处的单调性;(2) 数值通
               量计算,当细网格覆盖粗网格边界面时,将细网格多个面的通量积分求和,赋给粗网格对应面:
                                             N Å        ã    N Å                ã
                                            ∑        A R,i  ∑                A R,i
                                        F L =    F R,i ·  =     F HLLC (U L ,U R )·                    (26)
                                                     A L                     A L
                                             i=1            i=1
               式中:N=2   表示单元边界上细网格的数量,F 表示左侧单元的数值通量,F 表示右侧单元每个细网格的
                                                     L
                                                                                 i
                                                                                R,
               数值通量,A 和  L   A 表示左、右单元边界的面积,且满足                 A =A +A 。
                               i
                                                                 L
                                                                        R,2
                                                                    R,1
                              R,
                2.2.2    并行计算
                   针对国产超算系统的分布式架构,基于经典的区域分解框架,构建了                                MPI、OpenMP   的两级混合并
               行技术。其中,节点内部使用             OpenMP  实现共享内存式的多线程并行,节点之间采用                     MPI 模式的分布式
               并行(如图    3  所示),以及基于序列化技术的动态负载平衡策略(图                      2(b) 所示),实现复杂条件下三维强毁
               伤环境的超大规模、高效并行数值模拟。

                                                      MPI communication



                                       Node 1            Node 2               Node n
                                    #1  #2  ...  #n  #1  #2  ...  #n      #1  #2  ...  #n

                                    OpenMP thread    OpenMP thread  ...   OpenMP thread


                                                            ...                 ...
                                    T 1  T 2  ... T n  T 1  T 2  T n      T 1  T 2  T n


                                              图 3    MPI+OpenMP  混合并行编程模式
                                       Fig. 3    Hybrid parallel programming model of MPI+OpenMP


                                                         021001-7
   5   6   7   8   9   10   11   12   13   14   15