La propagation des ondes sismiques est un outil fondamental pour de nombreuses applications, comme en géophysique interne pour l'étude de la structure de la Terre, en astrophysique pour l'imagerie du soleil (héliosismologie) et des étoiles (astérosismologie), ou encore en imagerie médicale.
Les ondes contiennent des informations sur les milieux dans lesquels elles se sont propagées ; en comparant les données mesurées et des données issues de simulations numériques, nous pouvons identifier les milieux qui ne sont pas accessibles.
Ce projet se concentre sur deux types de milieux. Pour la propagation d’ondes sismiques terrestres, nous considérons des milieux élastiques avec atténuation et éventuellement anisotropes, qui sont difficiles à traiter de par la complexité des géométries du sous-sol, la topographie en surface, et la taille des domaines (mesurée en nombre de longueur d’onde à propager).
Nous considérons également la propagation d’ondes acoustiques dans le Soleil, où nous faisons face à des variations de paramètres particulièrement sévères proche de l’atmosphère solaire (par exemple la densité qui devient exponentiellement décroissante), ce qui challenge les méthodes numériques. Afin de traiter au mieux ces applications, il est indispensable d’avoir une méthode de discrétisation numérique flexible, efficace, et qui passe à l’échelle.
Discrétisation par méthode de Galerkin discontinue hybridizable (HDG) d’ordre élevé Afin de simuler la propagation d’ondes dans des milieux complexes, nous considérons les équations d’ondes harmoniques qui permettent de traiter facilement l’atténuation. Elles sont ensuite discrétisées, pour mener à la résolution d'un système linéaire de très grande taille. Pour la discrétisation, nous utilisons une méthode de Galerkin discontinue hybridizable (HDG). Cette méthode relativement récente a plusieurs avantages, comme d’être propice à la hp-adaptivité. La méthode est compatible avec une implémentation massivement parallèle, l'inconnue du système étant construite de façon indépendante à l'échelle de l'élément. De plus, la méthode HDG est une méthode DG à laquelle on peut appliquer une condensation statique qui permet de réduire la taille du système linéaire à résoudre : en formulant le problème sur le squelette du maillage uniquement, les degrés de liberté intérieurs sont ignorés, et le système linéaire s’en trouve réduit. Cependant, on doit noter que la méthode HDG est réellement efficace quand des approximations polynomiales d'ordre élevé sont utilisées. En effet, dans ce cas, le nombre de degrés de liberté internes est important et leur élimination constitue une réelle réduction de la taille du système.
Le logiciel open-source Hawen (https://ffaucher.gitlab.io/hawen-website/) a été utilisé pour les simulations numériques utilisant la méthode HDG, avec le solveur direct massivement parallèle MUMPS (https://mumps-solver.org/index.php) pour résoudre le système linéaire. La résolution se fait en trois étapes avec la phase d’analyse, la factorisation, et la résolution. La phase d’analyse bénéficie directement de la spécificité des méthodes HDG (tous les degrés de liberté sont connectés par les faces du maillage) ce qui permet de réduire la taille des graphes par 60, et le nombre d’arêtes par plus de 2000. L’utilisation d’un solveur direct permet en outre, pour la résolution, de traiter efficacement un nombre élevé et simultané de seconds membres, c’est-à-dire de simuler de nombreuses sources.
La phase la plus coûteuse numériquement (en terme de temps et de mémoire) demeure la factorisation. Nous pouvons réduire significativement le coût de cette phase grâce à la combinaison de la méthode HDG pour réduire la taille des systèmes linéaires, avec le solveur MUMPS pour réduire l’empreinte mémoire (par l’utilisation de la précision mixte et des compressions de rang faible). Nous avons privilégié les ordres de polynômes supérieurs ou égaux à 6 pour bénéficier au maximum de la méthode HDG, ce qui a nécessité un travail conséquent pour garantir la stabilité, la précision et la rapidité des quadratures numériques.
De plus, ceci entraîne une discrétisation du domaine (avec un maillage tétrahédrique) avec des grandes mailles, et nous avons mis en place une représentation flexible des propriétés physiques avec des bases de Lagrange afin de garder une résolution correcte, là où une représentation avec des constantes par morceaux serait inappropriée.
Nous avons finalement pu résoudre des cas inaccessibles auparavant, avec un coût de calcul divisé par plus de deux comparé à l’utilisation d’une approche standard sans compression ni précision mixte.
Pour des problèmes géophysiques, nous avons pu propager plusieurs centaines de longueurs d’ondes pour les milieux acoustiques, et plus de 60 longueurs d’ondes pour les milieux viscoélastiques, en utilisant jusqu’à 48000 coeurs de calcul. Cela a également permis de simuler des ondes acoustiques en considérant le Soleil en entier avec des modèles physiques nonsymétriques, et ainsi d’ouvrir la voie à l’étude de phénomènes 3D pour l’héliosismologie. Tout ceci va servir pour les futures applications du projet européen ERC-StG Incorwave (https://ffaucher.gitlab.io/erc-incorwave/) et le projet ANR-DFG Butterfly.
Chiffres Clés :
-50% La réduction de l’empreinte mémoire sur la simulation élastique obtenue en combinant Hawen et MUMPS.
Définitions :
HDG : Méthode de discrétisation des équations d’ondes qui utilise la condensation statique pour réduire le nombre d’inconnues.
Hawen : Logiciel open-source pour la résolution de problèmes d’ondes directs et inverses en utilisant la méthode HDG.