Vous êtes sur la page 1sur 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
Schmas numriques
Algorithmes informatiques
Maillages

dans un monde continu


dans un monde discret
une partie du monde discret

Procd trs gourmand en temps de calcul et en espace mmoire


Parfait candidat pour le HPC

Franck Ledoux

Prparation de la simulation numrique


Processus simplifie

2
2 kN

1. Cration du modle
gomtrique

2. Maillage

4. Simulation numrique
(CALCUL, potentiellement
plusieurs heures)

3. Dfinition des conditions


physiques (conditions limites,
densits, matriaux,)

5. Visualisation

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)

Essai

Soufflerie ONERA S2MA


La prdiction du sillage est un effet direct du
raffinement en maillage
amlioration de la prdiction de la traine

Franck Ledoux

Calcul

Maillage industriel :
6.106 points
&
6
30.10 lments

Autres exemples

Deux exemples de mcaniques des solides

Franck Ledoux

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

Franck Ledoux

Partie 1

Maillage triangulaire
et ttradrique

Maillage triangulaire et ttradrique


3 grandes familles dalgorithmes

Quadtree / Octree
Avance de front
Delaunay
http://www.simulog.fr/mesh/gener2.htm

http://cubit.sandia.gov/

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]
Franck Ledoux

Mthodes QuadTree (2D) Octree (3D)

QMG,
Cornell University

Franck Ledoux

10

Mthodes QuadTree (2D) Octree (3D)

QMG,
Cornell University

Problmes de ces mthodes


-Rapport de tailles entre lments voisins
-Angles des lments
Maillages assez laids
Franck Ledoux

11

Algorithmes par avance de front


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
Franck Ledoux

12

Algorithme par avance de front


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

C
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

Franck Ledoux

13

Algorithme par avance de front


Mise jour permanente du front (qui est compose dune liste dartes)
On continue tant quil reste des artes dans le front

Franck Ledoux

14

Algorithme par avance de front


Mise jour permanente du front (qui est compose dune liste dartes)
On continue tant quil reste des artes dans le front

Franck Ledoux

15

Algorithme par avance de front


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

Franck Ledoux

16

Algorithme par avance de front


Mise jour permanente du front (qui est compose dune liste dartes)
On continue tant quil reste des artes dans le front

Franck Ledoux

17

Algorithme par avance de front


Si plusieurs choix pour le point C ?
On prend celui qui nous fournit le triangle le plus proche dun triangle
quilatral

r
C

A
B
On supprime toutes les possibilits qui intersecteraient un front existant
On rejette les triangles inverses ( I AB x AC I > 0)

[Lohner,88;96] [Lo,91]
Franck Ledoux

Avantages de ces mthodes


-Permet de contrler laspect des triangles au bord
18

Algorithme de type Delaunay


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
cercle circonscrit

Franck Ledoux

19

Algorithme de type Delaunay


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
Franck Ledoux

20

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

Franck Ledoux

21

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
Franck Ledoux

22

Algorithme de type Delaunay


Comment ajouter un sommet dans
une triangulation de Delaunay ?

X
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
Franck Ledoux

23

Algorithme de type Delaunay


Comment ajouter un sommet dans
une triangulation de Delaunay ?

X
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
Franck Ledoux

24

Algorithme de type Delaunay


Comment ajouter un sommet dans
une triangulation de Delaunay ?

X
d
r

Franck Ledoux

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
25

Algorithme de type Delaunay


Comment ajouter un sommet dans
une triangulation de Delaunay ?

X
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
Franck Ledoux

26

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

Franck Ledoux

27

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

Franck Ledoux

28

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

Franck Ledoux

29

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

Franck Ledoux

30

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

Franck Ledoux

31

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

Franck Ledoux

32

Algorithme de type Delaunay


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)

Franck Ledoux

33

Algorithme de type Delaunay


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
Franck Ledoux

Algorithme de type Delaunay


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
Franck Ledoux

35

Algorithme de type Delaunay


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

Franck Ledoux

36

Algorithme de type Delaunay


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

Franck Ledoux

37

Algorithme de type Delaunay


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)
Franck Ledoux

38

Algorithme de type Delaunay


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)
Franck Ledoux

39

Algorithme de type Delaunay


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]
Franck Ledoux

40

Algorithme de type Delaunay


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]
Franck Ledoux

41

Algorithme de type Delaunay


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
Franck Ledoux

42

Algorithme de type Delaunay


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
Franck Ledoux

43

Algorithme de type Delaunay


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
Franck Ledoux

44

Algorithme de type Delaunay


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
Franck Ledoux

45

Algorithme de type Delaunay


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
Franck Ledoux

46

Algorithme de type Delaunay


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
Franck Ledoux

47

Algorithme de type Delaunay


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]

Franck Ledoux

48

Algorithme de type Delaunay

D
VS

Exemple de swapping local


o Rcupration de larte CD le long du vecteur Vs

Franck Ledoux

49

Algorithme de type Delaunay

E3

D
E5

E8

E6

E4

C
E2
E1

E7

Exemple de swapping local


o on liste lensemble des artes intersectes par Vs

Franck Ledoux

50

Algorithme de type Delaunay

E1

E3

D
E5

E8

E4

E2

E6
E7

Exemple de swapping local


o On fait du swapping dartes pour les couples de triangles
adjacent aux artes de la liste
Franck Ledoux

51

Algorithme de type Delaunay

E3

D
E5

E8

E6
E7

E4
E2

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
Franck Ledoux

52

Algorithme de type Delaunay

E3
C

D
E5

E8

E4

E6
E7

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
Franck Ledoux

53

Algorithme de type Delaunay

D
E6

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
Franck Ledoux

54

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

Franck Ledoux

55

Vous aimerez peut-être aussi