Compare commits

..

12 Commits

Author SHA1 Message Date
31d18b0715 pp 2022-03-31 00:40:17 +02:00
93350f469a redéfinition des objectifs 2022-03-30 23:37:46 +02:00
3e03f791cd b 2022-03-30 22:53:54 +02:00
be0b840231 cheh 2022-03-30 22:52:02 +02:00
610b0c5633 Transférer les fichiers vers 'rapport/img' 2022-03-30 22:24:57 +02:00
539ec4fad7 one more slide 2022-03-30 21:48:21 +02:00
fe639d7cf0 Transférer les fichiers vers 'rapport/img' 2022-03-30 21:39:44 +02:00
48d652676d osef 2022-03-30 18:42:24 +02:00
b957e2723d Transférer les fichiers vers 'rapport/img' 2022-03-30 18:20:20 +02:00
040971e50f a 2022-03-30 17:56:22 +02:00
8b803efbdc bl 2022-03-30 17:26:29 +02:00
6e53dc13c6 Transférer les fichiers vers 'rapport/img' 2022-03-30 16:28:24 +02:00
17 changed files with 281 additions and 50 deletions

BIN
rapport/img/Pipeline2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

BIN
rapport/img/explosion.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 159 KiB

BIN
rapport/img/not_relaxed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
rapport/img/relaxed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -4,21 +4,114 @@
1. Présentation du sujet
[4/32]
Qu'est-ce qu'un maillage volumique? Un maillage volumique est une
structure composée de cellules polyédriques (tétraèdres, hexaèdres…).
Ces cellules sont reliées entre elles comme pour un maillage polygonal
classique, mais contrairement à ces derniers elles sont donc
3-dimensionelles.
[4/37] Maillages volumiques
- Structure composée de cellules polyédriques (tétraèdres, hexaèdres…)
reliées entre elles comme pour un maillage polygonal
classique, mais les cellules sont en 3D.
[5/32]
Qu'est-ce que l'anisotropie? Il s'agit de la notion de dépendance à
l'orientation. Ici par exemple on peut voir une représentation du
plasma dans un réacteur à fusion nucléaire. On distingue clairement
une direction principale qui est la « boucle ».
[5/37] Anisotropie
Notion de dépendance à l'orientation.
Image : plasma dans un réacteur à fusion nucléaire. On distingue clairement
une direction principale qui est la « boucle ». Cet exemple présente
donc de l'anisotropie.
[6/32]
Plus formellement, l'anisotropie peut être définie comme un champ de
métrique. En chaque point de l'espace, une métrique définit la
déformation locale. Ici on peut voir à gauche que la métrique est
constante en tout point, c'est donc un espace isotropique. À droite
[6/37] Anisotropie
Plus formellement, un champ de métriques.
Une métrique définit la déformation locale.
À gauche : isotropie.
À droite : espace anisotropique circulaire.
[7/37] Applications
Principalement dans le domaine de la simulation physique
Notamment la mécanique des fluides, où ils sont utilisés comme base de
discrétisation pour porter les calculs.
Par rapport à une simple voxélisation : résolution adaptative, plus
haute résolution dans les zones « intéressantes », pas de perte de temps
sur les calculs dans les zones moins intéressantes.
Par rapport à une voxélisation multi-niveaux comme un octree ou un
maillage isotropique, la forme des cellules peut être adaptée au
problème pour encore améliorer la précision des calculs. Le problème
reste maintenant de générer ces maillages anisotropiques.
[8/37]
Présente des approches pour la génération de maillages surfaciques (et
pas volumiques) anisotropes.
D'après leur conclusion : « Bien qu'elles soient toutes prouvablement
correctes, aucune des méthodes présentées n'est universellement
pratique ».
De plus, celle avec les résultats les « moins pires » est coûteuse en
temps de calcul, ce qui ne ferait qu'empirer après adaptation sur
maillages volumiques.
+------------+
| Partie 2/3 |
+------------+
[11/37]
Difficile d'imaginer en trois mois qu'on puisse produire une solution
qui fonctionne quand une thèse entière qui ne se consacre qu'au
surfacique y peine.
[17/37]
Présentation de la chaîne de traitement « pipeline »
Deux modes : analyse et adaptation
Image : en mode adaptation. En mode analyse on enlève simplement les
étapes qui modifient la géométrie du maillage.
[19/37]
point-in-polygon : permet de détecter si un point est dans un
polygone. On tire un rayon depuis le point vers l'infini et compte le
nombre d'intersections, pair : le points est hors du polygone,
impair : le point est dans le polygone.
[20/37]
Les cellules dont tous les points sont à l'extérieur du maillage
surfaciques sont supprimées.
[21/37]
Les points de surface sont ensuite marqués. Pour cela on détecte
quelles faces sont mitoyennes, ce qu'on peut déduire car on sait à
quelle cellules appartiennent chaque point.
Si les trois points d'une face appartiennent tous à une autre cellule,
c'est que la face qu'ils forment et mitoyenne. Sinon, elle est en
surface.
[22/37]
Les points de surface sont ensuite plaqués sur le point du maillage
surfacique le plus proche.
[23/37]
En déplaçant les points, on accumule l'information du déplacement de
chaque point dans le voisinage dans un certain rayon, pondéré par la
distance.
Le rayon est proportionel à la distance de déplacement multipliée par
un facteur, ce qui assure qu'on ne produit pas de cellules inversées
dites « chaussettes ».
Ceci est similaire à la « modification proportionelle » de blender.
[25/37] et [26/37]
Influence du facteur de multiplication du rayon d'action sur la
qualité. On voit qu'un rayon de 3 semble maximiser les angles les plus
faibles, sans trop réduire les angles les plus élevés pour autant.
[27/37]
Relaxation : on déplace chaque point dans le barycentre de son
voisinage. Une itération améliore la qualité du maillage, plus d'une
itération la dégrade.
+------------+
| Partie 3/3 |
+------------+
implémentation, moi
+------------+
| Partie 4/3 |
+------------+
résultats et conclusion

