作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2024, Vol. 50 ›› Issue (6): 321-327. doi: 10.19678/j.issn.1000-3428.0067448

• 开发研究与工程应用 • 上一篇    下一篇

面向复杂装配体模型的两级并行曲面网格生成

徐权1,2, 冷珏琳1,2, 刘田田1,2, 郑澎3   

  1. 1. 中物院高性能数值模拟软件中心, 北京 100088;
    2. 北京应用物理与计算数学研究所, 北京 100094;
    3. 中国工程物理研究院计算机应用研究所, 四川 绵阳 621900
  • 收稿日期:2023-04-21 修回日期:2023-07-02 发布日期:2024-06-11
  • 通讯作者: 徐权,E-mail:jluxuquan@126.com E-mail:jluxuquan@126.com
  • 基金资助:
    国家自然科学基金 (62231003,12001053)。

Two-Level Parallelization Surface Mesh Generation for Complex Assembly Models

XU Quan1,2, LENG Juelin1,2, LIU Tiantian1,2, ZHENG Peng3   

  1. 1. CAEP Software Center for High Performance Numerical Simulation, Beijing 100088, China;
    2. Institute of Applied Physics and Computational Mathematics, Beijing 100088, China;
    3. Institute of Computer Application, China Academy of Engineering Physics, Mianyang 621900, Sichuan, China
  • Received:2023-04-21 Revised:2023-07-02 Published:2024-06-11

摘要: 针对实际工程应用中的大规模数值模拟需求,面向复杂几何装配体模型,提出一种适配高性能计算机分布式共享存储体系的两级并行曲面网格生成方法。首先提取几何模型的关键特征,基于关键特征构建网格尺寸场并预估出每个几何实体内的网格规模大小;然后基于模型几何实体的相邻关系和预估的网格规模建立模型实体间的邻接关系图,通过图剖分算法将几何模型分解为不同的子模型,将子模型分配到不同的进程内;最后在各进程内按照“点-线-面”的顺序依次并行生成点网格、线网格和面网格。在曲面网格并行生成中采取进程和线程混合的并行方式,不同子模型之间采用消息传递接口并行,同一个子模型的不同几何曲面之间采用OpenMP并行。通过三峡大坝模型对该方法进行验证,结果表明,通过分析算法的并行效率、通信最小化和负载平衡,该方法可以在数千处理器核上获得40%的并行效率,不同进程间的通信量较少,且可以获得良好的负载平衡。

关键词: 曲面网格生成, 区域分解, 并行网格生成, 装配体模型, 图剖分

Abstract: With the goal of fulfilling the demand for large-scale numerical simulations in practical engineering applications, a two-level parallel surface mesh generation method suitable for a high-performance computer distributed shared storage system is proposed for complex assembly models. First, a sizing function for the surface mesh is generated based on the geometrical features and user-specified parameters. The number of cells for a geometric entity is estimated using a sizing function. Then, an adjacency relationship graph is established based on the adjacency relation of the geometric entities of the model, and the estimated number of cells is taken as the weight of the nodes in the graph. The graph partition algorithm is used to decompose the assembly model into different sub-models, and each sub-model is assigned to one process. Finally, each process generates meshes of vertexes, curves, and surfaces in parallel in the order of vertex, curve, and surface. A two-level hybrid parallelism for the processes and threads is adopted for the surface mesh generation. Message Passing Interface(MPI) parallelism is used between the sub-models in different processes, and OpenMP parallelism is used between the different geometric surfaces of the sub-models in the inner process. Finally, the Three Gorges Dam model is used to verify the proposed method. The results show that by analyzing the parallel efficiency, communication minimization, and load balancing of the algorithm, the proposed method can achieve a parallel efficiency of approximately 40% on thousands of processor cores, with less communication between different processes and a good load balance for the mesh.

Key words: surface mesh generation, domain decomposition, parallel mesh generation, complex assemblies model, graph partition

中图分类号: