You are on page 1of 55

Introduction au maillage

pour le calcul scientifique


Franck Ledoux
CEA DAM le-de-France, Bruyres-le-Chtel
franck.ledoux@cea.fr
Prsentation adapte du tutorial de Steve Owen,
Sandia National Laboratories, Albuquerque, NM, USA
1
Introduction
! La simulation numrique consiste reproduire informatiquement
un phnomne physique, chimique, biologique ou autre, au moyen
de
" quations physiques dans un monde continu
" Schmas numriques dans un monde discret
" Algorithmes informatiques
" Maillages une partie du monde discret
! Procd trs gourmand en temps de calcul et en espace mmoire
" Parfait candidat pour le HPC
2 Franck Ledoux
Prparation de la simulation numrique
3
2
1. Cration du modle
gomtrique
2. Maillage
3. Dfinition des conditions
physiques (conditions limites,
densits, matriaux,)
4. Simulation numrique
(CALCUL, potentiellement
plusieurs heures)
5. Visualisation
2 kN
Processus simplifie
Dassault Aviation-CEA/DIF : Falcon 7x
Ecoulements 3D autour dun avion complet - 800 processeurs de TERA 10 pendant 250 heures
Dmonstration de compatibilit des outils de conception avec les architectures
informatiques ncessaires dans le futur
Amlioration du processus de conception actuel : matrise des incertitudes
induites par les maillages de calcul de trane
Application possible des problmes plus complexes
Maillage de 115 millions d'lments, calcul de 7 valeurs physiques (pression,
vitesses, temprature, nergie cintique, ...) en chaque maille pour chaque pas
de temps (140 millions d'quation rsoudre pour l'ensemble du calcul)
La prdiction du sillage est un effet direct du
raffinement en maillage
! amlioration de la prdiction de la traine
Soufflerie ONERA S2MA Maillage industriel :
6.10
6
points
&
30.10
6
lments
Essai
Calcul
4 Franck Ledoux
Autres exemples
5 Franck Ledoux
! Deux exemples de mcaniques des solides
Plan trs simple !
Prsentation des algorithmes traditionnels en maillage
! Maillage triangulaire et ttradrique
! Maillage quadrangulaire et hexadrique
On nabordera pas
! Les maillages mixtes
! Les algorithmes de recherche
! Les dtails qui vont quun algorithme est optimis
! Les structures de donnes informatiques ncessaires
6 Franck Ledoux
Partie 1
Maillage triangulaire
et ttradrique
7
http://www.simulog.fr/mesh/gener2.htm
http://cubit.sandia.gov/
Maillage triangulaire et ttradrique
3 grandes familles dalgorithmes
Quadtree / Octree
Avance de front
Delaunay
8 Franck Ledoux
Mthodes QuadTree (2D) Octree (3D)
! Dfinition dune bote englobante initiale (racine du quadtree)
! Dcoupage rcursif de chaque quadrangle en 4 feuilles dans les
zones o la gomtrie est mal capture
! Rcupration des intersection entre les artes des feuilles et la gomtrie
! Maillage de chaque feuille en utilisant les sommets (coins) de la feuille et les
intersections avec la gomtrie
! Suppression des triangles extrieurs la gomtrie
[Yerry and Shephard, 84] [Shepherd and Georges, 91]
9 Franck Ledoux
Mthodes QuadTree (2D) Octree (3D)
QMG,
Cornell University
10 Franck Ledoux
Mthodes QuadTree (2D) Octree (3D)
QMG,
Cornell University
Franck Ledoux 11
Problmes de ces mthodes
- Rapport de tailles entre lments voisins
- Angles des lments
# Maillages assez laids
Algorithmes par avance de front
A B
C
12 Franck Ledoux
! Front initial maillage du bord (nuds + artes)
! Pour chaque arte [A,B] du front, on cherche la position idal du point C
ABC triangle quilatral
Avance de front 2D
Algorithme par avance de front
A B
C
r
D
13 Franck Ledoux
! On dtermine si des nuds du front courant ne seraient pas de candidats
pour tre le point C du triangle
" Utilisation dun paramtre distance r
" On cherche un point du front existant dans le cercle de centre C idal (i.e.
ABC quilatral)
Si oui, on prend ce point
Algorithme par avance de front
D
14 Franck Ledoux
! Mise jour permanente du front (qui est compose dune liste dartes)
! On continue tant quil reste des artes dans le front
Algorithme par avance de front
15 Franck Ledoux
! Mise jour permanente du front (qui est compose dune liste dartes)
! On continue tant quil reste des artes dans le front
Algorithme par avance de front
16 Franck Ledoux
! Mise jour permanente du front (qui est compose dune liste dartes)
! On continue tant quil reste des artes dans le front
! Attention, plusieurs fronts peuvent cohabiter
Algorithme par avance de front
17 Franck Ledoux
! Mise jour permanente du front (qui est compose dune liste dartes)
! On continue tant quil reste des artes dans le front
Algorithme par avance de front
A
B
C
[Lohner,88;96] [Lo,91]
r
18 Franck Ledoux
! Si plusieurs choix pour le point C ?
! On prend celui qui nous fournit le triangle le plus proche dun triangle
quilatral
! On supprime toutes les possibilits qui intersecteraient un front existant
! On rejette les triangles inverses ( I AB x AC I > 0)
Avantages de ces mthodes
- Permet de contrler laspect des triangles au bord
Algorithme de type Delaunay
cercle circonscrit
19 Franck Ledoux
! Algorithmes bass sur la proprit de cercle vide
Pour tout triangle ABC, aucun sommet diffrent de A, B et C
appartient au cercle circonscrit ABC
Algorithme de type Delaunay
20 Franck Ledoux
! Algorithmes bass sur la proprit de cercle vide
Pour tout triangle ABC, aucun sommet diffrent de A, B et C
appartient au cercle circonscrit ABC
! Assure des mailles de bonne qualit
! Extensible en 3D
Pour tout ttradre ABCD, aucun sommet diffrent de A, B, C
et D appartient la sphre circonscrite ABCD
21 Franck Ledoux
Algorithme de type Delaunay
Triangulation de Delaunay
o Ensembles de triangles recouvrant lespaces et dfini
partir dun ensemlbe de sommets
o Obit la proprit du cercle vide
22 Franck Ledoux
Algorithme de type Delaunay
Ici, on na pas un triangulation
de Delaunay
Cest le type de maillage inadapt la
simulation numrique, les lments sont
trop plats
X
23 Franck Ledoux
Algorithme de type Delaunay
Comment ajouter un sommet dans
une triangulation de Delaunay ?
Algorithme de Lawson (1977)
1. On dtermine le triangle
contenant X
2. On subdivise ce triangle en 3
3. On teste la proprit de sphre
vide sur ces nouveaux triangles
et les triangles adjacents
4. On effectue un swap darte si
ncessaire
5. Les tapes 3 et 4 sont rptes
tant quun swap est effectu
X
24 Franck Ledoux
Algorithme de type Delaunay
Comment ajouter un sommet dans
une triangulation de Delaunay ?
Algorithme de Lawson (1977)
1. On dtermine le triangle
contenant X
2. On subdivise ce triangle en 3
3. On teste la proprit de sphre
vide sur ces nouveaux triangles
et les triangles adjacents
4. On effectue un swap darte si
ncessaire
5. Les tapes 3 et 4 sont rptes
tant quun swap est effectu
X
r
c
d
25 Franck Ledoux
Algorithme de type Delaunay
Comment ajouter un sommet dans
une triangulation de Delaunay ?
Algorithme de Bowyer-Watson (1981)
1. On dtermine le triangle contenant
X
2. On cherche tous les triangles dont
le cercle circonscrit contient X
3. On supprime ces triangles formant
ainsi une cavit
4. On cre de nouveaux triangles
partir des artes bordant cette cavit
et du sommet X
X
26 Franck Ledoux
Algorithme de type Delaunay
Comment ajouter un sommet dans
une triangulation de Delaunay ?
Algorithme de Bowyer-Watson (1981)
1. On dtermine le triangle contenant
X
2. On cherche tous les triangles dont
le cercle circonscrit contient X
3. On supprime ces triangles formant
ainsi une cavit
4. On cre de nouveaux triangles
partir des artes bordant cette cavit
et du sommet X
27 Franck Ledoux
Algorithme de type Delaunay
! Utilisation du principe de la triangulation de Delaunay pour raliser un
maillage
! On commence avec une triangulation dune bote englobante largie
28 Franck Ledoux
Algorithme de type Delaunay
! On insre les nuds au bord du domaine mailler avec un algorithme
dinsertion tel que celui de Lawson ou de Bowyer-Watson
29 Franck Ledoux
Algorithme de type Delaunay
! On insre les nuds au bord du domaine mailler avec un algorithme
dinsertion tel que celui de Lawson ou de Bowyer-Watson
Algorithme de type Delaunay
30 Franck Ledoux
! On insre les nuds au bord du domaine mailler avec un algorithme
dinsertion tel que celui de Lawson ou de Bowyer-Watson
Algorithme de type Delaunay
31 Franck Ledoux
! On insre les nuds au bord du domaine mailler avec un algorithme
dinsertion tel que celui de Lawson ou de Bowyer-Watson
Algorithme de type Delaunay
32 Franck Ledoux
! On insre les nuds au bord du domaine mailler avec un algorithme
dinsertion tel que celui de Lawson ou de Bowyer-Watson
Algorithme de type Delaunay
33 Franck Ledoux
! On rcupre le bord du domaine si on ne la pas
! On supprime les triangles extrieurs
! On insert des nuds internes selon les paramtres du maillage souhait
(densit de mailles dans un zone par exemple)
h
Algorithme de type Delaunay
Franck Ledoux
! Insertion de nuds internes partir de la donne dune grille
" La grille peut tre quelconques (rectangles de tailles diffrentes, triangles,
quadtree)
" On ignore les nuds externes
Algorithme de type Delaunay
35 Franck Ledoux
! Insertion de nuds internes partir de la donne dune grille
" La grille peut tre quelconques (rectangles de tailles diffrentes, triangles,
quadtree)
" On ignore les nuds externes
Algorithme de type Delaunay
36 Franck Ledoux
! Insertion de nuds internes comme centrodes
" Les nouveaux nuds sont dfinis comme centrodes des triangles existants
" On continue tant que les artes nont pas une longueur indique en paramtre
l
Algorithme de type Delaunay
37 Franck Ledoux
! Insertion de nuds internes comme centrodes
" Les nouveaux nuds sont dfinis comme centrodes des triangles existants
" On continue tant que les artes nont pas une longueur indique en paramtre
(Chew,Ruppert,Shewchuk)
Algorithme de type Delaunay
38 Franck Ledoux
! Insertion de nuds internes laide de cercles circonscrits
" Les nouveaux nuds sont les centres des cercles circonscrits aux triangles
existants
" Lordre dinsertion se base sur le plus petit angle au coin des triangles
" Objectif (environ 30)
Algorithme de type Delaunay
39 Franck Ledoux
! Insertion de nuds internes laide de cercles circonscrits
" Les nouveaux nuds sont les centres des cercles circonscrits aux triangles
existants
" Lordre dinsertion se base sur le plus petit angle au coin des triangles
" Objectif (environ 30)
(Chew,Ruppert,Shewchuk)
A B
C
Algorithme de type Delaunay
40 Franck Ledoux
! Insertion de nuds internes par avance de front
" Les nouveaux nuds sont insrs la position idale partir des artes du
front
" La structure du front doit tre maintenue en permanence
[Marcum, 95]
Algorithme de type Delaunay
41 Franck Ledoux
! Insertion de nuds internes par avance de front
" Les nouveaux nuds sont insrs la position idale partir des artes du
front
" La structure du front doit tre maintenue en permanence
[Marcum, 95]
Algorithme de type Delaunay
42 Franck Ledoux
! On rcupre le bord du domaine si on ne la pas
" Il faut insrer des nuds et des artes l o les artes, introduites lors de la
triangulation initiale, coupent le bord du domaine gomtrique
" Ou faire du swapping dartes pour rcuprer les artes du bord
gomtrique
Algorithme de type Delaunay
43 Franck Ledoux
! On rcupre le bord du domaine si on ne la pas
" Il faut insrer des nuds et des artes l o les artes, introduites lors de la
triangulation initiale, coupent le bord du domaine gomtrique
" Ou faire du swapping dartes pour rcuprer les artes du bord
gomtrique
Algorithme de type Delaunay
44 Franck Ledoux
! On rcupre le bord du domaine si on ne la pas
" Il faut insrer des nuds et des artes l o les artes, introduites lors de la
triangulation initiale, coupent le bord du domaine gomtrique
" Ou faire du swapping dartes pour rcuprer les artes du bord
gomtrique
Algorithme de type Delaunay
45 Franck Ledoux
! On rcupre le bord du domaine si on ne la pas
" Il faut insrer des nuds et des artes l o les artes, introduites lors de la
triangulation initiale, coupent le bord du domaine gomtrique
" Ou faire du swapping dartes pour rcuprer les artes du bord
gomtrique
Algorithme de type Delaunay
46 Franck Ledoux
! On rcupre le bord du domaine si on ne la pas
" Il faut insrer des nuds et des artes l o les artes, introduites lors de la
triangulation initiale, coupent le bord du domaine gomtrique
" Ou faire du swapping dartes pour rcuprer les artes du bord
gomtrique
Algorithme de type Delaunay
47 Franck Ledoux
! On rcupre le bord du domaine si on ne la pas
" Il faut insrer des nuds et des artes l o les artes, introduites lors de la
triangulation initiale, coupent le bord du domaine gomtrique
" Ou faire du swapping dartes pour rcuprer les artes du bord
gomtrique
[George,91] [Owen,99]
Algorithme de type Delaunay
48 Franck Ledoux
! On rcupre le bord du domaine si on ne la pas
" Il faut insrer des nuds et des artes l o les artes, introduites lors de la
triangulation initiale, coupent le bord du domaine gomtrique
" Ou faire du swapping dartes pour rcuprer les artes du bord
gomtrique
D
C
V
S

