The Direct Simulation Monte Carlo (DSMC) algorithm is widely employed for simulating rarefied gas flows and is increasingly applied in near-continuum regimes for research and engineering purposes. However, its computational demands, notably load imbalance and extended simulation time, hinder widespread adoption. Addressing these challenges, this paper introduces the Two-Level parallel load balancing strategy. This novel approach combines thread-level and multi-process parallelism to enhance load balancing and reduce simulation time. Key features include a thread-level load-decoupling strategy implemented via OpenMP and a multi-process load balancing mechanism employing distributed memory via MPI. Building upon our previous [Formula: see text] [L. Li, W. Ren and B. Zhang, J. Aeronaut. Astronaut. Aviat. Ser. A 46, 88 (2014)] approach, the load balancing mechanism utilizes Stop At Risk (SAR) criteria for repartitioning with METIS. Additionally, a specialized data transmission mechanism utilizing MPI nonblocking communication minimizes global communication between processes. Validation and evaluation are performed using four hypersonic flow cases around a cylinder and sphere, demonstrating significant improvements. Notably, the proposed strategy achieves [Formula: see text] enhancement over the [Formula: see text] strategy under 512 CPU cores compared to 16 CPU cores, and reduces between-process communication time with [Formula: see text]. These advancements contribute to enhancing the effectiveness of the DSMC algorithm in near-continuum aerodynamic simulations.
Read full abstract