Two-Level Parallelization Surface Mesh Generation for Complex Assembly Models
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.