Exemple de swapping local
o Rcupration de larte CD le long du vecteur V
s

Algorithme de type Delaunay
49 Franck Ledoux
D
C
E
1

E
2

E
3

E
4

E
5

E
6

E
7

E
8

Exemple de swapping local
o on liste lensemble des artes intersectes par V
s

Algorithme de type Delaunay
50 Franck Ledoux
D
C
E
1

E
2

E
3

E
4

E
5

E
6

E
7

E
8

Exemple de swapping local
o On fait du swapping dartes pour les couples de triangles
adjacent aux artes de la liste
Algorithme de type Delaunay
51 Franck Ledoux
D
C
E
2

E
3

E
4

E
5

E
6

E
7

E
8

Exemple de swapping local
o On teste si le swapping ninduit pas de recouvrement
(croisement) entre triangles
o Si oui, on reporte le swapping plus tard
Algorithme de type Delaunay
52 Franck Ledoux
D
C
E
3

E
4

E
5

E
6

E
7

E
8

Algorithme de type Delaunay
53 Franck Ledoux
Exemple de swapping local
o On teste si le swapping ninduit pas de recouvrement
(croisement) entre triangles
o Si oui, on reporte le swapping plus tard
D
C
E
6

Exemple de swapping local
o Au final, larte CD est rcupre mais la qualit des triangles
peut tre mauvaise
o Le critre de Delaunay nest plus respect
Algorithme de type Delaunay
54 Franck Ledoux
Bilan sur les mthodes de triangles/ttradres
! Pas de problme de connectivit / topologie dans les maillages
triangulaires / ttradriques
" Triangulation de Delaunay
tant donn un ensemble de points, on peut les connecter entre eux pour
former des triangles (2D), ttradres (3D), n-simplexes (nD)
La proprit de la sphre vide est locale et favorise les oprations locales
Cavits
! Difficile davoir des maillages de trs bonne qualit en 3D
! Difficile dassurer les contraintes au bord en 3D
" Techniques base doctree
On divise des polydres jusqu avoir des simplexes
! Inutile dajouter des sommets sur le bord
" Mthodes par avance de front
Se base sur le fait que la cavit restante est toujours subdivisable en
ttradres
55 Franck Ledoux

You might also like