# Intégration de la méthode XFEM dans le processus de CAO

Vincent François, Eric Béchet, Jean-Christophe Cuillière

► To cite this version:

Vincent François, Eric Béchet, Jean-Christophe Cuillière. Intégration de la méthode XFEM dans le processus de CAO. 11e colloque national en calcul des structures, CSMA, May 2013, Giens, France. hal-01717087

HAL Id: hal-01717087

https://hal.science/hal-01717087v1

Submitted on 25 Feb 2018

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC0 1.0 - Universal - International License
# Intégration de la méthode XFEM dans le processus de CAO

Vincent FRANCOIS<fnref n="1" /> *, Eric BECHET<fnref n="2" />, Jean-Christophe CUILLIERE<fnref n="1" />

**Résumé** — Depuis plusieurs années, des techniques de simulation par éléments finis étendus (XFEM) ont été développées. Ces techniques permettent fondamentalement d'inclure des discontinuités dans la formulation du problème. La géométrie de la pièce et donc du domaine d'étude peut alors être vue comme une discontinuité géométrique. C'est le cas en mécanique de la rupture où l'étude des propagations de fissures peut être réalisée à l'aide des méthodes XFEM. L'idée de cet article est de montrer comment généraliser cette utilisation de la méthode XFEM à l'ensemble d'une pièce mécanique modélisée en CAO. L'objectif est de déterminer un modèle XFEM à partir d'un modèle CAO comme les modèles FEM le sont actuellement. Cet outil permettrait alors notamment d'envisager d'effectuer plus facilement des simulations de phénomènes comportant des frontières libres.

**Mots clés** — BREP, XFEM, CAO, Maillage

## 1. Introduction

La méthode des éléments finis est aujourd'hui bien implantée dans le processus de développement de produits par la CAO. En pratique, la plupart des systèmes commerciaux de CAO présentent des fonctions de calcul par éléments finis. Ceci est le fruit d'une multitude de travaux de recherche sur l'intégration de la méthode des éléments finis dans les systèmes de CAO qui ont été réalisés au cours des années 90. En effet, c'est en grande partie grâce à l'ensemble des travaux sur le maillage automatique tridimensionnel que l'on peut aujourd'hui créer un modèle éléments finis directement à partir de la définition du modèle géométrique [1]. La phase de maillage peut ainsi être complètement transparente pour l'utilisateur. Ces améliorations ont apporté un gain énorme de productivité des simulations par éléments finis. Cependant, le cas où une simulation numérique est effectuée sur un domaine dont la définition varie au cours de la simulation, dans le cadre de l'optimisation de forme par exemple, reste complexe à traiter. En effet, il est alors nécessaire de faire une simulation par itérations où la définition géométrique est mise à jour à chaque itération. Cela entraine une mise à jour du maillage. Des techniques de remaillage permettent d'adapter le maillage aux modifications du modèle géométrique. Elles sont généralement fastidieuses et coûteuses en temps. Pour éviter ces inconvénients, d'autres avenues ont été envisagées par le passé dont l'utilisation de la méthode des éléments finis étendus (XFEM). Cette méthode a été utilisée à l'origine pour simuler la propagation de fissures, une fissure étant considérée comme une discontinuité dans la matière du corps à étudier qui varie au cours de la simulation. Pour fonctionner, la simulation de la propagation d'une fissure par la méthode classique nécessite une adaptation très fine du maillage à chaque itération pour obtenir un maillage conforme qui permette la convergence de la méthode. Dans la méthode XFEM, la fissure n'est pas définie comme faisant partie de la description géométrique du domaine d'étude, mais plutôt comme une discontinuité dont on ne tient compte que lors du calcul. Ainsi, la description géométrique du corps reste invariante au cours de la simulation et la propagation de la fissure est définie par un mouvement de cette discontinuité. La formulation XFEM permet en effet de prendre en compte une

<footnote n="1">1 ERICCA, Département Génie Mécanique UQTR, 3351 Boulevard Des Forges, QC, Canada, Vincent.Francois@uqtr.ca, Jean-Christophe.Cuilliere@uqtr.ca.</footnote>

