- il y a 6 mois
Catégorie
📺
TVTranscription
00:05Je voudrais tout d'abord remercier les membres du jury d'avoir accepté de venir évaluer mes
00:09travaux de thèse. Ces travaux ont été intitulés « Polytube robuste pour le maillage et les
00:16hédriques structurés par Bloch » sous la direction de Franck Ledoux et sous l'encadrement de Christophe
00:21Borsier au CEA. Pour illustrer mon propos, je vais prendre l'exemple de l'analyse au choc froid dans
00:28la maquette Toplo PTS. Ici, nous avons une représentation simplifiée d'une partie d'un
00:34réacteur nucléaire avec une partie de la tube, le circuit primaire, et en cas de perte de
00:43réfrigérant pour éviter une surchauffe du cœur, de l'eau est injectée directement dans le circuit
00:48primaire. L'eau se mélange aux fruits caloporteurs qui sont beaucoup plus chauds et cela crée un des
00:57transitoires les plus sémères qui puissent arriver à une cuve de réacteur et l'enceinte peut se fissurer
01:03sous les contraintes thermomécaniques de l'injection brutale d'eau froide. D'où le nom PTS pour
01:15un choc thermique pressurisé. Pour utiliser ce phénomène, nous avons deux moyens à notre
01:23disposition. L'expérimentation, on construit une maquette expérimentale de ce phénomène et
01:34passer le capteur afin de mesurer les grandeurs d'intérêt, ou par le biais d'assimulation
01:38numérique avec des modèles mathématiques de la physique, en utilisant ce qu'on appelle un code de
01:45calcul, qui est un logiciel qui va venir utiliser ces modèles pour simuler le phénomène. Ici,
01:54c'est le code de calcul, le Neptune 6CFD, en récaline des fruits. Alors, plusieurs intérêts de la
02:03simulation numérique. Le premier, c'est qu'on peut étudier des phénomènes accidentels qui sont
02:11dangers. On peut faire varier les paramètres physiques. Et puis, on peut observer des modèles d'intérêt dans
02:19tous les modèles, on est limité par les capteurs. Il n'y a pas le choix arrêté à faire entre
02:23expérimentation et simulation. Les deux se complètent. Et notamment, les résultats des
02:28expérimentations nourrissent les codes de calcul et nous permettent de les valider.
02:34La simulation numérique en quelques mots. On va utiliser un modèle. Ici, un modèle d'un support
02:40en équerre. Et les conditions limites. On va appliquer une force sur l'équerre, ici.
02:50Pour résoudre les équations sur ce modèle complexe. On vient simplifier le problème en petits morceaux.
02:59On vient discretiser l'espace, ici en triangle, qui s'appelle le maillage. Et après, on peut observer les résultats
03:09de la simulation numérique sur le maillage des fouets. Ici, le déplacement, les contraintes
03:15mécaniques et l'effort. Le CMDF co-développe une plateforme, qui s'appelle Salomé, qui permet de
03:23faire du pré-traitement et du post-traitement de simulation numérique. Avec la conception de
03:29cité par ordinateur, la génération de maillage. Maillage qui est ensuite fourni en entrée d'un
03:35code de calcul. Ici, un code de calcul en médecine des structures, la SEM. Et le résultat de la simulation
03:41peut être visualisé dans la même plateforme.
03:47Un maillage est constitué de plusieurs éléments. D'abord, les sommets, les dimensions zéro, les
03:55arêtes qui viennent connecter ces sommets entre eux, et les faces, les éléments en 2D. Alors, en 2D,
04:02musulman, il faut principalement utiliser les triangles et les quadrongles. Et en 3D, ça nous intéresse,
04:08non pas les tétraèdres, mais les exhalèdres, les éléments à 6 faces. Pourquoi faire du maillage
04:16exhalèdrique et pas simplement du maillage tétraèdrique ? Tout d'abord, la précision. En premier lieu, parce que
04:24en mécanique des fluides, on va mieux capturer les couches limites. En mécanique des structures, nous allons avoir 8 points
04:34de
04:34Gauss pour le calcul contre 1 pour un tétraèdre. Le calcul est plus efficace, pour un nombre de cellules identiques,
04:51l'intérêt du maillage exhalèdrique. Et enfin, pour une taille de maille donnée, on va avoir moins d'éléments
04:59avec un maillage exhalèdrique, et donc un calcul plus rapide, puisqu'on remonte le calcul par itération.
05:05Le rapport d'aspect est généralement meilleur, ça permet de mieux capturer les flux. Et parfois, nous n'avons pas
05:11le choix,
05:11c'est le code de calcul qui est contraint d'utiliser les éléments exhalèdriques. En pratique, plusieurs outils à notre
05:18disposition.
05:19Des outils entièrement automatiques, mais avec une qualité de maillage qui n'est pas forcément suffisante pour un code de
05:26calcul,
05:27ou une approche interactive. Pour ce qui est, les méthodes les plus robustes, qui contiennent le plus grand nombre d
05:35'objets 3D,
05:36c'est des méthodes par intercession de grilles. On va venir découper l'espace avec une grille régulière,
05:43et ensuite raffiner pour venir se plaquer à la surface. Et une méthode interactive, de l'autre côté,
05:53il s'agit de placer des blocs, et de faire une association entre les arêtes de nos blocs, et les
05:59arêtes de la géométrie.
06:01Ce qui permet d'obtenir un maillage de bonne qualité.
06:04Il faut savoir que pour des géométries complexes, cela requiert le travail d'un ingénieur spécialisé,
06:12qui peut durer de plusieurs jours à plusieurs semaines pour les géométries les plus difficiles.
06:19Le maillage que je vous ai montré pour la simulation sur Topflow a été réalisé par une approche interactive.
06:27Ce qui nous intéresse, c'est d'avoir dans notre boîte à outils, d'autres outils logiciels, d'autres algorithmes,
06:33qui permettent de générer des maillages électriques de bonne qualité,
06:38en étant aussi automatiques que possible, et robustes que possible.
06:43Il faut savoir qu'il y a d'autres approches, certaines qui ont un compromis sur la robustesse,
06:51et nous allons nous intéresser à une méthode, et tenter de la rendre plus robuste,
06:59tout en pouvant utiliser le maillage en sortie pour un code de calcul, et donc la qualité soit suffisante.
07:06Une de ces méthodes s'appelle la méthode des polytubes.
07:08Un polytube, c'est un ensemble de tubes collés les uns aux autres,
07:12ce qui vient former un polyèdre,
07:18borné par des plans orthogonaux.
07:21Et ce que vous pouvez aussi observer comme propriété des polytubes,
07:24c'est que les coordonnées sont entières, de manière à pouvoir décrire des tubes.
07:31Plusieurs articles se sont déjà intéressés à l'utilisation de polytubes pour l'image électriques.
07:37Il s'agit de déformer notre objet d'entrée en un polytube,
07:43de faire une authentification, de venir imposer des coordonnées entières,
07:48et enfin de faire la transformée inverse,
07:50de manière à obtenir un maillage éusahédrique du modèle demandé.
07:57Et une des manières de générer des polytubes,
07:59c'est d'utiliser une triangulation de support,
08:02et de venir représenter sur cette triangulation la surface du polytube
08:06à l'aide d'une affectation,
08:08on va appeler coloriage, on va venir affecter les triangles
08:11à une de ces directions orthogonales.
08:16Je vais commencer par quelques définitions qui vont nous servir à comprendre la suite de la présentation.
08:22Nous parlons ensuite des critères de valorisation des coloriages et leurs limites.
08:28Nous parlons ensuite d'un algorithme génétique,
08:33et son utilisation pour le problème de génération de coloriages de polytubes.
08:37Et enfin une autre approche, une approche pour favoriser la validité des solutions obtenues.
08:47Voici les propriétés que nous souhaitons quand nous voulons faire du maillage éusahédrique.
08:52La structure tout d'abord, elle dépend directement des singularités.
08:56Les singularités vont être les sommets du maillage,
08:58dont la valence n'est pas celle d'une rie régulière.
09:01Ici nous avons une valence de 3, ici une valence de 5.
09:06En identifiant la présence ou l'absence de singularité,
09:10nous pouvons savoir si nous avons affaire à un maillage structuré.
09:13Ici c'est le cas.
09:15Un seul bloc.
09:17Un maillage structuré par bloc va avoir plusieurs singularités,
09:21mais qui vont découper le maillage en un nombre restreint de blocs.
09:26Et enfin un maillage non structuré va avoir beaucoup de singularités,
09:30et donc beaucoup de blocs.
09:33Les solvers ne tirent pas profit de cette absence de structure.
09:39En 3D, cela va être la même chose pour l'image éusahédrique.
09:45Pour mesurer la distorsion des cellules,
09:48nous allons nous intéresser à la géographie du mappage
09:51entre un cube d'unités et l'éusahédrique que nous souhaitons mesurer.
09:58En calculant la matrice jacobienne à un tetrade,
10:03nous pouvons le faire sur chacun des 8 points de l'éusahédre,
10:08et donc en calculer la jacobienne normalisée,
10:13qui va être la métrique que nous avons employée pour mesurer la distorsion des éusahédres.
10:19Ici, nous voyons comment la jacobienne d'un éusahédre est affectée par la déformation,
10:28ici en rapprochant le coin bleu et le coin rouge.
10:31Ici, en rentrant le coin rouge dans le volume,
10:34nous pouvons voir que nous dégradons cette métrique.
10:37Si elle est inférieure à 0, c'est que la cellule a une auto-interception.
10:43Nous allons souhaiter une jacobienne positive,
10:45et la valeur maximale pour un cube et deux points.
10:50Et nous souhaitons aussi la conservation des arrêts de vives.
10:54Ici, les arrêts de vives prescrits par la géométrie.
10:58Et nous voyons que, même en raffinant davantage notre maillage éusahédrique,
11:04nous ne parvenons pas à capturer cette arrêt de vives.
11:09Il faut donc un placement minutieux des singularités
11:12de manière à pouvoir capturer toutes les arrêts de vives.
11:17Pour ce qui est des métriques sur notre polytube,
11:20nous souhaitons tout d'abord qu'il soit compact,
11:23c'est-à-dire qu'il comporte un nombre restreint de tuboïdes.
11:28La distorsion est mesurée avec une triangulation de support.
11:33On va mesurer, sous ce mappage en polytube,
11:38comment sont les triangles, que ce soit en air ou en angle, par exemple.
11:45La conservation des arrêts de vives est mesurée sur un polytube.
11:48Il suffit de voir si une arrête de vives prescrite par la CAO
11:53à une arrête de tuboïdes dans le polytube.
11:58En l'absence, ce qui est le cas ici,
12:01on n'aura pas forcément de ligne d'arrête sur le maillage éusahédrique.
12:09Nous en arrivons au polytube,
12:10qui est une affectation entre les triangles de la surface,
12:15l'image d'étrahydrique,
12:16et les directions plus ou moins y et z.
12:21Nous allons utiliser des couleurs rouge, blanc et bleu pour les axes x et z,
12:27avec une nuance plus sombre pour le sens négatif.
12:36Ici, nous avons un polytube avec une affectation par triangle de l'étiquette,
12:45la direction imposée sur la surface.
12:48Nous pouvons aussi agréger les triangles adjacents
12:53qui sont associés à la même étiquette.
12:55On va appeler ça les plaques,
12:57qui vont être planaires sous ma page en polytube.
13:02Les lignes d'arrête qui séparent de plaques vont être appelées les frontières,
13:06et les sommets où plusieurs frontières se rejoignent vont être appelées les coins.
13:11Et ces éléments vont construire ce qu'on appelle le graphe de coloriage.
13:19Voici les propriétés que nous souhaitons pour un coloriage,
13:22qui sont réalités de ce que nous souhaitons pour un polytube.
13:24La compacité va constituer ici à mesurer les coins de notre coloriage.
13:29au moins il y aura le coin puis notre représentation de polytube sera compacte.
13:33La fidélité, qui va être l'écart entre la normale du triangle et la direction que l'on y associe.
13:44Nous mettons cette métrique sur la plage 01 et nous pouvons intégrer cette métrique sur tout le coloriage
13:52pour avoir la fidélité sur l'ensemble du coloriage.
13:56La monotonicité va être la régularité des frontières.
14:01Ici nous avons le coloriage qui représente un même polytube.
14:04Et pourtant, celui de droite nécessite des distorsions importantes sous le mappage.
14:13sur ces points jaunes, pour rappeler les points de bastulement,
14:16la direction de la frontière va changer ici négativement,
14:19ce qui n'est pas souhaitable puisque cela induit une grande distorsion.
14:22Voilà la frontière jaune, son équivalent polytube est rectiligné.
14:30De la même manière que pour le polytube, la conservation des arrêts de vives
14:34peut être mesurée en regardant si nos arrêts de vives de la CAO
14:40sont sur des frontières de notre coloriage ou non.
14:46Et la validité et si oui ou non notre coloriage correspond au bord d'un polytube.
14:55Les critères usuellement utilisés sont les polyèdres orthobono simples,
15:00qui ont trois règles.
15:02Les plaques doivent avoir une balance supérieure à 4.
15:07Les frontières doivent être entre des étiquettes d'axes différents.
15:10Et les coins doivent avoir une balance de 3.
15:28Nous allons voir maintenant des configurations invalides,
15:34des configurations qui ne respectent pas ces critères.
15:37Ici nous avons un principe triangulaire sur un tuboïde.
15:43Et nous voyons donc que cette phase triangulaire n'a que deux voisines,
15:47la rouge et la bleue.
15:48Et dans un état effectivement, sur la déformation en polytube,
15:52la géométrie ne va pas être respectée et nous allons perdre la capture de ce principe.
15:59Ici, on a un exemple de frontière invalide.
16:01Nous avons une frontière qui est effectivement entre deux directions opposées,
16:06blanc et gris dessous.
16:08Et sous les contraintes d'alignement,
16:11il n'y aura pas de volume dans cette partie-là.
16:16Donc pas de volume, pas de cube, donc pas d'exaèdre.
16:20Et donc nous ne pourrons pas, avec ce coloriage, avec ce polytube,
16:23obtenir un maillage éderique de ce modèle.
16:25Et voici un exemple pour un coin invalide.
16:28Nous n'avons pas trois, mais quatre frontières incidentes sur ce coin.
16:33Et effectivement, l'algorithme de mappage tente de son mieux
16:36de satisfaire tous les contraintes d'alignement,
16:39ce qui ne parait pas à faire.
16:45Nous allons nous intéresser sur l'état de coloriage,
16:50c'est-à-dire ayant un maillage triangulaire en entrée,
16:54quelle est la étiquette affectée à notre triangle.
16:57Et pour le reste du pipeline, nous reposons sur les algorithmes à l'état de loi.
17:03Et la première partie de ma présentation consistant à parler des critères de validité.
17:10Je rappelle ici les critères des polyèdres orthogonal simples,
17:14et je vous invite à garder en tête les deux derniers,
17:17qu'actuellement une frontière non orthogonal est considérée invalide,
17:22et que les coins ayant une valence supérieure à 3 sont tous considérés invalides.
17:28Ici je vais représenter derrière ces carrélleries des coloriages,
17:32différentes solutions.
17:35Et ici nous avons un ensemble qui sépare parfaitement les solutions valides et les solutions invalides.
17:42Nous allons voir les limites des critères des polyèdres orthogonal simples.
17:47Nous allons voir la non-nécessité,
17:50qui ont des solutions qui sont considérées invalides à tort,
17:53et ensuite la non-suivance qui a des configurations, des coloriages,
17:57qui sont considérées valides à tort.
18:02Ici nous avons une frontière non-orthogonale,
18:05elle sépare bien des plaques ayant du même axe mais de direction opposée,
18:10et pourtant nous pouvons tout à fait envisager un polytube
18:15qui permette d'obtenir un maillage exédérique de l'ensemble du volume.
18:20Ici nous avons encore une balance 4,
18:23le modèle est lui-même un polytube,
18:24donc il reprenne tout à fait une solution qui doit être considérée valide.
18:30Et nous pouvons aussi avoir des cas de valence supérieure.
18:33Ici nous avons un coin de valence 6,
18:35qui actuellement est considéré invalide,
18:37bien que ça correspond à un polytube.
18:39Ici nous avons un coin de valence 8,
18:42où plusieurs frontières non-orthogonales se rejoignent.
18:47Et nous pouvons aller jusqu'à un coin de valence 24,
18:50où nous avons 8 volumes qui se rejoignent en un seul coin.
18:57Mais il y a aussi des cas de non-suffisance,
18:59où ces critères décrivent le courriage comme valide,
19:02ce qui n'est pas le cas.
19:04Ici ce courriage satisfait toutes les règles des plaies en tant que simple,
19:09et pourtant en l'état,
19:11la marche va être écrasée sous la transformation en polytube.
19:18selon nous-ci, nous voyons qu'il y a deux branches qui vont être écrasées,
19:24puisqu'elles sont impôts.
19:25Le courriage impose qu'elles soient finalement sur le même plan Z,
19:29donc on ne peut pas de ce courriage obtenir un polytube satisfaisant.
19:35Et nous pouvons aussi imaginer des cas avec des trous enroulés.
19:40Ici nous avons un nœud, nous avons deux trous traversants.
19:43Nous avons un trou traversant qui fait un nœud sur lui-même,
19:49et donc en l'état, le polytube qui est représenté ne permet pas de voir un maillage exédrique de ce
19:55modèle.
19:57Nous pouvons aussi imaginer un autre modèle tendu,
20:01avec ici deux trous dont l'un fait le tour de l'autre,
20:04donc en état.
20:06Le polytube représenté ne permet pas d'avoir un maillage exédrique de ce modèle.
20:14Voici donc les limites des plaies d'orthogonaux simples.
20:19Nous nous sommes intéressés à des définitions de la validité,
20:23qui soient plus permissibles et en même temps plus restrictives,
20:29de manière à pouvoir faire de la génération de polytubes sur davantage d'objets,
20:39et aussi à interdire les confirmations qui ne doivent pas être acceptées.
20:42D'autres personnes avant nous se sont intéressées à différents critères de validité.
20:49Cet article 2019 s'est intéressé à étendre les règles existantes sur des modèles de genre,
20:56donc les comptes.
20:59Et cet article contemporain à nos travaux s'est intéressé à étendre l'ensemble des solutions considérées valides.
21:08et ils ont utilisé une approche qui est différente de la nôtre.
21:10Nous nous sommes basés sur la même forme que les critères des polyèdres orthogonaux simples,
21:21à savoir critères sur les plaques, frontières et les coins.
21:27Dans nos critères, nous acceptons les frontières non-orthogonales lorsque l'angle dans le volume est supérieur à 100,000
21:35degrés.
21:37Dans cela, nous pouvons effectivement avoir un polytubes satisfaisant.
21:42Notre critère sur les coins commence par agréger autour d'un coin les axes des frontières incidentes.
21:54Ici, sur ce cône, nous avons quatre frontières Z qui se rejoignent.
22:01Et donc, sous l'alignement, elles ne peuvent pas se rejoindre en un seul sommet.
22:08Et donc, ce modèle est bien validé.
22:12Par contre, pour ce modèle-ci qui doit être considéré valide, nous pouvons faire une association entre les frontières Y
22:17et les frontières Z,
22:19qui nous permet d'accepter ce modèle.
22:22Et si nous avons les cas de valence 6,
22:26ici, nous ne pourrons pas faire d'association par deux des frontières,
22:32puisque nous interdissons qu'elles aient toutes le même axe.
22:37tendu sur ce modèle, nous pourrons faire une association deux à deux des frontières.
22:41Et nous n'oublions pas le cas trivial d'un point de cube où nous acceptons aussi
22:46quand un trio XYZ se forme.
22:51Nos critères validités vont donc étendre les critères existants de manière à accepter davantage de configurations.
23:02Nous venons maintenant voir comment générer des coloriages sous ces contraintes de validité,
23:10mais aussi en cherchant à avoir la meilleure qualité de coloriage avec les métriques que nous avons vues précédemment.
23:17L'ensemble des coloriages est assez vaste, 6 puissance le nombre de triangles.
23:22Une des manières d'explorer cet ensemble de solutions possibles, c'est d'utiliser un algorithme génétique
23:28qui sort une métabolistique
23:32qui imite les mécanismes de brassage génétique et de sélection naturelle.
23:39Il s'agit de générer une première population de solutions, ou un individu originel,
23:46de faire des croisements entre ces solutions,
23:50de faire des mutations pour rajouter davantage de variabilité dans les chromosomes,
23:59de pouvoir évaluer ces solutions, leurs critères d'attitude par rapport à ce que l'on cherche à optimiser,
24:08et de faire une sélection de manière à constituer une nouvelle population.
24:13Si le meilleur individu, si notre population est satisfaisante, alors l'algorithme s'arrête.
24:19Sinon, la nouvelle population subit croisements, mutations, évaluations et sélection à nouveau,
24:25jusqu'à convergence.
24:28L'utilisation d'algorithmes génétiques pour la génération de chloriages de polytubes,
24:32et une piste qui a été initiée par mon processeur, Corentin Dumerie,
24:36avec qui j'ai contribué pendant ma première année de thèse.
24:43Nous allons voir la solution initiale, comment générer le premier individu,
24:48puis le système d'archives, qui permet d'enregistrer les meilleurs individus à rencontrer,
24:54la sélection des individus depuis l'archive,
24:58les mutations effectuées sur ces chloriages, le croisement,
25:02l'insertion de nouveaux individus dans l'archive,
25:05la boucle d'optimisation,
25:08et à la fin, l'algorithme donne le meilleur individu à rencontrer.
25:13En principe du chloriage initial,
25:16l'algorithme qui s'est nommé Evocube,
25:20effectue une optimisation par contre minimale.
25:23Pour se le représenter, on peut imaginer que l'algorithme tente de séparer les triangles
25:27de manière à distinguer les plaques,
25:32et avoir des zones de triangles affectées à des directions différentes.
25:39Pour cela, nous allons avoir la possibilité de régler le coût des données.
25:42Ayant un triangle, quel est le coût de l'associé à chacune des six étiquettes ?
25:46Pour cela, nous allons nous baser à sa normale,
25:50et à l'écart par rapport aux directions.
25:52Le coût de lissage,
25:56qui va nous permettre davantage de couper entre directions différentes,
26:01et éviter de couper entre les mêmes étiquettes.
26:04Et le coût de voisinage,
26:06ayant deux triangles, ayant l'heure normale,
26:09est-ce qu'il est coûteux ou pas, de nous les séparer.
26:14Cet algorithme permet d'avoir directement en entrée un compromis entre fidélité et compacité.
26:24Ici, sur la gauche, nous avons favorisé la fidélité,
26:28alors que sur la droite, nous avons favorisé la compacité.
26:33Nous avons moins de plaques, il y a globalement davantage d'écart entre les directions imposées et normales.
26:42Pour ce qui est de l'archive,
26:45Emotube ordonne les individus par score,
26:49score qui est une somme pondérée de plusieurs composantes.
26:54La première des composantes, c'est la validité.
26:57Nous allons mesurer combien de points sont valides,
26:59combien de plaques, pardon, combien de frontières sont valides,
27:03et puis la somme des écarts à 4 de la valence des plaques invalides.
27:09Nous souhaitons que les plaques invalides,
27:10que toutes les plaques, pardon,
27:11nous souhaitons que toutes les plaques aient au moins 4 voisines.
27:14Et donc, pour les plaques invalides,
27:16les plaques qui en ont moins que 4,
27:18nous mesurons l'écart à 4.
27:20Donc, si nous avons une plaque invalide qui a qu'une voisine,
27:23elle contribuera davantage au score que s'il y en a 3.
27:30La maniabilité est une analogie du milieu des matériaux.
27:34Il s'agit d'écrire si un matériau est capable de prendre une autre forme.
27:40Et ici, il s'agit de mesurer si notre plongage
27:42est capable de prendre la forme d'un politube.
27:45Pour cela, nous mesurons la distorsion en angle et en air
27:49intégrée sur toute la surface.
27:54Nous avons aussi, ce que nous avons vu précédemment,
27:57la fidélité, l'écart en guère moyen entre les normales
28:00et les directions de notre plongage.
28:03Et le nombre de coins,
28:04qui est l'image de la compacité de notre plongage.
28:10L'archive trie les individus selon leur score.
28:14Elle a une taille maximale prédéfinie.
28:19Et les individus ne sont insérés dans l'archive,
28:22seulement si le score de l'individu que l'on cherche à insérer
28:26est meilleur que le moins bon individu.
28:32La sélection des individus se fait de manière stochastique.
28:35Le meilleur individu est de rang 1.
28:38Et donc, meilleur est le rang dans l'archive.
28:41Plus grande est la probabilité qu'il soit sélectionné pour une nouvelle population.
28:46Les mutations pour venir modifier le plongage
28:49de manière à rajouter du brassage génétique
28:53dans les solutions que l'on explore.
28:57Une première de ces mutations est de rajouter une plaque
29:00à partir d'un point de bastulement.
29:04Une autre est de supprimer une plaque invalide
29:08et de venir forcer l'affectation de ces triangles à d'autres étiquettes.
29:12Et à la fin, l'expansion d'une plaque
29:16qui est adjacente à un point de bastulement
29:18de manière à obtenir une frontière qui est plus récaline.
29:21Et donc, on propose aussi des réparations qui, elles, sont systématiques.
29:25L'insertion d'une plaque le long d'une frontière invalide,
29:29comme c'est le cas ici.
29:31L'insertion d'une plaque sur un coin invalide.
29:39et le traçage d'un chemin plus régulier pour une frontière,
29:46là où il y a des zigzags.
29:51Pour le croisement, cet allorithme génétique
29:55propose un croisement qui génère un nouveau plongage
29:59à partir de deux plongages par an.
30:02Pour chaque triangle, la même étiquette est conservée
30:05si les deux parents ont la même étiquette.
30:08Et l'étiquette la plus récente est sélectionnée
30:11si les parents n'ont pas la même étiquette sur ce triangle.
30:16Pour l'insertion dans l'archive,
30:18elle se fait toujours sous condition d'avoir un meilleur score
30:20que l'un du vu archivé le moins bon.
30:24et sous contrainte aussi de la taille maximale définie pour l'archive.
30:31Cette boucle d'optimisation est répétée juste à convergence.
30:36Ici, le critère de convergence,
30:37c'est d'avoir trois générations successives
30:40ayant le même meilleur individu.
30:43Ou atteinte d'un nombre maximal de générations, ici à 40.
30:49Nous avons évalué cet algorithme sur un grand nombre de modèles,
30:53essentiellement de CAO,
30:54et nous avons observé un pourcentage important
30:59de courriages valides pour ces modèles.
31:02Nous avons aussi remover la part de ces modèles
31:09sur lesquels on peut obtenir une jacobienne positive,
31:12donc un maillage Elzein-DX de bonne qualité.
31:16Voici quelques exemples de modèles de CAO
31:18pour lesquels Elzein-DX a généré un polycube,
31:22pour courriages un polycube,
31:23et un maillage Elzein-DX résultant.
31:27Dans les grandes lignes, ce que vous retenez de cette approche,
31:31c'est qu'elle permet d'obtenir des maillages plus structurés,
31:33qu'une approche entièrement automatique par intercession de grille.
31:39Par rapport à d'autres algorithmes,
31:40tels que Polycut, qui utilisaient déjà des polycubes,
31:43nous avons une robustesse qui est plus importante.
31:46C'est un algorithme qui est grandement parallélisable,
31:49puisque beaucoup d'étapes de algorithmes génétiques
31:52peuvent être effectuées en parallèle.
31:55Un inconvénient est qu'il nous manque de contrôle sur le courriage généré,
31:59et nous ne pouvons pas par exemple favoriser
32:02le proposant du score,
32:05ce qui nous intéresserait ici pour la validité.
32:10C'est justement dans cette optique que nous sommes intéressés
32:13à un algorithme différent,
32:16qui lui, viendrait mettre l'accent sur la validité.
32:20Comme nous l'avons vu,
32:23dans EvoCube, l'algorithme génétique,
32:25il y a une composante de validité dans le score,
32:29mais qui est mélangée à des métriques
32:31qui sont de l'ordre de la qualité du courriage.
32:35Alors que un courriage valide,
32:38de qualité médiocre,
32:40permet au moins d'obtenir un Polycube,
32:43et un maillage éthérique,
32:45un courriage invalide bloque toute utilisation en aval.
32:51L'algorithme que nous proposons ici,
32:54commence par générer une première solution
32:56à l'aide d'une utilisation par couple minimale,
33:00puis une routine est exécutée
33:05en se focalisant sur la validité,
33:08et enfin une deuxième est exécutée
33:11si elle se concentre sur les points de bastulement,
33:14la monodonisité.
33:18J'ai développé une interface graphique
33:21qui permet différents modes de visualisation
33:24que nous allons pouvoir voir,
33:25et aussi de pouvoir manuellement appuyer les opérateurs.
33:28Donc les opérateurs que vous verrez appuquer
33:30auront été faits dans un ordre manuel,
33:32ils nous reviendront dessus.
33:33Ici nous avons un maillage triangulaire,
33:37nous avons le courriage initial,
33:41et nous allons pouvoir visualiser la fidélité.
33:44donc nous avons ici en clair les triangles
33:49pour lesquels il y a une grande proximité
33:51entre la direction affectée et la normale,
33:54et en plus sombre quand on est forcément le cas.
33:58Ici nous avons un mode de visualisation
34:00où nous voyons les plaques valides et invalides.
34:03Ici en rouge au milieu il y a des plaques invalides.
34:09Nous pouvons aussi visualiser les frontières invalides
34:14qui ici sont en rouge,
34:15il y en a une de ce côté-ci
34:17et une en symétrique de l'autre côté.
34:21et nous pouvons enfin visualiser les points invalides
34:24qui dans ce cas sont aux extrémités des frontières invalides.
34:34Alors le premier opérateur qui a été appliqué manuellement
34:37c'est l'insertion d'une plaque le long de la frontière invalide
34:41de manière à rétablir une séparation orthogonale.
34:44Cela a été fait de ce côté avec une plaque fine
34:47et de l'autre côté, ce va être le cas aussi.
34:51Ici nous avons encore une frontière invalide
34:52et en rajoutant une plaque fine
34:55nous avons localement un courriage valide.
34:59Ensuite la suppression de plaques invalides
35:03en réaffectant les étiers des triangles.
35:09Et là nous avons obtenu un courriage valide.
35:11Cependant il nous reste encore des points de basculement
35:13et c'est l'objet de la suite
35:18où là nous allons supprimer ces points de basculement
35:22en retraçant les frontières dans le voisinage.
35:25Ici voilà, nous avons supprimé un point de basculement
35:28en retraçant les frontières.
35:29Et ça va être encore le cas ici
35:30pour supprimer ce point de basculement
35:32et celui-ci en retraçant les frontières.
35:35Et nous avons maintenant un courriage valide, toujours.
35:40Nuit tonnes, c'est-à-dire 100 points de basculement.
35:43Sur lequel nous avons dû dégrader la filet
35:46et nous l'avons fait de manière contrainte,
35:51de manière à détériorer le moins possible la fidélité
35:54et d'atteindre une solution valide qui se rapproche.
36:01Notre routine qui est dirigée par la validité
36:05commence par le traitement des plaques invalides
36:10qui sont entourées d'arrêtes vives.
36:12Elles sont entourées d'arrêtes vives.
36:13Nous ne souhaitons pas les supprimer.
36:14Nous ne souhaitons pas changer l'étiquette de cette plaque.
36:20Nous allons augmenter sa valence.
36:22Nous allons tracer une nouvelle plaque dans son voisinage.
36:26Nous commençons d'abord par identifier
36:28quelles sont les frontières dans son contour
36:32et savoir quel axe nous devons insérer
36:35et sur lesquels étiquettes nous devons le faire.
36:37et autour de ce nouvel axe que nous avons inséré dans son contour,
36:42nous allons donc tracer les limites de ce qui va être une nouvelle plaque.
36:48Ainsi, nous avons augmenté la valence de cette plaque
36:52grâce à cette plaque rouge.
36:55Les opérateurs sont exécutés autant que possible
36:59jusqu'à ce qu'il n'y ait plus de possibilité d'être exécuté.
37:02Donc ici, jusqu'à ce qu'il n'y ait plus de plaques invalides entourées d'arrêtes vives.
37:07Ensuite, nous utilisons la correction des frontières invalides
37:13qui ont donc rétabli une séparation orthogonale.
37:18Et nous l'utilisons ici,
37:22car il est un peu moins contraint que le premier.
37:26Nous commençons toujours par les opérateurs
37:28qui ont les applications les plus contraintes.
37:33Et ensuite, les points invalides.
37:36Donc, rajouter une plaque sur un point invalide.
37:40Nous le faisons ensuite, car comme nous l'avons vu avant,
37:45des points invalides peuvent être aux extrémités des frontières invalides
37:48et donc il est plus approprié d'utiliser l'opérateur de correction des frontières invalides
37:52plus sollicite.
37:54Et enfin, l'opérateur qui est le plus agressif,
37:59qui va s'occuper de supprimer les cas invalides
38:03en forçant une étiquette différente en ces triangles.
38:10Ensuite, nous avons la routine sur la monotonicité.
38:16Le premier opérateur que nous proposons est de rejoindre deux points de bassulement
38:22en créant une nouvelle plaque qui va permettre de capturer par la dernière occasion
38:26une arc de vide non capturée qui était entre les deux.
38:31le déplacement du coin le plus proche d'un point de bassulement
38:34de manière à retracer une frontière
38:37et que du coup un coin soit incident au sommet sur lequel était le point de bassulement.
38:45Nous proposons aussi la suppression d'un point de bassulement
38:49simplement en faisant une réaffectation des étiquettes dans son voisinage immédiat
38:55comme c'est le cas ici.
38:57Et enfin, le lissage du tracé d'une frontière
39:01en retraçant de coin à coin le chemin.
39:05Nous avons testé cet algorithme sur plusieurs modèles de CAO.
39:10Excusez-moi de modèles de CAO.
39:13Nous avons obtenu des résultats très satisfaisants
39:18pour lesquels, même quand d'autres algorithmes obtiennent un ploriage valide,
39:25où le nôtre est de qualité meilleure.
39:30Ici, Polycote et EvoCube rejoignent les deux plaques
39:35en créant un chemin entre les deux,
39:37alors que nous, nous augmentons la valence de ces plaques
39:40de manière à créer des algorithmes de meilleure qualité.
39:45Ici, nous pouvons aussi voir que notre algorithme permet d'obtenir généralement des cloriages
39:52symétriques en venant faire la même correction des deux côtés,
39:58ce qui n'est pas forcément le cas pour EvoCube ou Polycote,
40:02où là, des plaques ont été insérées qui détériorent fortement la fidélité.
40:08Et un autre modèle, ici, où Polycote a fait une correction très locale autour de ce coin,
40:15EvoCube a rajouté des plaques superflues,
40:18et notre approche, qui privilégie la validité,
40:22permet de bien capturer cette partie triangulaire du modèle.
40:29Un apport des critères de validité,
40:32puisque cet algorithme utilise les critères améliorés que nous avons lancés plus tôt,
40:38c'est que nous pouvons, ici, considérer comme valides
40:41des points de valence 6, ce qui n'est pas le cas d'EvoCube,
40:44et EvoCube tente donc de supprimer ces points
40:49en venant rajouter ou rejoindre des plaques,
40:52alors que nous, nous acceptons cette configuration.
40:56EvoCube a tenté, sur plusieurs générations,
41:00de trouver une solution valide selon sa formulation,
41:05alors que nous, nous avons gagné du temps
41:08juste par un ensemble de solutions valides qui soient plus adaptées.
41:16Parmi les cas d'échec de notre approche,
41:18nous voulons en présenter deux,
41:20qui sont représentatifs des limites.
41:23Tout d'abord, les géométries pour lesquelles,
41:26tout simplement, l'approche polytube ne permet pas,
41:31tout simplement, un maillage est satisfaisant.
41:37Nous sommes un peu limités par l'intermédiaire,
41:40qui est le polytube.
41:41et qu'ici, en choisissant de passer par un polytube,
41:47nous ne parvenons pas, en fait, à obtenir un polytube qui permet de décrire ce modèle.
41:57Et enfin, parfois, les coloriages pour lesquels nous obtenons un coloriage valide.
42:04Cependant, la distorsion est importante,
42:07et ça va être le cas sur cette plaque rouge-foncée,
42:11où, en état, la distorsion va être très importante,
42:17et, donc, le maillage exaédrique de mauvaise qualité.
42:26Pour conclure, je voudrais rappeler le cheminant que nous avons fait dans cette exposé.
42:31Tout d'abord, les enjeux du maillage exaédrique pour la simulation générique.
42:38Nous avons vu comment générer des maillages exaédriques par polytube.
42:43Nous avons vu comment générer des polytubes à l'aide d'un coloriage.
42:48Dans notre objectif d'améliorer l'étape de coloriage,
42:53nous avons proposé de meilleurs critères de validité,
42:56un algorithme génétique spécialisé,
43:00un algorithme qui privilégie la validité
43:05dans le début de sa définition.
43:11Et dans l'objectif de réduire le temps de génération de maillage structuré par bloc,
43:17nous avons développé plusieurs outils automatiques ou interactifs
43:22qui sont d'intérêt pour les ingénieurs spécialisés en maillage.
43:27Pour revenir sur l'exemple initial, avec la maquette Top Flow,
43:33nous avons pu obtenir un coloriage de ce modèle, un coloriage valide,
43:38où il y a ici le polytube associé et un maillage exaédrique obtenu sur ce polytube.
43:47Nous pouvons voir que des points de traitement pourraient être mis en place
43:52de manière à améliorer la qualité de ce maillage,
43:56en faisant un lissage des coordonnées sommets ou en rajoutant des couches d'exèdre en surface.
44:02Et cependant, notre approche permet ici d'obtenir de manière entièrement automatique
44:08un maillage satisfaisant pour la simulation numérique.
44:14Je voudrais rappeler les contributions scientifiques de ces travaux de thèse.
44:19l'algorithme génétique sur lequel je suis troisième auteur.
44:24Une loi de recherche qui présentait les limites, les critères de validité ou seulement les limites.
44:32et un article soumis, et dont je l'ai appris aujourd'hui, accepté sous révision mineure,
44:42sur à la fois les meilleurs critères de validité et l'approche de génération de voyage qui favorise la validité.
44:53Pour les communications scientifiques, la présentation de la note de recherche en mars 2023,
45:02et la présentation de ce qui était nos pistes pour favoriser la validité en août 2023.
45:09A cela s'ajoute aussi nos contributions d'ordre logiciel en source libre.
45:15Les perspectives de nos travaux.
45:17Il y en a plusieurs. Tout d'abord, intégrer ces outils dans la plateforme Salomé,
45:24former les utilisateurs habitués à la génération de maillage par bloc à manipuler un cloriage.
45:34Nous pouvons envisager un algorithme stochastique qui puisse travailler sur les cloriages,
45:41de manière à tenter différentes manières de rajouter des plaques,
45:47de corriger, de supprimer les points de bastionnement,
45:49une fois un cloriage valide obtenu.
45:53Nous avons vu l'intérêt d'avoir un algorithme déterministe pour l'obtention d'un cloriage valide.
45:58Nous pouvons envisager un algorithme plus stochastique
46:01pour l'obtention d'un cloriage valide et de faible et de bonne qualité.
46:09Et enfin, une autre piste.
46:12Envisager d'optimiser la structure de bloc final,
46:15de manière à avoir davantage,
46:19à ne pas être contraint par la structure des polytubes où les singularités sont en surface,
46:24et de permettre aussi d'avoir la singularité interne au maillage,
46:28et donc des maillages de meilleure qualité.
46:32Je vous remercie et Madame la Présidente du jury, je vous prends la parole.
Commentaires