We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

A parallel variational mesh quality improvement method for distributed memory machines

Formal Metadata

Title
A parallel variational mesh quality improvement method for distributed memory machines
Title of Series
Number of Parts
21
Author
Contributors
License
CC Attribution - NonCommercial - NoDerivatives 4.0 International:
You are free to use, copy, distribute and transmit the work or content in unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
There are numerous scientific applications which require large and complex meshes. Given the explosive growth in parallel computer architectures, ranging from supercomputers to hybrid CPU/GPU architectures, there has been a corresponding increase in interest in parallel computer simulations. For computational simulations involving the above applications, algorithms, which generate the mesh and manipulate it in parallel, are required. In particular, parallel mesh quality improvement is required whenever meshes of low quality arise in such simulations. In this talk, we describe our parallel variational mesh quality improvement method designed for distributed memory machines. The method is based on the sequential variational mesh quality improvement method of Huang and Kamenski. Although most mesh quality improvement methods directly minimize an objective function that explicitly specifies the mesh quality, Huang and Kamenski use the Moving Mesh PDE (MMPDE) method to discretize and find the minimum/maximum of a meshing functional, which is related to the mesh quality in an implicit manner. We solve the resulting ODE in parallel, which yields a mesh with a better quality. To solve the ODE in parallel, the mesh is first partitioned into regions using METIS. Next, the ODE is solved in parallel on the interior nodes of each mesh sub region. For nodes belonging to partition boundaries, i.e., those that are shared among cores, the algorithm calculates a partial ODE solution. To complete the solution at the shared nodes, a reduction operation using non-blocking MPI collective communication is performed. In order to overlap communication with computation, we experiment with various strategies for data organization. We test the performance of our method for up to 128 cores on tetrahedral meshes with up to 160M elements. Excellent strong scaling results and typical weak scaling results for unstructured meshes are obtained.