Scalability of an Eulerian-Lagrangian large-eddy simulation solver with hybrid MPI/OpenMP parallelisation

Pablo Ouro, Bruno Fraga, Unai Lopez, Thorsten Stoesser

Research output: Contribution to journalArticlepeer-review

16 Citations (Scopus)
181 Downloads (Pure)

Abstract

Eulerian-Lagrangian approaches capable of accurately reproducing complex fluid flows are becoming more and more popular due to the increasing availability and capacity of High Performance Computing facilities. However, the parallelisation of the Lagrangian part of such methods is challenging when a large number of Lagrangian markers are employed. In this study, a hybrid MPI/OpenMP parallelisation strategy is presented and implemented in a finite difference based large-eddy simulation code featuring the immersed boundary method which generally employs a large number of Lagrangian markers. A master-scattering-gathering strategy is used to deal with the handling of the Lagrangian markers and OpenMP is employed to distribute their computational load across several CPU threads. A classical domain-decomposition-based MPI approach is used to carry out the Eulerian, fixed-mesh fluid calculations. The results demonstrate that by using an effective combination of MPI and OpenMP the code can outperform a pure MPI parallelisation approach by up to 20%. Outcomes from this paper are of interest to various Eulerian-Lagrangian applications including the immersed boundary method, discrete element method or Lagrangian particle tracking.
Original languageEnglish
Pages (from-to)123-136
Number of pages14
JournalComputers & Fluids
Volume179
Early online date10 Oct 2018
DOIs
Publication statusPublished - 30 Jan 2019

Keywords

  • Hybrid MPI/OpenMP
  • Eulerian-Lagrangian
  • Large-eddy simulation
  • Immersed boundary method
  • Multiphase flows
  • High performance computing

Fingerprint

Dive into the research topics of 'Scalability of an Eulerian-Lagrangian large-eddy simulation solver with hybrid MPI/OpenMP parallelisation'. Together they form a unique fingerprint.

Cite this