<footnote n="2">2 Université de Liège, LTAS - Département Aérospatial et Mécanique, Chemin des chevreuils, 1, B-4000 Liège, Belgique, eric.bechet@ulg.ac.be</footnote>

<footnote>* Auteur correspondant</footnote>
discontinuité sur un élément fini. La solution retenue pour modéliser une discontinuité est l'utilisation des surfaces de niveau ou level-set. Une surface de niveau est une fonction distance, définie sur le domaine d'étude au complet, qui indique la distance entre un point et la discontinuité. La discontinuité est donc représentée par l'iso-surface du champ de distance de valeur 0.

Cette méthode a fait ses preuves dans le domaine de la mécanique de la rupture [2]. Elle peut aussi se généraliser à la modélisation complète d'une pièce [3]: l'ensemble de la géométrie d'une pièce peut être définie comme une ou des discontinuités de géométrie sur un domaine d'étude (donc un maillage) qui englobe la pièce et qui ne respecte aucune frontière du corps. Un tel outil permet de simuler plus facilement des modèles aux frontières libres tels que la simulation de l'usinage, la simulation d'un fluide dans une membrane flexible (un vaisseau sanguin par exemple), etc. Cet article se veut une discussion sur les différentes méthodes pour construire cet outil. Pour concevoir cet outil, il faut définir l'ensemble des frontières du domaine comme une ou des level-set. Bien évidemment, de la même façon que la méthode des éléments finis classique, la nouvelle méthode doit pouvoir être complètement intégrée dans un système de CAO. Le problème revient donc à traduire un modèle CAO en un modèle à base de level-set. Dans cet article, des outils qui permettent de déduire automatiquement un modèle pour les méthodes XFEM à partir d'un modèle CAO classique sous la forme d'un BREP (Boundary Representation) sont présentés.

## 2. Modèle CAO et modèle implicite

Aujourd'hui, la plupart des ingénieurs utilisant les simulations numériques utilisent des outils provenant des logiciels de CAO pour construire leurs modèles. Les deux types de modèles les plus courants [4, 5] sont basés sur les modèles CSG (Constructive Solid Geometry) et les modèles BREP (Boundary Representation). Cependant la plupart des outils de conception intégrés à la CAO n'utilise que le modèle BREP.

### 2.1. Définition d'un modèle BREP

Le modèle BREP consiste à décrire un domaine solide par une représentation structurée et orientée de sa frontière (figure 1). Il contient donc une liste de faces connectées entre-elles et où, pour chacune de ces faces, l'intérieur et l'extérieur du solide sont parfaitement bien définis.

<figure><img src="image_2.png" /><figcaption>Fig. 1. Modèle BREP d'un solide</figcaption></figure>

Les informations présentes dans le modèle (figure 2) sont de deux types :

* Les informations géométriques : ce sont les définitions mathématiques des entités. Ainsi chaque information géométrique est associée à un objet mathématique : 3 coordonnées pour un point, une équation paramétrique à une variable pour une courbe et une équation paramétrique à 2 variables pour une surface.

* Les informations topologiques : ce sont les relations qui permettent d'orienter et de connaitre les voisins de chaque entité géométrique.
<figure><img src="image_3.png" /><figcaption>Fig. 2. Structure d'un modèle BREP</figcaption></figure>

## 2.2. Définition d'un modèle implicite

Le modèle utilisé pour effectuer un calcul CAO est appelé ici « modèle implicite ». En effet, les frontières d'un solide sont décrites par des fonctions level-set [6]. En fait, ces fonctions définissent une distance signée par rapport à la frontière du solide. Ainsi et contrairement au modèle BREP, les frontières ne sont pas explicitement définies mais elles sont obtenues en recherchant les lieux ou les fonctions level-sel sont nulles. Ces lieux sont nommés level-set 0.

Ces fonctions level-sel ont la particularité d'être définies sur l'ensemble du domaine et elles ont une propriété fondamentale dans ce cas : elles sont de continuité $C^2$.

Or les frontières d'un modèle BREP sont de continuité $C^0$. La frontière du modèle ne peut donc pas être décrite par une seule fonction level-set puisque les discontinuités en dérivée (les arêtes du modèle en fait) ne pourraient pas exister. La solution est donc de déterminer une fonction level-set par face du modèle BREP et les discontinuités en dérivée apparaissent alors comme l'intersection de deux fonctions level-set.

