Massively parallel location and exchange tools for unstructured meshes. (English) Zbl 1482.76096

Summary: Computational fluid dynamics (CFD) computations often require coupling of some values on one computational domain or portion thereof to another. This is the case both for multi-physics couplings, and for the implementation of various features, such as restarting on a different mesh, boundary condition couplings, and others. This usually involves locating points or elements relative to other elements, without a priori knowledge of neighbourhood or connectivity information. For highly refined meshes on parallel distributed memory systems, using programming paradigms such as MPI, it is practical to build mappings in situ, as a part of the computation. In this article, we describe different algorithms used in the context of the code_saturne CFD tool, and the associated Parallel Location and Exchange (PLE) library, based on their design goals, performance, ease of use and API stability. We also provide some elements on actual observed performance, and paths for improvements with increasingly massive parallelism.


76M99 Basic methods in fluid mechanics
65M50 Mesh generation, refinement, and adaptive methods for the numerical solution of initial value and initial-boundary value problems involving PDEs
65N50 Mesh generation, refinement, and adaptive methods for boundary value problems involving PDEs
65Y05 Parallel numerical computation
Full Text: DOI


[1] Archambeau, F.; Mechitoua, N.; Sakiz, M., Code_Saturne: a Finite Volume Code for the Computation of Turbulent Incompressible Flows, International Journal on Finite Volumes (2004)
[2] Benhamadouche, S.; Fournier, Y.; Billard, F.; Jarrin, N.; Prosser, R., RANS/LES Coupling in the Industrial CFD Tool Code_Saturne: Implementation and First Results (2008)
[3] Bungartz, H.-J.; Lindner, F.; Gatzhammer, B.; Mehl, M.; Scheufele, K.; Shukaev, A.; Uekermann, B., preCICE - A Fully Parallel Library for Multi-Physics Surface Coupling, Computers & Fluids, 141, 250-258 (2016)
[4] Cajas, J. C.; Zavala, M.; Houzeaux, G.; Casoni, E.; Vázquez, M.; Moulinec, C.; Fournier, Y., Fluid Structure Interaction in HPC Multi-Code Coupling (2015)
[5] CGNS Web-site. “CFD General Notation System.”http://www.cgns.org/.
[6] Chevalier, C.; Pellegrini, F., PT-SCOTCH: A Tool for Efficient Parallel Graph Ordering, Parallel Computing,, 34, 6-8, 318-331 (2008)
[7] Duchaine, F., Morel, T., and Piacentini, A.. 2011. “On a first use of CWIPI at CERFACS”, Report TR-CMGC-11-3,CERFACS.http://pantar.cerfacs.fr/globc/publication/technicalreport/2011/TR-CMGC-11-3.pdf.
[8] Exodus II documentation. “EXODUS:A Finite Element Data Model.”http://endo.sandia.gov/SEACAS/Documentation/exodusII.pdf.
[9] Fournier, Y.; Bonelle, J.; Vezolle, P.; Moulinec, C.; Sunderland, A. G., An Automatic Joining Mesh Approach for Computational Fluid Dynamics to Reach a Billion Cell Simulations (2011)
[10] Haase, W.; Braza, M.; Revell, A., DESider - A European Effort on Hybrid RANS-LES Modelling, Results of the European-Union Funded Project, 2004-2007 (2009)
[11] Joppich, W.; Kürschner, M., Mpcci - a Tool for the Simulation of Coupled Applications, Concurrency Computation Practice and Experience, 18, 2, 183-192 (2006)
[12] Message Passing Forum. 1994. “MPI: A Message-Passing Interface Standard.”doi:10.5555/898758.
[13] Noack, R., DiRTlib: A Library to Add an Overset Capability to Your Flow Solver (2005)
[14] Oldfield, R.; Sjaardema, G.; Lofstead, J.; Kordenbrock, T., Trilinos I/O Support (Trios), Scientific Programming, 20, 181-196 (2012)
[15] Plimpton, S. J.; Hendrickson, B.; Stewart, J. R., A Parallel Rendezvous Algorithm for Interpolation Between Multiple Grids, Journal of Parallel and Distributed Computing, 64, 2, 266-276 (2004)
[16] Refloch, A.; Courbet, B.; Murrone, A.; Villedieu, P.; Laurent, C.; Gilbank, P.; Troyes, J., CEDRE Software, Aerospace Lab Journal (2011)
[17] SALOME platform documentation. “MEDCoupling User’s Guide.”https://docs.salome-platform.org/latest/dev/MEDCoupling/index.html.
[18] Schroeder, W., Martin, K., and Lorensen, B.. 2006. “The Visualization Toolkit.”
[19] Slattery, S. R.; Wilson, P. P. H.; Pawlowski, R. P., The Data Transfer Kit: A Geometric Rendezvous-Based Tool for Multiphysics Data Transfer (2013)
[20] Tang, Y.-H.; Kudo, S.; Bian, X.; Li, Z.; Karniadakis, G. E., Multiscale Universal Interface: A Concurrent Framework for Coupling Heterogeneous Solvers, Journal of Computational Physics, 297, 15, 13-31 (2015)
[21] Wu, X., Hahn, S., Herrmann, M., Alonso, J. J., and Pitsch, H.. 2005. “A Python Approach to Multi-code Simulations: CHIMPS.”
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.