Modélisation mécanique à base topologique
Lien entre modèle topologique et modèle physique
Le chapitre 2 a montré que les modèles physiques peuvent se baser ou non sur un maillage. Dans le cas de modèles physiques non maillés ou meshless, la condition de variété n’est utile que pour la visualisation de l’objet. Dans ce cas, une base topologique peut être un support au modèle géométrique servant à la visualisation de l’objet, si l’on souhaite pouvoir faire varier la topologie de cet objet. Dans le cas de modèles physiques maillés, il apparaît opportun qu’un modèle topologique sous-jacent au modèle mécanique permette de gérer les modifications topologiques que cet objet doit pouvoir subir. Dans le premier cas, on parle de modèle à base mécanique [LCM+14], dans le second cas, on parle de modèle à base topologique. Concernant les approches à base mécanique, l’approche développée par les laboratoires ICA et XLIM [DKS+11] montre l’intérêt d’utiliser les G-cartes pour bâtir un habillage à topologie variable pour un modèle mécanique de type masses/ interactions. Des phénomènes comme la fusion, les déchirures et les fractures peuvent être représentés par des transformations du modèle visuel, sans que le modèle masses/interactions sous-jacent, en charge du mouvement, ne nécessite de modifications. Dans cette approche, les auteurs utilisent le système CORDIS-ANIMA. Les sommets du modèle topologique sont ici directement associés aux particules (éléments MAT) du modèle mécanique. Des arêtes sont construites à partir de l’ensemble ou d’un sous-ensemble des interactions (éléments LIA). Cette approche a été généralisée par la suite [JAD+12], afin que chaque sommet soit associé à un ensemble d’éléments MAT pour calculer sa position au cours du temps. Une mise à jour topologiquement cohérente de ces sous-ensembles est alors proposée lorsqu’une modification topologique apparaît (qu’elle soit pilotée par le modèle mécanique ou déduite de son comportement) et qu’un sommet du modèle topologique se subdivise en plusieurs. Enfin, il est possible que le modèle mécanique soit explicitement à l’origine des modifications de l’habillage topologique : c’est par exemple le cas des éléments MAT éclatables [KLC14] qui permettent de mieux gérer les modifications du modèle topologique [RCDL18]. La suite de ce document se focalise sur les modèles à base topologique, donc exclusivement maillés. L’utilisation de modèles topologiques élaborés de type cartes combinatoires ou assimilés n’est pas très répandue dans le monde de la simulation. Citons, par exemple, la bibliothèque SOFA [Sof], qui se base essentiellement sur un modèle de graphe d’incidence indicé, avec les conséquences indésirables que nous avons énumérées en section 3.3.1. Certaines simulations d’objets 2D avec modifications topologiques se sont sans aucun doute basées sur des modèles de type arêtes ailées ou demi-arêtes, sans toutefois nécessairement le signaler (par exemple, en simulation chirurgicale, pour la simulation de déchirure de tissus biologiques au début des années 2000). Seuls des travaux récents comme [SvWC14] mentionnent explicitement l’utilisation des demi-arêtes. Citons néanmoins des travaux précurseurs comme ceux de Nienhuys et al. [NvdS00], dans lesquels un modèle topologique simplicial est utilisé pour simuler la découpe dans un maillage, obligatoirement triangulaire en 2D ou tétraédrique en 3D, animé par la méthode des éléments finis. Nous présentons dans la suite de ce chapitre des approches à base topologique où le maillage est décrit par des cartes combinatoires.
Simulation à base de maillages tétraédriques
La première approche, dans laquelle est montré l’intérêt de simuler des objets déformables en basant un modèle physique sur un maillage décrit pas des cartes combinatoires est celle de Meseure et al. [MDS10]. Dans leur approche, les auteurs utilisent le modèle masses/ressorts comme modèle mécanique et le modèle des cartes généralisées comme modèle topologique. Dans le modèle proposé, seuls des objets représentés par des maillages tétraédriques peuvent être simulés, car seuls les ressorts d’élongation sont modélisés. Les auteurs proposent également dans leur approche, des méthodes de changements topologiques comme la séparation des volumes ou leur suppression pour effectuer des opérations de découpe et de déchirure au cours de la simulation. Ces transformations topologiques sont basées sur une opération fondamentale, la décousure α3, qui permet de séparer deux volumes adjacents. L’opération de décousure est également nécessaire à la suppression de volume puisque ce dernier doit préalablement être isolé (donc décousu de ses volumes adjacents) avant d’être supprimé. Quelques résultats de leurs transformations topologiques sont montrés sur la figure 4.1.Dans cette approche, il est discuté de l’intérêt de stocker dans la structure topologique, en tant que plongement, toutes les propriétés ou informations mécaniques. Une particule est ainsi associée à un sommet c’est-à-dire à une 0-cellule. Dans les sommets sont plongées les propriétés des particules comme la masse, la viscosité dans le milieu ambiant, etc. ainsi que des informations d’état comme la position, la vitesse, le bilan des forces exercées. Dans ce modèle, les interactions sont retreintes aux ressorts d’élongation, positionnés sur les arêtes, ce qui empêche l’extension de l’approche à des maillages non simpliciaux, puisque ces derniers nécessitent des ressorts de cisaillement, ainsi qu’à son utilisation en 2D, puisque les ressorts de courbure ne sont pas pris en compte non plus. Le modèle se réduit ainsi aux seuls maillage tétraédriques. Dans cette étude, il est mis en évidence que toute cellule qui, suite à une opération de décousure α3, éclate en plusieurs cellules doit mettre à jour ses informations mécaniques : la masse et la viscosité des particules aux sommets, la raideur des ressorts d’arêtes, etc. Par exemple, quand un sommet est éclaté, les auteurs choisissent de dupliquer sa position et sa vitesse dans les nouveaux sommets. Leur masse est obtenue en calculant la somme des masses fournies par chaque volume qui leur est incident. Précisons que, dans cette approche, les auteurs considèrent que la masse d’un tétraèdre est répartie équitablement entre ses quatre sommets : ms = X i∈tetra(s) mi/4 (4.1) De la même manière que pour la masse, la raideur d’un ressort placé sur une arête est égale à la somme des raideurs apportées par chaque volumes incidents à l’arête (loi de Kirchhoff pour les ressorts disposés en parallèle). Après l’éclatement, chaque nouvelle arête doit recalculer sa propre raideur, à partir de ses volumes incidents. Par ailleurs, pour des raisons de rapidité d’accès, les auteurs ont utilisé une structure simplifiée, à base d’indices, pour permettre un accès immédiats aux sommets, arêtes et volumes ainsi qu’aux faces externes (α3-libres) pour l’affichage. Quelle que soit la cellule, la structure simplifiée est constituée d’une liste fournissant, pour chaque cellule, un brin représentant la cellule et un lien vers le(s) plongement(s) porté(s) par celle-ci. Cette structure est nécessaire car le moteur Moka utilisé [Mok] ne propose pas d’outils efficaces pour parcourir spécifiquement les cellules (des parcours de type « Pour tous les sommets/arêtes/faces/volumes faire » ; les parcours proposés reviennent toujours à parcourir toute la carte, ce qui est coûteux). Ce manque a été pallié dans des moteurs de cartes plus récents comme CGoGN [CGo] par exemple. Cette solution a permis d’améliorer le temps d’exécution de leur méthode, mais elle nécessite la mise à jour de cette structure indicée redondante après tout changement topologique (aucune solution de mise à jour incrémentale n’est proposée, tous les tableaux sont complètement recalculés). Cette approche met en exergue le fait que toute structure redondante au modèle topologique se paie généralement par l’obligation de mises à jour et par l’absence d’une garantie de cohérence. Plus récemment, Meseure et al. [MDST15] ont étendu leur approche pour simuler également des maillages tétraédriques, mais dont les lois de comportement sont basées sur la mécanique des milieux continus, résolue par la méthode des éléments finis explicites (petits déplacements ou co-rotationnel). Des plongements sont à ajouter, comme par exemple le plongement dans les tétraèdres de leur matrice de raideur, ainsi que la matrice inverse des positions des sommets lors de l’utilisation de la méthode du co-rotationnel. Les auteurs ont également défini une transformation topologique plus complexe, à savoir une opération de subdivision offrant une résolution adaptative du maillage. Là aussi, des mises à jour des plongements sont nécessaires après la subdivision : découpage de ressorts en groupes de ressorts positionnés en série, calcul des matrices éléments finis des sous-tétraèdres, re-calcul des masses des sommets impliqués, etc. Le moteur de G-cartes n’ayant pas été modifié, les structure externes à base d’indices sont toujours utilisées dans cette version. Dans [PUC+15], Paulus et al. ont également utilisé une base topologique de type cartes orientées avec un modèle physique basé sur la mécanique continue et résolue avec la méthode des éléments finis étendues (extended FEM ou XFEM) pour simuler les découpes dans des maillages tétraédriques. Cette méthode se base sur des fonctions d’interpolation linéaires ou quadratiques présentant des discontinuités aux zones de découpe. Ils ont également défini des transformations topologiques plus complexes comme la modification de maillage basée sur une subdivision √ 3 (méthode dite « flip/flap ») pour adapter la forme de l’élément à la découpe qui doit être appliquée au maillage. Des mise à jour de propriétés mécaniques (masses et matrices éléments finis) sont effectuées après la modification topologique. Les auteurs ont confirmé que leur travail est basé sur les cartes orientées mais aucune information concernant l’implantation et en particulier les plongements choisis n’est fournie.