View File

@ -6,6 +6,7 @@
\usepackage{url}
\usepackage{caption}
\usepackage{listings}
\usepackage{graphicx}
\title{Génération de maillages anisotropes}
\author[Jérémy André, Cyril Colin et Christine Cozzolino]
@ -84,15 +85,79 @@ mais qui approxime que grossièrement le maillage surfacique, et devons
tenter de le rendre plus fidèle au maillage surfacique en évitant de
dégrader la qualité.
\section{Présentation de notre méthode}
\subsection{Plaquage des points sur maillage surfacique}
\subsubsection{Recherche du point le plus proche}
\subsubsection{Mouvement pondéré du voisinage}
\subsection{Régularisation}
\section{Implémentation}
\section{Métrique de qualité}
\section{Résultats}
\subsection{Analyse d'un cas déféctueux}
%-----------------------------------------------------------------------
\section{Redéfinition de nos objectifs}
La thèse de Rouxel-Labbé présente une excellente introduction du
domaine en plus d'un état de l'art remarquable, mais les approches
qu'elle propose restent assez limitée. Lauteur lui-même indique
que bien que prouvablement correctes, elles sont limitées dans leurs
applications. De plus, une des méthodes présentées qui fournit les
meilleurs résultats à le défaut d'être coûteuse en temps de calcul,
défaut qui ne ferait que s'aggraver si on la traduisait dans le
domaine des maillages volumiques.
Pour cette raison, et au vu de la complexité de la tâche, notre
encadrant a redéfini nos objectifs : il s'agit désormais de prendre un
maillage tétraédrique généré à partir d'un maillage surfacique de
manière simpliste, et de l'adapter pour réduire l'écart entre le
maillage surfacique et le maillage tétraédrique sans trop dégrader la
qualité de celui-ci.
%-----------------------------------------------------------------------
\section{Résultats et validation}
Notre méthode présente des résultats en demi-teinte. Elle réussi
effectivement à grandement diminuer la distance entre le maillage
polygonal source et le maillage tétraédrique, mais pas sans générer
par endroit des zones de très faible qualité. De plus, elle ne peut
pas toujours corriger les défauts causés par la tétraédrisation
initiale.
Les points les plus éloignés du maillage surfacique après application
de notre méthode sont en effet ceux où trop de détails et de géométrie
ont été perdus dans la tétrahédrisation (voir figure
\ref{fig:cow-head}). On peut également y voir un défaut de notre
méthode de projection qui choisit les points les plus proches.
\begin{figure*}
\centering
\begin{tabular}{ccc}
\includegraphics[width=4.7cm]{img/cow-head-poly.png} &
\includegraphics[width=4.7cm]{img/cow-head-tet.png} &
\includegraphics[width=4.7cm]{img/cow-head-tet-out.png} \\
\end{tabular}
\caption{Tête de la vache dans le maillage polygonal source, le
maillage tétraédrique initial, et le maillage tétraédrique après
application de notre méthode, de gauche à droite respectivement.}
\label{fig:cow-head}
\end{figure*}
L'étape de relaxation améliore la qualité du maillage en minimisant le
nombre de cellules qui ont des angles faibles. Cependant en faire plus
d'une itération dégrade le maillage plus que de ne pas faire de
relaxation du tout. Les angles moins faibles ne sont eux que peu
affectés (Voir figure \ref{fig:courbe-relaxation}).
\begin{figure*}
\centering
\includegraphics[width=14cm]{img/influence-relaxation.png} \\
\caption{Influence de la relaxation sur les angles dièdres}
\label{fig:courbe-relaxation}
\end{figure*}
Pour ce qui est du rayon d'action de la modification proportionelle,
un multiplicateur de rayon de 3 réduit grandement la proportion de
cellules avec des angles très faible, mais au-delà de ça l'effet est
négligeable (Voir figure \ref{fig:courbe-rayon}).
\begin{figure*}
\centering
\begin{tabular}{cc}
\includegraphics[width=8cm]{img/influence-rayon-0-3.png} &
\includegraphics[width=8cm]{img/influence-rayon-5-20.png} \\
\end{tabular}
\caption{Influence du rayon de modification proportionelle sur les
angles dièdres}
\label{fig:courbe-rayon}
\end{figure*}
\newpage
\bibliography{rapport}

15
rapport/slides.bib Normal file
View File

@ -0,0 +1,15 @@
@article{plasma,
author = {Helander, P and Beidler, C and Bird, T and Drevlak, M and Feng, Y. and Hatzky, R and Jenko, Frank and Kleiber, R. and Proll, Josefine and Turkin, Yu and Xanthopoulos, Panagiotis},
year = {2012},
month = {11},
pages = {124009},
title = {Stellarator and tokamak plasmas: A comparison},
volume = {54},
journal = {Plasma Physics and Controlled Fusion},
doi = {10.1088/0741-3335/54/12/124009}
}
@misc{gamma,
author = {Frédéric Alauzet et al.},
howpublished = {https://team.inria.fr/gamma/}
}

View File

@ -3,6 +3,10 @@
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[backend=biber]{biblatex}
\addbibresource{slides.bib}
\usetheme{JuanLesPins}
\beamertemplatenavigationsymbolsempty
@ -12,7 +16,7 @@
\newlength\graphwidth
\setlength\graphwidth{10.5cm}
\newlength\graphheight
\setlength\graphheight{7cm}
\setlength\graphheight{5.5cm}
\makeatother
\title{Génération de maillages anisotropes}
@ -40,32 +44,41 @@
\begin{frame}{Maillages volumiques}
\centering
\begin{tabular}{cc}
\includegraphics[width=4.5cm]{img/cow-00.png} &
\includegraphics[width=4.5cm]{img/cow-03.png} \\
\includegraphics[width=4.5cm]{img/cow-06.png} &
\includegraphics[width=4.5cm]{img/cow-09.png} \\
\end{tabular}
\begin{figure}
\begin{tabular}{cc}
\includegraphics[width=4.5cm]{img/cow-00.png} &
\includegraphics[width=4.5cm]{img/cow-03.png} \\
\includegraphics[width=4.5cm]{img/cow-06.png} &
\includegraphics[width=4.5cm]{img/cow-09.png} \\
\end{tabular}
\caption{Différentes coupes du maillage volumique d'une vache}
\end{figure}
\end{frame}
\begin{frame}{Anisotropie}
\centering
\includegraphics{img/plasma.png}
\begin{figure}
\includegraphics[height=\graphheight]{img/plasma.png}
\caption{Plasma dans un réacteur à fusion nucléaire \cite{plasma}}
\end{figure}
\end{frame}
\begin{frame}{Anisotropie}
\centering
\begin{tabular}{cc}
\includegraphics[width=4.5cm]{img/isotropique.png} &
\includegraphics[width=4.5cm]{img/anisotropique.png}
\end{tabular}
\begin{figure}
\begin{tabular}{cc}
\includegraphics[width=4.5cm]{img/isotropique.png} &
\includegraphics[width=4.5cm]{img/anisotropique.png}
\end{tabular}
\caption{À gauche : plan isotropique. À droite : plan anisotropique circulaire.}
\end{figure}
\end{frame}
\begin{frame}{Applications}
\begin{figure}[htb]
\includegraphics[width=9cm]{img/symmetry-plane.png}
\caption{\label{fig:inria-gamma}
Image issue du projet GAMMA d'Inria \url{https://team.inria.fr/gamma/}
Image issue du projet GAMMA d'Inria \cite{gamma}
}
\end{figure}
\end{frame}
@ -87,10 +100,15 @@
\begin{frame}
Le sujet étant jugé trop complexe, notre encadrant nous guide vers
un sujet un peu simplifié.
\begin{block}{Nouveau sujet}
Adapter un maillage tétrahédrique simple existant au maillage
surfacique utilisé pour le générer, tout en préservant sa qualité.
\end{block}
\end{frame}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}[plain]{}
\hspace*{-12mm}
\includegraphics[width=\paperwidth]{img/explosion.png}
\end{frame}
\title{Approximation et amélioration de la qualité des maillages tétrahédriques}
@ -98,11 +116,21 @@
\titlepage
\end{frame}
\begin{frame}
\begin{block}{Nouveau sujet}
Adapter un maillage tétrahédrique simple existant au maillage
surfacique utilisé pour le générer, tout en préservant sa qualité.
\end{block}
\end{frame}
\section{Présentation de notre méthode}
\begin{frame}{Chaîne de traitement}
\begin{frame}
\centering
\includegraphics[height=\graphheight]{img/pipeline.png}
\begin{figure}
\includegraphics[height=\graphheight]{img/pipeline2.png}
\caption{Chaîne de traitement de notre approche}
\end{figure}
\end{frame}
\subsection{Pré-traitement}
@ -114,21 +142,46 @@
\end{itemize}
\end{frame}
\begin{frame}{Point-dans-polygone}
\begin{frame}
\centering
\includegraphics[height=\graphheight]{img/point_in_polygon.png}
\begin{figure}
\includegraphics[height=\graphheight]{img/point_in_polygon.png}
\caption{Point-dans-polygone}
\end{figure}
\end{frame}
\begin{frame}{Suppression des cellules externes}
\centering
\includegraphics[width=\graphwidth]{img/remove_external.png}
\begin{figure}
\includegraphics[width=\graphwidth]{img/remove_external.png}
\caption{Cellules supprimées}
\end{figure}
\end{frame}
\begin{frame}
\centering
\begin{figure}
\includegraphics[width=\graphwidth]{img/surface_points.png}
\caption{Détection des points de surface}
\end{figure}
\end{frame}
\subsection{Projection des points}
\begin{frame}{Recherche des points les plus proches}
\centering
\begin{figure}
\includegraphics[height=\graphheight]{img/project_triangle_schema.png}
\caption{Méthode de recherche du point le plus proche}
\end{figure}
\end{frame}
\begin{frame}
\centering
\includegraphics[width=\graphwidth]{img/project.png}
\begin{figure}
\includegraphics[width=\graphwidth]{img/project.png}
\caption{Vache après projection des points}
\end{figure}
\end{frame}
\subsection{« Modification proportionelle »}
@ -189,10 +242,12 @@
\includegraphics[width=\graphwidth]{img/vtk-unstructuredgrid-3.png}
\end{frame}
\begin{frame}{Paraview}
\centering
\includegraphics[width=\graphwidth]{img/paraview.png}
\begin{figure}
\includegraphics[height=5cm]{img/paraview.png}
\caption{Capture d'écran de Paraview}
\end{figure}
\end{frame}
@ -210,5 +265,8 @@
\includegraphics[width=\graphwidth]{img/cas-échec-2.png}
\end{frame}
\begin{frame}
\printbibliography
\end{frame}
\end{document}