Transfert de déformations géométriques
Le but principal du transfert de déformations est de permettre à des traitements d’utiliser une représentation géométrique à jour, c’est-à-dire prenant en compte les résultats obtenus par une tâche dont la spécialité est de calculer les évolutions de la géométrie. Le principe du transfert de modifications géométriques est défini en deux étapes distinctes. La première est appelée la phase de définition. Elle consiste à calculer la déformation de référence qui correspond, dans notre cas, au déplacement de certains noeuds du maillage utilisé. Elle peut être obtenue de différentes manières, par exemple par modification manuelle en utilisant un outil graphique tel Blender ([Blender]) ou par l’intermédiaire d’un logiciel de simulation physique appelé code de calcul. Dans tous les cas, les maillages avant et après déformation sont appariés, c’est-à-dire qu’ils partagent une même connectivité mais que tout ou partie des noeuds peut avoir été déplacé. La seconde phase réalise le transfert des déformations en s’appuyant sur le résultat de la première étape. L’approche envisagée devra faire intervenir des techniques d’interpolation afin de s’appuyer sur les positions exactes du maillage résultat de l’étape précédente.
De plus, le transfert ne devra pas créer de nouveaux noeuds ou en supprimer car des données physiques y sont attachées. Seules leurs positions peuvent être mises à jour, c’est pourquoi une approche par remaillage est à proscrire. Il faut également ajouter que le transfert doit être réalisé en un temps relativement faible en comparaison de celui des codes de calcul ; il doit au moins être d’un ordre de grandeur inférieur. Dans ce qui suit sont présentés les deux cas à traiter nécessitant un transfert de déformations, le premier entre deux maillages issus d’une même géométrie, le second entre deux maillages de géométries adjacentes. Le premier échange concerne deux traitements réalisant leur calcul en s’appuyant sur une même géométrie. Cette dernière est discrétisée en deux maillages, différents en fonction des besoins de chacune des tâches. Ces représentations géométriques sont supposées quelconques, c’est-à-dire qu’il n’y a aucune contrainte a priori sur la position et le nombre des noeuds. Le résultat souhaité du transfert de déformations est détaillé dans la figure 1.3. L’étape de définition de la déformation est réalisée sur le maillage de gauche. Ce dernier est surfacique triangulaire irrégulier avec un raffinement sur la partie modifiée.
La seconde phase du processus correspond au transfert de la déformation. Dans l’exemple proposé, il est réalisé sur le maillage de droite qui est volumique hexaédrique régulier. Dans la seconde approche, les deux traitements utilisent des géométries qui sont adjacentes, c’est-à-dire qu’elles sont différentes mais possèdent des frontières communes. De même que précédemment, les maillages utilisés sont supposés quelconques. Le résultat souhaité du transfert de déformations dans ce cas est détaillé dans la figure 1.4. Dans cet exemple, une géométrie complète regroupe deux objets, notés A pour celui de gauche et B pour celui de droite. Les deux tâches discrétisent la partie de la géométrie complète sur laquelle ils vont effectuer leur calcul. La définition de la déformation est obtenue sur le maillage de l’objet A. Le but du transfert de déformations est de pouvoir modifier le maillage de l’objet B, non pas uniquement son enveloppe surfacique mais l’intégralité du maillage volumique, y compris les noeuds internes.
SALOME
La plateforme SALOME, Simulation numérique par Architecture Logicielle en Open source et à Méthodologie d’Evolution (http://www.salome-platform.org/), est une solution logicielle développée en partenariat entre EDF4, le CEA et Open- Cascade majoritairement. Il est possible de l’utiliser à partir d’une interface graphique ou par un script écrit en langage python. De cette manière, un utilisateur peut réaliser les tâches courantes graphiquement et automatiser certaines opérations à partir de la console. SALOME fournit un pré- et un post-traitement aux simulations numériques par l’intermédiaire de composants (figure 2.1). Ces derniers sont des briques réalisant un travail donné. Il est possible d’en développer de nouveaux, comme dans [Bon06]. Les composants standards sont au nombre de quatre : GEOM, SMESH, VISU et YACS.
GEOM Il permet de définir une géométrie de manière continue en combinant des primitives solides et des surfaces. De nombreuses opérations de génération et de transformation sont mises à disposition, comme les extrusions, les révolutions, les translations, les rotations, les explosions (un objet est décomposé en éléments de dimensions inférieures), … Il fournit les principales tâches d’un outil de CAO et supporte les formats de fichiers standards (IGES, BREP, STEP, UNV, MED, …).
SMESH A partir d’une géométrie, cet outil réalise un maillage. Le module s’appuie sur des mailleurs existants comme NetGEN ou GHS3D, qu’il intègre. De cette manière, il est possible de définir des choix sur les maillages (i.e. régularité, dimension), sur les mailles (i.e. forme triangulaire, critère d’aspect) et sur les arêtes (i.e. nombre et répartition des noeuds). Les résultats possibles sont donc très variés. Ce composant permet également de réaliser des remaillages lorsque les frontières du modèle sont fermées. Par exemple, en deux dimensions, il est possible de remailler l’intérieur d’un carré si son contour est fourni.
VISU Cet outil de post-traitement permet de visualiser les champs résultats des calculs d’un code. Il est possible d’afficher les données par niveaux de couleurs en fonction de leur valeur, de réaliser des seuillages, de tracer des lignes de courant, … De plus, la modification et la combinaison de champs sont accessibles par script python et permettent d’en créer de nouveaux. Il est par exemple possible, à partir d’un champ de vitesses, d’en définir un nouveau où les valeurs sont élevées au carré. Ce composant permet également d’obtenir des informations sur la qualité du maillage.
Déformations physiques
Les méthodes de déformations physiques (physics-based modeling methods) sont des approches faisant intervenir des équations de la physique. Elles résolvent directement ces équations ou approchent itérativement le résultat, permettant ainsi d’obtenir une déformation réaliste. L’étude [NMK_06] les détaille. Dans ce qui suit, seules les plus pertinentes pour répondre à notre problématique sont présentées. La méthode proposée dans [vFTS06] utilise un champ de vecteurs à divergence nulle pour interpoler le déplacement d’un ensemble de points définis sur le maillage. L’approche permet de réaliser la déformation d’un maillage sans créer d’intersections de mailles, tout en conservant les détails, en préservant le volume et en aboutissant à un résultat C1-continu. Son principal inconvénient reste néanmoins la difficulté de construction du champ de vecteurs ([BPK_08]). Dans [Hel03], le déplacement d’un ensemble de noeuds est imposé et un système utilisant l’opérateur laplacien est résolu pour pouvoir calculer la nouvelle position des noeuds restants. Les résultats sont de bonne qualité mais se dégradent à mesure que les déplacements augmentent. Botsch et al. proposent dans [BPWG07] une méthode s’appuyant sur l’énergie élastique pour réaliser des déformations lisses. Ils commencent par intégrer le maillage à déformer dans un ensemble de cellules volumiques.
Le déplacement de ces dernières est ensuite gouverné par la minimisation d’une énergie élastique. La position finale des noeuds du maillage est obtenue par interpolation RBF du déplacement de chaque cellule. La figure 2.7 illustre le résultat obtenu sur un maillage. Certaines parties sont des zones de modification imposées et les autres sont déplacées en tenant compte de l’énergie élastique. Le résultat est de bonne qualité mais ce type d’approches souffre de l’impossibilité de fixer des déplacements à des noeuds particuliers. Son application est orientée vers une interaction avec un utilisateur. Sumner et al. ([SSP07]) construisent un graphe pour déformer l’espace dans lequel est plongé un objet. A chaque noeud du graphe est attribué une transformation affine rigide et une fonction d’énergie est associée à la déformation. Après minimisation de cette dernière, l’objet complet est modifié. Les conclusions sont identiques à la précédente approche. L’utilisateur doit interagir avec la méthode et il est impossible de fixer des déplacement précis aux noeuds.
Table des figures |