Abstract

Direct Simulation Monte Carlo (DSMC) method is gradually being applied to simulate near-continuum flowfields. However, the large amount of computation hinders its application. Parallelization is the primary way to solve this problem. Nevertheless, when the Knudsen number (Kn) is less than 1.0×10−2, it is hard to gain good load balance while parallelized since the overall computational load of DSMC is challenging to determine and also changes with cases. This paper proposed a fine-grain parallel strategy based on the shared memory architecture. This strategy is designed to gain good load balance through reasonably decoupling computational load, which means that the load of each module of the program is treated separately, not as a whole. Implemented through Open Multi-Processing (OpenMP), a “dual-decomposition” method is adopted to achieve the load-decoupling strategy. In the “dual-decomposition” method, the computation domain is decomposed with a different weight according to whether one module is particle-dominated or collision-dominated. Besides, a multi-segment partition algorithm with low overhead is proposed. Two cases, including one unsteady shock-bubble interaction (SBI) case and the other steady supersonic jet case, are used to verify our strategy's correctness and test the performance under different conditions. The results show the strategy newly proposed can reduce more than 70% load imbalance relative to our previous PartPlusColl strategy when Kn<1.0×10−2. Simultaneously, the results prove that our load-decoupling strategy can improve parallel efficiency by about 11.17%−21.80%, compared with Sparta [1]. This strategy sets the fundamental for improving parallel efficiency of large-scale parallel computing of DSMC.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call