Design of a massively parallel CFD code for complex geometries - Normandie Université
Article Dans Une Revue Comptes Rendus Mécanique Année : 2011

Design of a massively parallel CFD code for complex geometries

Une algorithmique optimisée pour le supercalcul appliqué à la mécanique des fluides numérique

Résumé

A strategy to build the next generation of fluid dynamics solvers able to fully benefit from high-performance computing is discussed. The procedure relies on a domain decomposition of unstructured meshes that is organized in two levels. The computing cells are first gathered at an elementary level in cell groups; at a second level, cell groups are dispatched over processors. Compared to the usual single-level domain decomposition, this double domain decomposition allows for easily optimizing the use of processor memory and therefore load balancing in both Eulerian and Lagrangian contexts. Specific communication procedures to handle faces, edges and nodes are associated to this double domain decomposition, which strongly reduce the computing cost; input–output times are optimized as well. In addition, any multi-level solution techniques, as deflated preconditioned conjugate gradient, are well-adapted to such mesh decomposition. This approach has been used to develop the YALES2 code, which also benefits from a non-degenerescent tessellation algorithm for tetrahedra to automatically generate high-resolution meshes on super-computers. To illustrate the capabilities of the YALES2 algorithmic, an aeronautical burner is fully simulated with a mesh of 2.6 billion cells, followed by a demonstration test over 21 billion cells.
Une décomposition de domaine originale et les structures de données associées sont proposées pour la simulation numérique appliquée aux équations de la mécanique des fluides, afin de tirer pleinement parti de la puissance des supercalculateurs hautement parallèles. La stratégie adoptée dans le logiciel YALES2 repose sur une double décomposition : un niveau élémentaire de groupes de cellules est formé, avant de répartir ces groupes de cellules sur les processeurs à un deuxième niveau. Cette décomposition optimise sur le supercalculateur la répartition des données des maillages non-structurés, pour des simulations eulériennes aussi bien que lagrangiennes. La double décomposition est aussi associée à une procédure de communication spécifique pour la gestion des informations géométriques (faces, arrêtes, nœuds). Ceci se traduit par une gestion optimale du temps calcul et des entrées-sorties, allant de pair avec l'intégration d'un raffinement de maillage systématique. De plus, la double décomposition est particulièrement adaptée aux méthodes de déflation pré-conditionnée avec gradient conjugué. Des calculs démontrant l'efficacité de cette approche sont présentés, dont une solution convergée sur un maillage contenant 2,6 milliards de cellules et un cas test sur 21 milliards de cellules.
Fichier non déposé

Dates et versions

hal-01672172 , version 1 (23-12-2017)

Identifiants

Citer

Vincent Moureau, Pascale Domingo, Luc Vervisch. Design of a massively parallel CFD code for complex geometries. Comptes Rendus Mécanique, 2011, 339 (2-3), pp.141-148. ⟨10.1016/j.crme.2010.12.001⟩. ⟨hal-01672172⟩
120 Consultations
0 Téléchargements

Altmetric

Partager

More