Par définition les lieux où la fonction level-set vaut 0, sépare l'espace d'étude en deux demi-espaces et traverse tout le domaine (figure 3).
<figure><img src="image_4.png" /><figcaption>Fig. 3. Définition d'une level-set</figcaption></figure>

Or dans un modèle BREP, il y a deux types de faces (figure 4) :

* Certaines faces ont pour surface sous-jacente une surface dont les paramètres u et v peuvent varier de -∞ à +∞. C'est le cas de toutes les surfaces classiques telles que les plans, cylindres, sphères et tores. Dans ce cas, une level-set 0 peut être définie parfaitement puisque la surface traverse le domaine d'étude (figure 5).

* Certaines faces ont pour surface sous-jacente une surface qui est bornée. Ces bornes peuvent être confondues avec celles de la face ou non. Dans ce cas, il est difficile de définir une level-set 0 et donc une level-set complète puisque la surface ne traverse pas entièrement le domaine et qu'elle ne peut pas découper le domaine en deux (figure 5).

<figure><img src="image_5.png" /><figcaption>Fig. 4. Les deux types de faces présentes dans un modèle BREP</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>Fig. 5. Position des deux types de faces dans le domaine d'étude.</figcaption></figure>

Il apparaît que certaines faces d'un modèle BREP ne permettent pas de définir aisément une level-set 0 partageant l'espace en deux demi-espaces.

Malgré ces incompatibilités, un modèle implicite appelé modèle IBREP est défini pour pouvoir décrire le modèle BREP.
Il comprend :

* Un domaine d'étude parallélépipédique qui englobe complètement la pièce à modéliser. Ce domaine est maillé automatiquement à l'aide de tétraèdres en utilisant des méthodes classiques [7] telles que la méthode octale ou la méthode de Delaunay. Ce maillage est extrêmement rapide à obtenir puisque le domaine est de forme très simple. On note $\mathcal{T}$ l'ensemble des mailles de ce maillage.

* Une level-set 0 est construite pour chaque face du BREP. Cette dernière n'est cependant définie que dans les mailles qui intersectent la face. De cette manière, le traitement est le même, que la surface sous-jacente à la face soit bornée ou non. Étant donné que seule la level set 0 est utile pour l'application, le reste de la fonction distance sur le domaine au complet n'est pas conservé.

* Les discontinuités en dérivée (les arêtes) sont définies par intersection des level-set 0.

### 3. Transformation des données CAO en Level-set

La discussion du paragraphe précédent montre que la définition du modèle IBREP consiste à traduire chacune des faces du modèle BREP en une level-set 0. Le problème de traduction revient alors à créer un outil qui détermine une level-set 0 à partir d'une face. L'algorithme développé pour réaliser cette opération est :

1. Création d'un échantillonnage de points assez dense sur la face.

2. Recherche de la liste $\ell$ de tétraèdres du maillage du domaine $\mathcal{T}$ qui contiennent au moins un point d'échantillonnage.

3. Pour chaque nœud appartenant à $\ell$, la distance entre le nœud et le point d'échantillonnage le plus proche $p_e$ est calculée.

