Abstract
La nécessité de comprendre avec précision la physique régie par des équations de la mécanique des fluides conduit à l’utilisation de méthodes particulaires. Ces dernières sont particulièrement bien adaptées à la résolution numérique des équations aux dérivées partielles de conservation, en particulier, des équations de transport [1]. Ce travail se décompose selon deux aspects. Le premier concerne le développement, sur des architectures distribuées, d’un solveur particulaire parallèle couplé à un modèle de turbulence LES. Le second est dédié la construction un code efficace sur des architectures hybrides multi-cœurs et multi-accélérateurs à l’aide du standard de programmation ouvert OpenCL [2]. Le couplage des méthodes particulaires et des solveurs d’écoulements permet de s’affranchir des conditions de CFL inhérentes aux méthodes classiques. Ainsi, la résolution est effectuée à deux niveaux : l’échelle du fluide et celle, plus petite, du transport de la vorticité. En effet, l’absence de condition de type CFL sur la résolution des équations de transport permet de raffiner le maillage sans conséquences sur le pas de temps. Les applications considérées dans cette partie sont des simulations d’écoulements à haut nombre de Schmidt. L’intérêt croissant que la communauté du HPC [3] porte à l’utilisation des cartes GPU suggère que cette technologie est bien adaptée à nos simulations. Il a été montré [4, 5] que l’utilisation de ces accélérateurs donne accès à des améliorations conséquentes des algorithmes. Nous présentons ici la démarche ainsi que les outils employés pour l’implémentation d’un solveur particulaire pouvant s’adapter facilement aux différentes architectures hybrides des machines de calcul actuelles. Ce solveur est conçu de manière indépendante des ressources matérielles, permettant ainsi une grande souplesse d’utilisation. Les objectifs à plus long terme sont de pouvoir coupler le solveur particulaire à un solveur Navier-Stokes sur une architecture hybride, multi-cœurs et multi-accélérateurs. Les résultats préliminaires permettent d’espérer l’obtention de performances intéressantes pour le code couplé.
Type