On the Parallelization of Moving Particle Level Set (MPLS) Method for Multiphase Flow Simulation using OpenMP
Keywords:CFD, MPS, MPPM, particle method, OpenMP, shared-memory machine
As the field of Computational Fluid Dynamics (CFD) continues to grow, some advanced simulation methods such as mesh-less (or particle) methods have been devised to solve fluid flow problems involving complex dynamics. The popular Moving Particle Semi-implicit (MPS) method is one of the particle methods commonly used to solve fluid flow problems without relying on the pre-existing mesh structure. Recently, based on the MPS method, two new methods, i.e. the Moving Particle Pressure Mesh (MPPM) and the Moving Particle Level-Set (MPLS) methods have been developed in our research team to simulate single- and multiphase flow problems and meanwhile to obtain a smoother pressure field. In the current work, the Open Multi Processing (OpenMP) library was used to parallelize the MPLS code on a shared memory machine and the effects of parallelism on the computation performances of MPLS were studied. The test case used to benchmark the computation performance was the multi-phase problem, i.e. the problem involving Rayleigh-Taylor Instability (RTI). The machine used in this work has 6 physical cores with 12 logical threads. The maximum speedup was 3.71x, which was comparable to those achieved by similar particle methods such as Direct Simulation Monte Carlo, Discrete Element Method, etc. Strong and weak scaling studies were conducted and the memory access (cache hit rates) under different scheduling patterns was investigated. It was found that the speedup and core performance of the level-set function implemented in the MPLS code was relatively high.