4. Pour chaque nœud appartenant à $\ell$ la distance entre le nœud et la face est calculée. Ce calcul est effectué en résolvant les équations suivantes par la méthode de newton, initialisée avec $p_e$ (le calcul de $p_e$ dans l'étape 3 assure que la méthode de newton converge) :

$$ \left\{ \begin{array}{l} \displaystyle \frac{\partial x(u, v)}{\partial u} \cdot \vec{D} = 0 \\ \\ \displaystyle \frac{\partial x(u, v)}{\partial v} \cdot \vec{D} = 0 \end{array} \right. $$

$\vec{D}$ est le vecteur entre le nœud et son projeté sur la face. La distance recherchée est $||\vec{D}||$.

5. À ce stade, on a identifié une liste de tétraèdres $\ell_f$ dont les 4 nœuds ont été utilisés pour calculer une distance. Dans ces tétraèdres la level-set 0 est définie. En fonction de la densité de l'échantillonnage de l'étape 2 et en fonction de certaines configurations locales (figure 6), la level-set 0 peut intersecter des tétraèdres qui ne possèdent pas de point d'échantillonnage et cet ensemble peut donc être incomplet.
<figure><img src="image_7.png" /><figcaption>Fig. 6. Configuration locale particulière : la taille de la zone d'intersection entre un tetraèdre et la level-set 0 est petite si bien qu'il est peu probable que cette zone soit échantillonée.</figcaption></figure>

6. Un algorithme par progression de couches permet de retrouver ces tétraèdres manquants : l'ensemble des tétraèdres voisins d'un tétraèdre de $\emptyset$ qui possèdent 3 nœuds dont la distance a été calculée forme une couche. Pour chacun de ces tétraèdres la distance du quatrième nœud à la face est calculée en initialisant la méthode de newton sur un point d'intersection entre le tétraèdre voisin de $\emptyset$ et la level-set 0. On vérifie ensuite que l'intersection entre ce tétraèdre et la level-set 0 reste à l'intérieur de la face. La couche est mise à jour et l'algorithme se termine quand la couche est vide.

7. La level-set 0 correspondant à une face est complètement déterminée.

## 4. Résultats

Une simulation par la méthode XFEM est obtenue à travers les étapes suivantes :

* Création d'un maillage englobant (figure 6b) le modèle BREP (figure 6a).

* Calcul de l'iso 0 d'une level-set pour chaque face définissant la géométrie du modèle avec une procédure qui assure que toutes mailles traversées par l'iso 0 soient traitées (figure 6c).

* Les sommets et les arêtes du modèle sont régénérés par intersection de level-set 0.

* Une procédure spéciale (figure 6d) est utilisée pour régénérer les arêtes virtuelles (arête liant deux faces tangentes, figurant dans le modèle BREP mais ne correspondant pas à une discontinuité géométrique). De telles arêtes virtuelles où la continuité $C^2$ ou $C^1$ est assurée sont courantes dans les modèles CAO. Les level-set 0 ne s'intersectent pas convenablement le long de ces arêtes pour d'évidentes raisons numériques. Il est par conséquent impossible de retrouver les arêtes correspondantes par intersection. Dans un premier temps, ces arêtes pourraient être supprimées mais elles ont souvent un rôle au niveau de l'imposition des conditions aux limites du modèle numérique de simulation. Un moyen utilisé ici pour les reconstruire est de créer une level-set 0 d'une face virtuelle orthogonale aux deux faces tangentes permettant d'éviter les problèmes numériques lors du calcul d'intersection.

* Application d'un calcul XFEM sur le modèle ainsi créé. Cette phase comprend le découpage, la formulation et la résolution d'un modèle XFEM (figure 6e)
<figure><img src="image_8.png" /><figcaption>Fig 6. Les différentes étapes d'un calcul XFEM sur un modèle CAO</figcaption></figure>

**5. Perspectives**

L'exemple du paragraphe précédent montre la faisabilité de l'intégration des modèles XFEM dans
le processus CAO. Néanmoins, il montre également que cette intégration présente encore plusieurs
difficultés :

* En observant bien la figure 6d, il apparaît qu'il y a un trou (dans le cercle) dans la représentation par les level-set 0. Ce trou est dû au fait qu'un morceau d'arête passe dans un tétraèdre alors que le découpage de la level-set 0 qui est une approximation de la vraie arête ne passe pas dans ce tétraèdre. Une solution serait d'utiliser des éléments finis quadratiques. L'erreur serait minimisée mais elle ne serait pas supprimée. Or, pour former un volume, son enveloppe extérieure doit être parfaitement fermée, ce qui constitue un requis fondamental d'un modèle BREP. La conséquence de cette erreur est de perturber l'algorithme de découpage qui peut ne pas distinguer l'intérieur de l'extérieur du volume. Dans ce cas, le découpage ne permet pas de s'assurer que tous les éléments sont classés convenable à l'intérieur ou à l'extérieur du volume.

* En théorie, l'intersection de deux faces et donc de deux level-set 0 permet de définir une arête. En réalité, c'est un peu plus compliqué. En effet, non seulement l'arête doit être recalculée mais elle doit aussi être mise en correspondance avec celle du modèle BREP pour pouvoir appliquer correctement les conditions aux limites sur le modèle XFEM. Il en est de même pour les sommets qui peuvent être calculés en intersectant 3 level-set 0. Dans le modèle implicite IBREP, les informations topologiques du modèle BREP initial doivent donc impérativement être présentes.

* Le découpage de 3 level-set 0 permet de définir parfaitement un sommet. Mais en pratique, il est extrêmement fréquent que plus de trois faces soient incidentes en un même sommet. Dans ce cas le découpage des level-set 0 devrait en théorie définir le sommet de façon équivoque, mais en pratique l'erreur numérique introduite par le découpage permet de définir plusieurs sommets, chacun correspondant à l'intersection d'un groupe unique de trois level-set 0. On aboutit donc une définition multiple de ces entités. L'idée en cours de validation pour éviter ce problème est de prédécouper le maillage par les sommets et les arêtes du modèle BREP avant d'appliquer le découpage des level-set 0. On impose ainsi la solution des intersections entre les level-set 0 sur le pré-découpage afin de s'assurer de fermer convenablement le volume. La correspondance entre le modèle XFEM et le modèle BREP serait alors obtenue a priori. Cette solution, bien qu'à priori séduisante, amène
néanmoins un questionnement important : la volonté de généraliser la méthode XFEM est de pouvoir solutionner des problèmes aux frontières libres. En imposant ce pré-découpage, on impose aussi que le modèle BREP et le modèle XFEM soient dans le même état à tout instant d'un calcul. Or, l'avantage des modèles XFEM est de pouvoir déplacer les frontières plus facilement que dans un modèle BREP. Dans notre cas, le déplacement devra s'effectuer sur les deux modèles. C'est une difficulté supplémentaire mais des solutions existent à l'ensemble des problèmes rencontrés [8, 9]. L'utilisation du modèle XFEM reste néanmoins un gain pour ces simulations qui peuvent être réalisés avec un seul maillage contrairement aux méthodes FEM où des remaillages et des projections de résultats d'un maillage sur un autre sont nécessaires à chaque itération.

## 6. Conclusion

L'objectif de cet article est de montrer qu'il est possible d'intégrer le calcul XFEM dans le processus de CAO, comme le calcul FEM l'a été antérieurement. Bien que cette démonstration soit faite, il s'avère qu'il y a encore un travail important à mener afin de trouver des algorithmes plus robustes. Il s'avère également que leur intégration reste très sensible aux erreurs numériques intrinsèques à ces méthodes. Les problèmes les plus importants ont été identifiés et des propositions sont formulées afin de les résoudre.

## 7. Références bibliographiques

1. Francois, V., J.-C. Cuilliere, and M. Gueury, Methodes de remaillage automatique appliquees à la modification de modeles. Revue Europeenne des Élements Finis, 1999. 8(4): p. 433-454.

2. Béchet, E., et al., Improved implementation and robustness study of the X-FEM for stress analysis around cracks. International Journal for Numerical Methods in Engineering, 2005. 64(8): p. 1033-1056.

3. Sanches, R.A.K., P.B. Bornemann, and F. Cirak, Immersed b-spline (i-spline) finite element method for geometrically complex domains. Computer Methods in Applied Mechanics and Engineering, 2011. 200(13-16): p. 1432-1445.

4. Mantyla, M., An introduction to solid modeling, ed. C.S. Press1988.

5. Mortenson, M.E., Geometric Modeling, ed. Wiley1985.

6. Sethian, J., Level-set methods & Fast Marching Methods : Evolving interfaces in Computational Geometry, Fluid Mechanics, Computer Vision and Material Sciences, ed. C.U. Press1999.

7. Frey, P.J. and P.-L. George, Maillages applications aux éléments finis, ed. H. Science1999.

8. Gasparini, R., T. Kosta, and I. Tsukanov, Engineering analysis in imprecise geometric models. Finite Elements in Analysis and Design, 2013. 66(0): p. 96-109.

9. Louhichi, B., et al., An optimization-based computational method for surface fitting to update the geometric information of an existing B-Rep CAD model. International Journal of CAD/CAM, 2009. 9(1).