Thèse soutenue

Fast solvers for high-frequency aeroacoustics

FR  |  
EN
Auteur / Autrice : Marek Felsoci
Direction : Luc GiraudGuillaume Sylvand
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 22/02/2023
Etablissement(s) : Bordeaux
Ecole(s) doctorale(s) : École doctorale Mathématiques et informatique (Talence, Gironde ; 1991-....)
Partenaire(s) de recherche : Laboratoire : Institut national de recherche en informatique et en automatique (France). Centre de recherche Inria de l'université de Bordeaux (Bordeaux) - Laboratoire bordelais de recherche en informatique
Jury : Président / Présidente : Christian Pérez
Examinateurs / Examinatrices : Konrad Hinsen, David Goudin, Stéphanie Chaillat
Rapporteurs / Rapporteuses : Jean-Yves L'Excellent, Ulrich Rüde

Résumé

FR  |  
EN

Dans l’industrie aéronautique, l’aéroacoustique est utilisée pour modéliser la propagation d’ondes sonores dans les flux d’air enveloppant un avion en vol. Il est alors possible de simuler le bruit produit par un avion au niveau du sol lors du décollage et de l’atterrissage afin d’assurer le respect des normes environnementales et de permettre la conception de futurs modèles d’avion. Contrairement à la plupart des autres simulations complexes en physique, la méthode consiste en la résolution de systèmes linéaires couplés creux/denses. Pour produire un résultat réaliste, le nombre d’inconnues dans le système peut être extrêmement important ce qui fait de sa résolution un défi de taille. Dans ce travail, nous nous focalisons sur la conception et l’évaluation d’algorithmes pour résoudre de grands systèmes linéaires de ce genre. D’un côté, nous proposons des algorithmes utilisant l’interface de programmation (API) existante de solveurs directs creux et denses riches en fonctionnalités et optimisés. Grâce à ces algorithmes, nous arrivons à contourner les défauts majeurs d’un usage basique de ces solveurs et profiter pleinement de leurs fonctionnalités avancées telles que la compression numérique, le calcul out-of-core et le parallélisme en mémoire distribuée. D’un autre côté, nous évaluons une API de solveur alternative qui s’appuie sur un couplage de solveurs directs à base de tâches utilisant le même moteur d’exécution. Une API personnalisée permet d’améliorer la composabilité et de simplifier l’échange de données entre les solveurs pour une utilisation plus efficace de ressources de calcul. Tandis que l’introduction de ces changements substantiels dans des solveurs aux fonctionnalités avancés et maintenus par la communauté ne peut se faire qu’à long terme à cause de la complexité de leur code source (quelques centaines de milliers de ligne de code), nous avons pu implémenter une preuve de concept de cette approche dans un prototype réduit. Outre la contribution principale, nous avons consacré un important effort à la reproductibilité de notre travail. À cette fin, nous avons exploré les principes de la programmation lettrée ainsi que les outils logiciels associés pour garantir la reproductibilité des environnements expérimentaux et des expériences numériques elles-mêmes sur différentes machines et sur des périodes de temps étendues.