Une vue pragmatique des paramétrisation globales
Représenter les objets géométriques par des maillages permet de simuler leur comportement physique. En effet, ils définissent le domaine des fonctions de bases utilisées par la méthode des éléments finis. Leur génération peut prendre jusqu’à 80% du temps dédié à la simulation comme l’atteste un rapport technique de la NASA [SKA+14]. Le cas de maillages tetrahédraux peut être en grande partie automatisé grâce à des algorithmes efficaces et robustes [Si15], capables de mailler des domaines quelconques. Malheureusement, certains types de simulations ne fonctionnent pas avec les maillages tetrahédraux, mais avec les maillages hexahédraux. Ces derniers présentent en effet des spécificités qui peuvent être exploitées par les optimiseurs: ils permettent de définir des bases de fonctions par produit tensoriels, ils peuvent être alignés avec l’anisotropie de la simulation, leur structure permet de ne pas expliciter toute la combinatoire du maillage (et les matrices qui en dérivent), etc. Par contre, le fait qu’ils soient très structurés les rend aussi plus difficiles à générer avec des approches d’éditions locales comme celles utilisées pour les maillages tetrahédraux. Une solution alternative consiste à prendre en compte la structure du maillage en considérant qu’il ressemblera presque partout à une grille déformée. Ainsi, on va pouvoir optimiser numériquement les déformations de la grille et la façon dont elle se recollera sur elle-même pour couvrir la majeure partie du domaine. Cette approche par paramétrisation globale donne des résultats impressionnants sur quelques objets géométriques, ce qui est encourageant, mais pas encore suffisant pour de l’analyse numérique. Mon objectif est de produire des maillages hexahédraux exploitables pour simuler de la physique. Pour ce faire, je vais conserver cette idée d’optimiser le placement d’une grille pour remplir une forte proportion du domaine avec une structure simple, que je compléterais par d’autres algorithmes capables de prendre en compte les contraintes des applications, et les limites de cette approche. Concrètement, je vais aborder le problème selon trois axes: mieux spécifier les besoins des applications, mettre au point d’autres algorithmes de remaillage dans lesquels le placement de grille ne serait qu’une brique de base, et améliorer les algorithmes de paramétrisation globale.
• Définir des critères de qualité pour les maillages hexahédraux. Dans notre communauté scientifique, nous n’avons pas de critères objectifs pour évaluer la qualité des maillages hexahédraux. Ce problème induit que l’on juge les résultats récents avec des critères très subjectifs, et que l’on ne sait pas comment orienter nos recherches. Pour sortir de cette situation, il est nécessaire de définir clairement ce que sont les défis à relever, au moins pour un échantillons des applications envisagées. Les analyses que nous avons réalisées avec M. Reberol nous ont montré qu’il n’y a pas de bénéfices significatifs à utiliser des maillages hexahédraux (plutôt que tétrahédraux) pour les problèmes simples tels que la diffusion de la chaleur ou l’élasticité linéaire. En discutant avec des utilisateurs de maillages hexahédraux (J.F Remacle, F. Ledoux et P. Helluy), il semblerait que les avantages des maillages hexahédraux ne soient significatifs qu’avec des problèmes difficiles, dont nous ne pourront probablement pas développer de simulateurs en interne. La définition des besoins va donc demander des interactions fortes avec des partenaires
capables d’exploiter nos maillages et d’analyser leur adéquation avec l’application visée. Nous avons actuellement trois coopérations:
– Je travaille avec W.C. Li, un spécialiste de la modélisation du sous sol, qui est en train de créer une start-up dont le but est de transférer les outils de remaillage que nous avons développé dans l’équipe ALICE. Plus particulièrement, il utilise des maillages à dominance hexahédrale pour des simulations géo-mécaniques de réservoirs de gaz et de pétrole. D’un point de vue scientifique, ce cas introduit de nouveaux type de contraintes (alignements avec les failles et les horizons), et autorise certains types de non conformités que je n’avais pas envisagées jusqu’alors. Je suis en train d’adapter nos algorithmes pour pouvoir traiter ces données, ce qui est aussi une source d’inspiration pour le traitement les autres modèles.
– Je travaille avec F. Ledoux (CEA) sur la génération de maillages hexahédraux qui puissent être utilisés dans leurs simulations. Nous allons co-encadrer un doctorant, et nous sommes en train de monter un projet ANR sur le problème du remaillage hexahédral. Scientifiquement, les données et les résultats attendus sont assez proches de ceux avec lesquels je travaille habituellement, ce qui permet de plus se concentrer sur les aspects de robustesse et d’amélioration de la qualité du maillage.
– Les maillages utilisés par P. Helluy de l’équipe TONUS à Strasbourg pour les simulations numériques de plasma sont aussi hexahédraux, mais ils ont des critères de qualité assez originaux liés à la manière dont sont calculées les matrices de leur simulations. Par exemple, les hexaèdres dont les faces sont parallèles deux à deux induisent des entrées nulles dans la matrice et bénéficient ainsi d’accélérations importantes durant les calculs.
L’étude des besoins n’induit pas uniquement des adaptations de notre logiciel pour certaines applications; c’est surtout une manière d’orienter mes recherches de sorte à ce qu’elles soient exploitables, et de partager des intuitions entre les divers contextes applicatifs.
• Replacer les paramétrisations globales dans le processus de remaillage. Positionner une grille par optimisation numérique permet de remailler directement des objets simples avec des hexaèdres. Par contre, les endroits qui nécessitent un maillage dont la combinatoire est plus complexe qu’une grille déformée (pour satisfaire les contraintes de bord) ne peuvent pas être traités par cette approche. De plus, la rigidité (combinatoire) de la structure de grille va propager ces erreurs dans une grande partie du maillage. Pour éviter ce genre d’écueils, je pense que ces méthodes doivent s’inscrire dans un processus de remaillage (éventuellement interactif) plutôt que de chercher à s’y substituer.
Je sais d’ores et déjà générer des maillages à dominance hexahédrale [RSR+18, SRUL16] en traitant, a posteriori, les zones dans lesquelles la paramétrisation a échoué. Cette approche rend le processus robuste, mais il serait préférable de traiter les contraintes incompatibles a priori, pour empêcher qu’elles ne détériore la paramétrisation globale sur une zone bien plus étendue. Ce nouveau point de vue amène d’intéressantes questions théoriques quand aux conditions sous lesquelles les contraintes de bord peuvent être satisfaites par une grille déformée. Nos premières investigations dans le cas des paramétrisations sans singularité (polycubes) [SR15] donnent un cadre théorique dans lequel je pourrait aborder le cas général. Ainsi, j’espère pouvoir gérer les parties ambiguës de la combinatoire lors de pré-traitements plutôt que de laisser ces incertitudes perturber le positionnement de la grille.
Les grilles contiennent deux types d’informations. Les informations topologiques sont encodées par la combinatoire du maillage et répondent aux questions telles que: comment la grille se recolle-t-elle sur elle même, combien de couches d’hexaèdres y a-t-il entre deux surfaces du bord, etc. D’autre part, les informations géométriques donnent la position des hexahèdres dans l’espace. Extraire directement les hexaèdres comme étant les cellules des grilles exploite toute l’information mais, de ce fait, requière aussi que la géométrie soit suffisamment bonne (pas de retournements). Une approche alternative consiste a extraire des représentations plus abstraites qui capturent bien la structure du maillage, mais qui soient moins sensibles à la géométrie. J’ai obtenus des résultats préliminaires prometteurs en extrayant des surfaces (le spatial twist continuum) de la grille déformée, et en fusionnant les surfaces redondantes (d’un point de vue structurel). La structure ainsi obtenue est très similaire au dual d’une décomposition
par bloc hexahédral, de laquelle j’espère pouvoir dériver d’excellents maillages hexahédraux.
• Améliorer les algorithmes de paramétrisation globale Actuellement, ces algorithmes permettent de positionner des grilles dans des objets géométriquement simples et dont la structure interne (le graphe de singularité) peut être relativement basique. Je souhaite pouvoir traiter d’avantage de configurations en améliorant trois aspects des méthodes actuelles:
L’orientation des grilles est habituellement prescrite en minimisant la courbure d’un champ de direction. Malheureusement, cette heuristique ne fournit pas toujours des courbes de singularités qui puissent être intégrées par la paramétrisation. Je vais essayer d’intégrer des contraintes dans la génération des champs de direction de sorte à limiter ces configuration inexploitables pour le remaillage. Pour aborder le problème, j’ai pu caractériser les courbes de singularités valides dans le cas continu: la permutation d’axes le long de cycles élémentaires autour de la singularité préserve l’un des axes, qui est tangent à la singularité. Je vais donc essayer d’assurer cette condition (nécessaire) avec un processus en deux étapes: la définition d’un champ de vecteur localement stable, suivit de la définition des deux autres axes par un champs de direction 2.5D (2D advecté par le champ de vecteur stable).
La combinatoire de la grille est caractérisée par un jeu de coefficients entiers dont les valeurs sont actuellement fixées de sorte à optimiser un critère géométrique: la forme des hexaèdres doit être la plus proche possible de celle prescrite par le champ de direction. Ainsi, le nombre de couches d’hexaèdres entre deux surfaces est déterminé
uniquement par la taille des hexaèdres que l’on souhaite générer, et ne cherche pas explicitement à éviter que la grille soit dégénérée. En pratique, il arrive fréquemment que le solveur choisisse d’allouer un nombre négatif ou nul de couche d’hexaèdres entre deux contraintes (bord de l’objet, contrainte interne ou singularité), ce qui implique que la paramétrisation y sera inexploitable. Je vais étudier comment injecter des contraintes de positivité strictes dans ces cas, ce qui est un problème extrêmement complexe car les dégénérescences sont causées par des interactions subtiles entre les différents degrés de libertés du système. Mon expérience du cas surfacique donne cependant des pistes prometteuses, notamment grâce à la notion des motorcycle graphs, que l’on pourrait étendre au cas volumique.
Le critère géométrique que l’on optimise actuellement pour positionner la grille permet de contrôler la taille moyenne des hexaèdres, mais n’assure pas la bijectivité (même locale) des paramétrisations. Considérer d’autres critères, comme nous l’avions fait en 2D [LPRM02], permettrait sans doute d’améliorer la robustesse du processus. Je pense garder le critère actuel pour fixer les degrés de libertés qui contrôlent la combinatoire, mais en essayer d’autres pour améliorer la géométrie.
Le positionnement automatique de grilles est une approche très efficace, mais qui n’est pas directement exploitable dans les applications. Je souhaite franchir ce cap, en coopérant sur des cas d’utilisation de ces maillages, ce qui permettra de mieux définir les objectifs et de trouver de nouvelles façons de les atteindre. Je compte mener à bien mon projet de recherche en travaillant en étroite collaboration avec D. Sokolov, dans le cadre de la nouvelle équipe Inria qu’il dirigera et qui prendra la suite de l’équipe ALICE