Você está na página 1de 73

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

Un logiciel dedition de maillages et de contours


bidimensionnels
Eric Saltel, Frederic Hecht

No 118
Octobre 1995
`
THEME
6

ISSN 0249-0803

apport
technique

Un logiciel ddition de maillages et de contours bidimensionnels


Eric Saltel, Frdric Hecht
Thme 6
Projet Gamma
Rapport technique n118 Octobre 1995 59 pages

Rsum : Emc2 est un logiciel portable, graphique et intractif ddition de maillage et contours en 2 dimensions. Il permet de gnrer intractivement des maillages bidimensionnels pour la mthode des lments nis en
dnissant la gometrie (D.A.O), la discrtisation des contours, les sous-domaines et les numros de refrence
(an dintroduire un lien avec la physique: conditions aux limites, proprits des matriaux). Ces maillages,
forms de triangles ou de quadrangles, sont de type grille ou de type Delaunay-Vorono. Il est possible dditer
un maillage en ajoutant, supprimant, dplaant des sommets,... et en lui appliquant des transformations anes:
symetrie, rotation,...) etc.
Mots-cl :

MAILLAGE, ELEMENTS FINI, D.A.O, GEOMETRY, TRIANGLE, QUADRANGLE

(Abstract: pto)
118

Unite de recherche INRIA Rocquencourt


Domaine de Voluceau, Rocquencourt, BP 105, 78153 LE CHESNAY Cedex (France)
Telephone : 01 39 63 55 11 - International : +33 1 39 63 55 11
Telecopie : (33) 01 39 63 53 30 - International : +33 1 39 63 53 30

EMC2 Wysiwyg 2D finite elements mesh generator


Abstract: Emc2 is a portable, interactive and graphic software Edition of two dimensional geometry and
mesh. We can create and modify the geometry (CAD), dene the discretization on the lines, dene the subdomains, and dene some reference numbers to take into account the boundary conditions and material properties.
The elements of the mesh are traingles and quadrilaterals. We have two kind of meshes : grid mesh and Delaunay Vorono(automatic mesh). We make the edition of the mesh by moving, removing, adding vertices, by
regularization, or by transformations (symmetry, rotation,..), etc.
Key-words:

MESH, GRID, FINITE ELEMENT, CAD, GEOMETRIE, TRIANGLE,QUADRANGLE

Emc2

Table des matires


1 INTRODUCTION
1.1 EMC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
2

2 Gnralits
2.1 Lapplication CONSTRUCTION
2.2 Lapplication PREP_MESH . . .
2.3 Lapplication EDIT_MESH . . .
2.4 Un exemple dtaill trs simple .
2.5 Un exemple moins trivial . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

3
3
4
4
5
7

3 Les menus globaux


3.1 Les menus de dsignation . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Les raccourcis . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Utilisation pratique . . . . . . . . . . . . . . . . . . . . .
3.2 Le menu calculette . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Le menu gnralits . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Sortir du programme . . . . . . . . . . . . . . . . . . . . .
3.3.2 Interroger la base de donnes . . . . . . . . . . . . . . . .
3.3.3 Dtruire des lment de la base de donnes . . . . . . . .
3.3.4 Sauver la base de donnes . . . . . . . . . . . . . . . . . .
3.3.5 Restaurer la base de donnes . . . . . . . . . . . . . . . .
3.3.6 Mise zro . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.7 Imprimer lcran . . . . . . . . . . . . . . . . . . . . . . .
3.3.8 Redessiner la fentre sur un autre priphrique graphique
3.3.9 Excuter une commande systme . . . . . . . . . . . . . .
3.3.10 Sauvegarder une session . . . . . . . . . . . . . . . . . . .
3.3.11 Rexcuter une session . . . . . . . . . . . . . . . . . . . .
3.3.12 Commuter dans lapplication CONSTRUCTION . . . . .
3.3.13 Commuter dans lapplication PREP_MESH . . . . . . .
3.3.14 Commuter dans lapplication EDIT_MESH . . . . . . . .
3.4 Le menu gestion de lcran . . . . . . . . . . . . . . . . . . . . . .
3.4.1 Agrandir le dessin . . . . . . . . . . . . . . . . . . . . . .
3.4.2 Rduir le dessin . . . . . . . . . . . . . . . . . . . . . . . .
3.4.3 Translater la fentre graphique . . . . . . . . . . . . . . .
3.4.4 Dnir une chelle . . . . . . . . . . . . . . . . . . . . . .
3.4.5 Redessiner la fentre graphique . . . . . . . . . . . . . . .
3.4.6 Centrer le dessin . . . . . . . . . . . . . . . . . . . . . . .
3.4.7 Redessiner la vue prcdente . . . . . . . . . . . . . . . .
3.4.8 Redessiner la vue Suivante . . . . . . . . . . . . . . . . . .
3.4.9 Dessiner tout le dessin . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

10
10
12
12
12
13
13
14
14
14
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18

RT n0123456789

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

ii

4 Lapplication construction
4.1 Prsentation . . . . . . . . . . . . . . . . . . . .
4.2 Utilisation . . . . . . . . . . . . . . . . . . . . .
4.2.1 Mta syntaxe de description des actions
4.2.2 Modication de ltat du systme . . . .
4.2.3 Construction de points . . . . . . . . . .
4.2.4 Construction de droites . . . . . . . . .
4.2.5 Construction de cercles . . . . . . . . .
4.2.6 Construction darcs . . . . . . . . . . .
4.2.7 Construction de segments . . . . . . . .
4.2.8 Construction de splines . . . . . . . . .
4.2.9 Transformations gomtriques . . . . . .
4.2.10 Arrondir un angle . . . . . . . . . . . .
4.2.11 Dnir un Contour . . . . . . . . . . . .
4.2.12 Retourner des segments ou arcs . . . . .
4.2.13 Complmenter des arcs . . . . . . . . .
4.2.14 Inverser des lments . . . . . . . . . .
4.2.15 Couper 2 2 des lments . . . . . . . .
4.2.16 Changer une partie dun lment . . . .
4.2.17 Ajouter des lments . . . . . . . . . . .
4.2.18 Fondre deux lments en un . . . . . . .

Eric Saltel, Frdric Hecht

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

19
19
19
20
21
21
22
23
23
23
24
24
24
24
25
25
25
26
26
26
26

5 Lapplication PREP_MESH
5.1 Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Modication de ltat du systme . . . . . . . . . . .
5.2.2 Dnition des points intermdiaires . . . . . . . . . .
5.2.3 Dnition de la raison . . . . . . . . . . . . . . . . .
5.2.4 Dnition du numro de rfrence dextrmits . . .
5.2.5 Dnition du numro de rfrence de lignes . . . . .
5.2.6 Fissurage des lignes . . . . . . . . . . . . . . . . . .
5.2.7 Dssurage des lignes . . . . . . . . . . . . . . . . .
5.2.8 Dnition dun numro de rfrence de sous domaine
5.2.9 Dnition dun domaine . . . . . . . . . . . . . . . .
5.2.10 Ajout dlments intrieurs un domaine . . . . . .
5.2.11 Vrication de la bonne dnition dun domaine . .
5.2.12 Retrait dlments un domaine . . . . . . . . . . .
5.2.13 Mode de maillage dun domaine . . . . . . . . . . . .
5.2.14 Mode de dcoupage dun domaine quadrangulaire .
5.2.15 Visualisation de domaines ou de composantes . . . .
5.2.16 Gnration du chier dentre de APNOXX . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

27
27
27
28
28
29
29
30
30
30
30
30
31
31
31
31
33
33
33

6 Lapplication EDIT_MESH
6.1 Prsentation . . . . . . . . . . . . . . . . . . . . . . .
6.2 Gnralits . . . . . . . . . . . . . . . . . . . . . . .
6.2.1 Dnition des variables dtat de lapplication
6.3 Edition du maillage . . . . . . . . . . . . . . . . . . .
6.3.1 Bouger un sommet . . . . . . . . . . . . . . .
6.3.2 Ajouter un sommet au maillage . . . . . . . .
6.3.3 Supprimer un sommet du maillage . . . . . .
6.3.4 Retourner une arte du maillage . . . . . . .
6.3.5 Maillage de Delaunay . . . . . . . . . . . . .
6.3.6 Rgularisation du maillage . . . . . . . . . .
6.3.7 Trianguler . . . . . . . . . . . . . . . . . . . .
6.3.8 Quadranguler . . . . . . . . . . . . . . . . . .
6.3.9 Fissurer . . . . . . . . . . . . . . . . . . . . .
6.3.10 Modier les rfrences du maillage . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

34
34
34
35
35
35
35
35
35
35
36
36
36
36
36

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

INRIA

Emc2

iii

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

37
37
37
37
37
37
38
38

7 Exemple
7.1 Le carr unit trou . . . . . . . . . . . . . . . . . .
7.1.1 Construction du carr unit trou . . . . . .
7.1.2 Dnition de la discrtisation sur la frontire
7.1.3 Gnration et criture du maillage . . . . . .
7.2 Une aile NACA0012 . . . . . . . . . . . . . . . . . .
7.2.1 Introduction . . . . . . . . . . . . . . . . . .
7.2.2 La construction de la gomtrie . . . . . . . .
7.2.3 Discrtisation des contours . . . . . . . . . .
7.2.4 Gnration et dition du maillage . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

39
39
39
40
41
42
42
43
45
45

6.4

6.3.11 Renumroter les sommets du maillage . .


Les transformations . . . . . . . . . . . . . . . .
6.4.1 Translation . . . . . . . . . . . . . . . . .
6.4.2 Symtrie . . . . . . . . . . . . . . . . . . .
6.4.3 Rotation . . . . . . . . . . . . . . . . . . .
6.4.4 Homothtie . . . . . . . . . . . . . . . . .
6.4.5 Gnrer eectivement les transformations
6.4.6 Exemple de transformation . . . . . . . .

.
.
.
.
.
.
.
.

8 Limitations et Bogues
A Structure interne des donnes
A.1 Description de la B.D. pour lapplication CONSTRUCTION . .
A.2 Description de la B.D. pour lapplication PREP MESH . . . . .
A.2.1 Description de la liste des lments passant par le point i.
A.2.2 Description de la liste des composantes . . . . . . . . . .
A.2.3 Description de la liste des domaines . . . . . . . . . . . .
A.3 Description des B.D. pour lapplication EDIT_MESH . . . . . .
A.4 Description des maillages AM, AM_FMT, AMDBA . . . . . . .
A.4.1 Le chier AM . . . . . . . . . . . . . . . . . . . . . . . . .
A.4.2 Le chier AM_FMT . . . . . . . . . . . . . . . . . . . . .
A.4.3 Le chier AMDBA . . . . . . . . . . . . . . . . . . . . . .

RT n0123456789

49
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

51
51
53
55
55
56
56
58
58
58
58

iv

Eric Saltel, Frdric Hecht

Table des figures


2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9

Reprsentation de lcran . . . . . . . . . . . . .
Le cercle unit . . . . . . . . . . . . . . . . . . .
Le cercle unit discrtis . . . . . . . . . . . . . .
Le cercle unit maill . . . . . . . . . . . . . . . .
La gomtrie du domaine . . . . . . . . . . . . .
La discrtisation des contours. . . . . . . . . . . .
Visualisation du maillage total. . . . . . . . . . .
Un premier zoom. . . . . . . . . . . . . . . . . .
Zoom autour lun des points de presque tangence

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

4
5
6
6
7
8
8
9
9

3.1
3.2
3.3
3.4
3.5
3.6

Le menu de dsignation pour lapplication CONSTRUCTION


Le menu de dsignation pour lapplication PREP_MESH . .
Le menu de dsignation pour lapplication EDIT_MESH . .
Les deux menus calculettes . . . . . . . . . . . . . . . . . . .
Le menu gnral . . . . . . . . . . . . . . . . . . . . . . . . .
Le menu gestion de lcran . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

10
10
10
12
14
17

4.1
4.2

Le menu de lapplication CONSTRUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


Exemple de contourage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.1
5.2
5.3

Menu de lapplication PREP_MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Exemples de composantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple dun maillage quadrangulaire nb. points : sur les cotes droite et gauche 6=N, et sur les
cotes haut et bas 21=M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple de maillage bande , nb. de points : sur les cots droite et gauche 6 = N, et en haut 31
et en bas 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple avec le mailleur classique de Delaunay-Voronomesh avec la mme discertisation de la
frontiere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple de maillage bande (maillage Quadranglaire), nb. de points, a droite et gauche 6 , en bas
et en haut 21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.4
5.5
5.6

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

. 27
. 28
. 32
. 32
. 32
. 33

6.1

Le menu de lapplication EDIT_MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11

La gomtrie du domaine carr trou . . . . . . . . . .


La discrtisation des lignes du domaine carr trou . .
Le maillage nal du domaine carr trou . . . . . . . .
Toute la gomtrie du naca0012 et de linni . . . . .
Zoom autour du naca0012 . . . . . . . . . . . . . . . .
Vu de la discrtisation de tous les contours . . . . . .
Zoom de la discrtisation des contours autour du naca
Maillage du demi naca0012 . . . . . . . . . . . . . . .
Zoom de 1000 du Maillage du demi naca0012 . . . . .
Zoom de 10 du maillage du naca0012 symtris . . . .
Zoom de 10 du maillage du naca0012 complet . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

40
40
41
44
44
45
46
46
47
48
48

A.1 Description de la B.D. pour lapplication CONSTRUCTION . . . . . . . . . . . . . . . . . . . . 51


A.2 Description de la B.D. pour lapplication PREP MESH . . . . . . . . . . . . . . . . . . . . . . . 53
INRIA

Emc2

A.3 Description de la liste des lments passant par le point i. . . . . . . . . . . . . . . . . . . . . . . 55


A.4 Description de la liste des composantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
A.5 Description de la liste des domaines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

RT n0123456789

Emc2

Chapitre 1

INTRODUCTION
Une des dicults de la mthode des lments nis est la dnition du domaine de calcul et la construction
dun maillage de . Etant donn que lon est amen rsoudre des problmes de plus en proches de la ralit, la
complexit des domaines de calcul crot paralllement,et le temps humain pass dnir la gomtrie et gnrer
les maillages peut devenir exorbitant si lon ne dispose pas doutils adquats.
Ces direntes considrations ainsi que le dveloppement des stations de travail (graphiques) ont motiv le
dveloppement et la ralisation du logiciel Emc2 (pour Edition de maillages et de contours en 2 dimensions).
Lutilisation de ce logiciel portable, graphique, rapide, bas sur des menus ( qui orientent les actions pour
la dfinition des gomtries et le maillage de celles-ci), diminuera de faon signicative le temps ncessaire la
prparation des donnes dans la mthode des lments nis.

RT n0123456789

1.1

Eric Saltel, Frdric Hecht

EMC2

INRIA

Emc2

Chapitre 2

Gnralits
Le logiciel est divis en trois applications principales (exclusives) :
1. lapplication CONSTRUCTION : dition et cration de la gomtrie (contours) ;
2. lapplication PREP_MESH : dition et dnition du maillage des contours, des rfrences des lignes,
points, et sous domaines ;
3. lapplication EDIT_MESH : cration et dition dun maillage triangulaire, ou quadrangulaire.
Dans chacune de ces applications on accde aussi aux menus suivants
GENERALITES permettant entre autre de changer dapplication (commuter), de sauver ou restaurer une
base de donnes, de faire des copies dcran, de r-excuter une session, de sortir de Emc2 (nir)...
GESTION DE LECRAN GRAPHIQUE servant grer lachage de la base de donnes,
CALCULETTE permettant dentrer une valeur numrique (pouvant tre le rsultat dune expression)
quand cela est ncessaire, ou de renvoyer certaines valeurs comme le rayon dun cercle ou dun arc de
cercle, la longueur dun arc ou dun segment...
DESIGNATION servant dnir le type de llment que lon veut dsigner, par exemple coord, point,
droite, cercle, arc, segment, spline... Ce menu dpendra de lapplication en cours car les ITEM dsigner
peuvent tre dirents selon lapplication.
Chaque application (principale) possde un menu qui lui est propre. Toutes les applications sont diriges par
des grammaires LL1.
Lcran (gure ??) est dcoup en 9 znes : 5 sont des menus ((1), (2), (4), (7), (6)), 3 sont des znes dachage
((8), (9), (5)) , la zne centrale est graphique.
Les menus GENERAL(ITES), CALCULETTE, GESTION DE LECRAN sont xes et indpendants des applications. Les menus APPLICATION et DESIGNATION sont videmment dpendants de
lapplication en cours.
Le logiciel est interactif, toutes les entres se font laide de la souris et du clavier. La souris permet de
dsigner les ITEM (cases) des menus ainsi que les lments graphiques (aprs slection dans le menu DESIGNATION). Le clavier permet dentrer du texte (par exemple le nom dun chier) ainsi que des raccourcis,
(les ITEM de certains menus ont t mis en quivalence avec des touches du clavier).

2.1

Lapplication CONSTRUCTION

Cette application permet de dnir les contours gomtriques du domaine laide de points, segments, arcs
de cercle, et de splines. On a de plus introduit deux autres entits de construction qui sont utiles dans certains
cas : les droites et les cercles. Ces deux dernires entits ne servent dailleurs que dans cette application.
On peut construire toutes les entits, except les splines, laide des thormes de gomtrie lmentaire ;
quand les solutions sont multiples, les ambiguits sont leves en utilisant lheuristique suivante : les points de
dsignation sont proches des points de tangence des lments (point, droite, cercle, arc, segment).
Une spline est dnie comme une courbe C 1 passant par une liste de points. Elle sera ferme si le premier
et le dernier point sont confondus.
On peut dupliquer toutes ces entits laide des transformations anes suivantes : symtrie, rotation,
homothtie, translation.
De plus on peut :
RT n0123456789

Eric Saltel, Frdric Hecht

MENU OF THE CURRENT APPLICATION


(1)

MENU
GRAPHIC

GRAPHIC

MENU

SCREEN

MANAGEMENT
(4)
VALUE

GENERALITES

WINDOW

CALCULATOR

(3)

(2)

(5)

(6)

SELECT MENU
(7)
SCRATCH BOX FOR INPUT OUTPUT
BOX WHERE WE SHOW STATE OF SYSTEME VARIABLE

(8)
(9)

Fig. 2.1 Reprsentation de lcran


arrondir les angles,
couper les segments, arcs, splines par des points, segments, arcs, splines,
dtruire des entits laide du menu GENERALITES

2.2

Lapplication PREP_MESH

A ce niveau les composantes connexes des bords des sous domaines de sont connues. On appellera ces
composantes connexes, des composantes.
Cette application permet de dnir la discrtisation sur les entits dnissant le bord du domaine et des sous
domaines (frontire de matriaux), ainsi que des numros de rfrences sur les sous domaines, sur les lignes,
sur les points ; en vue dentrer des donnes physiques direntes (exemple : plusieurs conditions aux limites,
plusieurs matriaux).
Elle permet aussi de crer un chier de donnes en vue dinterfacer le mailleur de MODULEF : APNOXX,
en dnissant les sous domaines comme une liste de composantes o la 1iere est la composante extrieure (les
autres composantes tant les composantes des trous), plus des lignes internes, et des points internes forcer.

2.3

Lapplication EDIT_MESH

Au moment de la commutation on peut modier la valeur par dfaut de certains paramtres du mailleur.
Le programme construit un maillage triangulaire ou quadrangulaire rgle des sous domaines dnis ltape
prcdente, ou bien de tous les sous domaines si aucun na t dni.
A ce niveau on peut diter le maillage :
ajouter des sommets internes aux sous domaines
supprimer des sommets, des sous domaines
retourner des artes internes dun quadrilatre
bouger des sommets
rgulariser ou rendre de Delaunay le maillage
quadranguler le maillage
transformer des sous domaines avec des symtries, rotations, homothties, translations
INRIA

Emc2

modier les rfrences des sommets, des artes, des sous domaines (rgions) ;
sauver ou restaurer un maillage (sous direntes formes : MESH structure interne Emc2 , structure
NOPO de modulef, structure simplie, etc )
ssurer des lignes du maillage (les points de part et dautre de la ligne sont dupliqus)
renumroter en vue de diminuer la taille du prol des matrices lments nis P 1 ou Q1 .

2.4

Un exemple dtaill trs simple

Pour changer les habitudes nous allons mailler un cercle unit plutt quun carr. Il faut donc construire
le cercle (un arc de 360) , puis dnir la discrtisation sur larc, puis construire le maillage. Ces 3 phases
correspondent respectivement aux trois applications CONSTRUCTION, PREP_MESH, EDIT_MESH. La liste
des actions :
1. Excuter emc2 puis entrer le numro du prifrique graphique (dpendant de la machine). Aprs linitialisation on est implicitement dans lapplication construction, et le mode de dsignation est point tablette
(PT_TABL). Pour construire larc :
(a) on clique dans la case ARC du menu de construction (en haut),
(b) on clique dans la case CENTRE du mme menu pour dnir le centre,
(c) on clique dans la case PT_XY du menu dsignation

Fig. 2.2 Le cercle unit


(d) on tape au clavier : 0=0= ce qui dni le centre au point (0,0)
(e) on clique dans la case RAYON du menu de dsignation en haut
(f) on tape au clavier 1= ce qui dni le rayon 1 (la variable dtat rayon est mis 1, elle est ache
en bas de lcran) ;
un cercle de arc de centre (0,0) de rayon 1 et dangle 360 sache. Remarque : bien que la variable dtat
"angle" soit gale 0, langle de larc est en fait gale 360 ( 0 360 mod 360).

2. Le cercle est petit (environ 2 cm) parce que lechelle implicite est gale 1, pour le voir plein cran (gure
2.2), il sut de cliquer dans la case VOIR_TOUT du menu de gestion de lcran (en haut droite).
3. On
a
ni
la
construction
du
cercle.
On
passe
PREP_MESH en cliquant dans cette case du menu gnral.
Pour dnir le nombre de point sur larc il sut de :
(a) cliquer dans la case NB_NTERVAL
RT n0123456789

au

niveau

de

lapplication

Eric Saltel, Frdric Hecht

Fig. 2.3 Le cercle unit discrtis

Fig. 2.4 Le cercle unit maill

INRIA

Emc2

(b) taper le nombre dintervalle 10=


(c) de dsigner larc en cliquant dans la case ARC du menu de dsignation (en bas)
(d) de cliquer dans la fentre graphique prs de larc
Les points gnrs sachent sur lcran (gure 2.3). On peut construire le maillage, en passant dans
lapplication EDIT_MESH, pour cela il sut de cliquer dans la case EDIT_MESH du menu gnral, puis
de taper quatre fois (CR)au clavier an dutiliser les options donnes par dfaut aux 4 questions poses
par le mailleur. Le maillage du cercle sache sur lcran (gure 2.4). On peut sauver le maillage avec la
case SAUVER du menu gnral, en donnant :
(a) le type du maillage sauver par exemple en tapant am_fmt(CR)
(b) le nom du prxe du maillage par exemple en tapant cercle<retrun>
un chier de nom cercle.am_fmt contenant le maillage est gnr.

2.5

Un exemple moins trivial

Construction dun maillage entre les 8 cercles tangents aux 3 cercles en pointills (c.f. gure 2.5). On a coup
les arcs au voisinage des points de presque tangence en vue de raner le maillage. On montre les direntes
tapes (gures 2.5,2.6 et 2.7), et des agrandissements du maillage gures 2.8 et 2.9. La gure 2.9 tant un trs
fort zoom (environ 360 fois) autour dun point de presque tangence.
POINT
CIRCLE ARC
STRT LINE
SEGMENT SPLINE

ROUND
CENTER
OUTLINE RADIUS

DISTANCE SWAP
ANGLE
INVERT

COMPLE_ARC
CUT
MERGE
CHANGE

ADD
IDEM

QUIT ^z
QUERY
DESTRUCT
SAVE
RESTORE
RESET_DB

RATIO
NUMBER

ROTATION SYMMETRY
TRANSLAT HOMOTHETY
ZOOM +
ZOOM TRANSLATION
SCALE
REFRESH
C_MASK
PREVIOUS
NEXT
SHOW_ALL
.000000E+00

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

PI Y

NO

SOFT_COPY

>CONSTRUCTION
CONSTRUCTION
PREP_MESH

AC E Ra Ag

EDIT_MESH
POINT/p STRT LINE/d
CIRCLE/c
ARC/a

Lg Di
SEGMT/s SPLINE/~
MOUSE P/m
XY PT/x XY FILE/<
ANY/q

RADIUS=1.;ANGLE=.E;DISTANCE=1.;RATIO=1.;NUMBER=0;SCALE=1.27141; Log File:trace025

Fig. 2.5 La gomtrie du domaine

RT n0123456789

POP

NEAREST EXTREM
^n
^e
CENTER\\c
MIDDLE ^m
INTERS/i

Eric Saltel, Frdric Hecht

LINE
DOMAINE

COMPONENTUNCRACK
ALL
CRACK

RATIO
NODE_REF DOMAIN_REF
DOMAIN DEF
QUADRANGLE
REGULAR
Nb_INTERVAL
LINE_REF Lg_INTERVAL
INTERIOR TRIANGLESCOINS

REMOVE
VERIFY

SHOW
STRIP

QUIT ^z
QUERY
DESTRUCT
SAVE
RESTORE
RESET_DB

GENERATE
Gen. Base
ZOOM +
ZOOM TRANSLATION
SCALE
REFRESH
C_MASK
PREVIOUS
NEXT
SHOW_ALL
.000000E+00

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

SOFT_COPY

>PREP_MESH
PREP_MESH

AC E Ra Ag

EDIT_MESH
POINT/p

Lg Di
ARC/a

SEGMENT/s

SPLINE/~

MOUSE P/m

XY PT /x

ANY/q

NEAREST ^n

POP

EXTREM ^e

NUREF=0;Nb_INTERVALS=20;Lg_INTERVAL=1.;RATIO=.833333;SCALE=1.27141; Log File:trace025

Fig. 2.6 La discrtisation des contours.

REGULARIZEDELAUNAY ADD
MOVE
SUPRESS
SWAP
MODIF_REF CRACK
TRIANGULATE
MIN ANGLE MARK ELEMENT
RENUMBER ALL
ORIGINALS EVALUATE ROTATION TRANSLATION
SYMMETRY HOMOTHETY QUADRANGULATE
MAX ANGLE BOUNDARY
ZOOM +
QUIT ^z
ZOOM TRANSLATION
QUERY
SCALE
DESTRUCT
REFRESH
C_MASK
SAVE
PREVIOUS
NEXT
RESTORE
SHOW_ALL
RESET_DB
.000000E+00

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

PREP_MESH

AC E Ra Ag

SOFT_COPY

>EDIT_MESH
EDIT_MESH

Lg Di

VERTEX/vEDGE/l ELEMENT/f
S_DOM/r ARC/a

SEGMENT/s
SPLINE/~MOUSE P/m
XY PT/x ANY/q

POP

NEAREST EXTERM
^n
^e
CENTER ^c
MIDLLE ^m

No_edit_bord;Mark_bad_elem;Scale=1.27280;MIN_ANGLE_T=5.;MAX_ANGLE_T=175.;MIN_ANGLE_Q=5.;MAX_ANGLE_Q=175.; Log File:trace025

Fig. 2.7 Visualisation du maillage total.

INRIA

Emc2

REGULARIZEDELAUNAY ADD
MOVE
SUPRESS
SWAP
MODIF_REF CRACK
TRIANGULATE
MIN ANGLE MARK ELEMENT
RENUMBER ALL
ORIGINALS EVALUATE ROTATION TRANSLATION
SYMMETRY HOMOTHETY QUADRANGULATE
MAX ANGLE BOUNDARY
ZOOM +
QUIT ^z
ZOOM TRANSLATION
QUERY
SCALE
DESTRUCT
REFRESH
C_MASK
SAVE
PREVIOUS
NEXT
RESTORE
SHOW_ALL
RESET_DB
.000000E+00

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

PREP_MESH

AC E Ra Ag

SOFT_COPY

>EDIT_MESH
EDIT_MESH

Lg Di

VERTEX/vEDGE/l ELEMENT/f
S_DOM/r ARC/a

SEGMENT/s
SPLINE/~MOUSE P/m
XY PT/x ANY/q

POP

NEAREST EXTERM
^n
^e
CENTER ^c
MIDLLE ^m

No_edit_bord;Mark_bad_elem;Scale=6.49531;MIN_ANGLE_T=5.;MAX_ANGLE_T=175.;MIN_ANGLE_Q=5.;MAX_ANGLE_Q=175.; Log File:trace025

Fig. 2.8 Un premier zoom.

REGULARIZEDELAUNAY ADD
MOVE
SUPRESS
SWAP
MODIF_REF CRACK
TRIANGULATE
MIN ANGLE MARK ELEMENT
RENUMBER ALL
ORIGINALS EVALUATE ROTATION TRANSLATION
SYMMETRY HOMOTHETY QUADRANGULATE
MAX ANGLE BOUNDARY
ZOOM +
QUIT ^z
ZOOM TRANSLATION
QUERY
SCALE
DESTRUCT
REFRESH
C_MASK
SAVE
PREVIOUS
NEXT
RESTORE
SHOW_ALL
RESET_DB
.000000E+00

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

PREP_MESH

AC E Ra Ag

SOFT_COPY

>EDIT_MESH
EDIT_MESH

Lg Di

VERTEX/vEDGE/l ELEMENT/f
S_DOM/r ARC/a

SEGMENT/s
SPLINE/~MOUSE P/m
XY PT/x ANY/q

No_edit_bord;Mark_bad_elem;Scale=170.057;MIN_ANGLE_T=5.;MAX_ANGLE_T=175.;MIN_ANGLE_Q=5.;MAX_ANGLE_Q=175.; Log File:trace025

Fig. 2.9 Zoom autour lun des points de presque tangence

RT n0123456789

POP

NEAREST EXTERM
^n
^e
CENTER ^c
MIDLLE ^m

10

Eric Saltel, Frdric Hecht

Chapitre 3

Les menus globaux


Lutilisateur avec les menus cre, dite, dtruit, ... des objets qui sont stocks dans deux bases de donnes
(BD), une pour la gomtrie, lautre pour les maillages.

3.1

Les menus de dsignation

Ces menus (au bas de la fentre graphique) permettent de dnir le type de dsignation graphique (un point,
droite, etc...). Ils dpendent de lapplication courante (c.f. gures 3.1, 3.2, 3.3). Il est fondamental de bien
comprendre les sorties de ce menu car tout le reste en dpend. Toutes ces sorties (exemple un cercle, un nombre,
ou lextrmite dun arc) sont types et les types dnissent les entits syntaxiques de dsignation connues par
les grammaires qui dirigent les trois applications.
POINT

DROITE

CERCLE

ARC

SEGMENT

SPLINE

P_TABL

PT_XY

FI_XY

QLCONQ

+_PROCHE

EXTREM

CENTRE

MILIEU

INTERS

Fig. 3.1 Le menu de dsignation pour lapplication CONSTRUCTION

POINT

ARC

SEGMENT

SPLINE

P_TABL

PT_XY

QLCONQ

+_PROCHE

EXTREM

Fig. 3.2 Le menu de dsignation pour lapplication PREP_MESH


Les types gnrables sont :
<COORD> point immdiat (point tablette, point XY ou extrmit, centre, milieu dun lment de la BD)

SOMMET

ARETE

ELEMENT

S_DOM

ARC

SEGMENT

SPLINE

P_TABL

PT_XY

QLCONQ

+_PROCHE

EXTREM

CENTRE

MILIEU

Fig. 3.3 Le menu de dsignation pour lapplication EDIT_MESH


INRIA

Emc2

11

<POINT> point de la BD
<DROITE> droite de la BD
<CERCLE> cercle de la BD
<ARC> arc de la BD
<SEGMENT> segment de la BD
<SPLINE> spline de la BD
<VALEUR> valeur numrique (entre avec la calculette)
<SOMMET> sommet du maillage
<ARETE> arte du maillage
<ELEMENT> lment ni (triangle ou quadrangle) du maillage
<S_DOM> sous domaine du maillage (composante connexe du maillage)
Ces menus dpendent de lapplication en cours car ils servent dnir le type de llment que lon veut
dsigner. Les ITEM des menus (leur "raccourci" clavier est entre parenthses) peuvent se classer en plusieurs
catgories :
1. Les
item
POINT (p),
DROITE (d),
CERCLE (c),
ARC (a),
SEGMENT (s),
SPLINE (~) permettent de dsigner llment de la B.D.
le plus proche du point cliqu, le type de
dsignation est dni par la nature de llment trouv et par litem des catgories (4), (5) (si il y a une
incompatibili, litem de la catgorie (4) est forc +P_PROCHE.
2. Les item P_TABL (t), PT_XY (x), FI_XY (<) permettent dentrer des points immdiats respectivement
comme suit
ils sont dnis en cliquant avec la souris dans la fentre graphique ;
ils sont dnis par une liste de couples de valeurs (coordonnes) entre avec la calculette ;
ils sont lus dans un chier FORMATTED contenant 2 coordonnes (real) par ligne jusqu la n du
chier (EOF), le nom du chier est demand dans la zone scratch ;
Remarque : dans les 2 derniers cas le point gnr peut-tre hors de la fentre graphique ;
3. litem QLCONQ (q) noriente pas la dsignation (on prendra llment de la BD le plus proche du point
cliqu), le type de dsignation est dni par la nature de llment trouv et par litem des catgories 4,5
utilis ;
4. litem +_PROCHE permet de dsigner eectivement llment de BD et le type de la dsignation est celui
de llment de BD,
5. les item EXTREM(ITE) (esc e), CENTRE (esc c), MILIEU (esc m) permettent de dnir ce que lon
va dsigner de llment de BD (c.f. (1) et (3)) : on dsigne le point (de type de dsignation : <COORD>)
qui est respectivement lextremit, le centre, le milieu de llment de BD dsign si cela a un sens sinon
on force le mode de dsignation principal quelconque (cf 3.) tout en conservant litem de la catgorie 5. ;
6. litem INTERSECTION, permet de dsigner le point immdiat qui est lintersection de 2 lments de BD
dsigns par la suite (le type de dsignation gnr est <COORD>) ;
7. les item ELEMENT(f), ARETE(l), SOMMET(v), S_DOM(r) permettent de dsigner respectivement llment (triangle ou quadrangle) contenant le point cliqu (pour le type de dsignation : <ELEMENT>), larte
la plus proche du point cliqu qui doit tre dans un lment (pour le type de dsignation : <ARETE>),
le sommet le plus proche du point cliqu qui doit tre dans un lement (pour le type de dsignation :
<SOMMET>), le sous domaine contenant le point cliqu (pour le type de dsignation : <S_DOM>).
Important : En fait la dsignation nest eective que lorsque lon a cliqu sur un lment de la fentre
graphique, en eet on peut cliquer autant de fois que lon veut les cases du menu de faon obtenir la combinaison
dsire de case(s) marque(s). Une dsignation dnit le type de dsignation et elle conserve les coordonnes du
curseur au moment du clic, souvent ces coordonnes sont utiles pour lapplication en cours, car elles servent
lever des ambiguites smantiques, plusieurs solutions au problme trait, exemple :
on veut construire un cercle tangent 3 cercles, il y a gnralement 8 solutions, on choisira la solution
telle que les points de tangences soient les plus proches des points de dsignation ;
lintersection de deux cercles donne deux points, dans INTERSECTION, on lve lambiguit en ne retenant
que le point le plus proche de celui ayant servi dsigner le deuxime cercle.
Si lon essaie de dsigner quelque chose qui nexiste pas, on obtient le message on na rien dsign, ce qui ne
produit aucun eet.
Suivant les applications les dsignations possibles ne sont pas les mmes car on na pas besoin de tous
les types de dsignation (ex : les cercles et les droites ne sont utiliss que dans lapplication construction, les
lments, artes, sommets et sous domaines nexistent que dans lapplication EDIT_MESH)
RT n0123456789

12

3.1.1

Eric Saltel, Frdric Hecht

Les raccourcis

Les "raccourcis" clavier correspondant aux ITEM des catgories 1,2,3,4,7 sont quivalents 2 cliques : un
premier dans la case de lITEM , et le suivant sur le point du curseur si celui ci est dans la fentre graphique
(on a donc chang le mode de dsignation et on a dsign llment le plus proche du curseur).

3.1.2

Utilisation pratique

La dsignation dun lment se fait en cliquant prs de cet lment (on recherche le plus proche du clique).
Quand on clique un menu, il est marqu par lapparition du signe > devant le texte du menu. Dans les menus
de dsignation, il peut y avoir deux cases de marques la fois, les combinaisons sont :
QLCONQ
POINT
DROITE
CERCLE
ARC
SEGMENT
SPLINE
PT_TAB
PT_XY
SOMMET
ARETE
ELEMENT
S_DOM

(
(
(
(
(
(
(
(
(
(
(
(
(

+_PROCHE,
+_PROCHE)
+_PROCHE)
+_PROCHE,
+_PROCHE,
+_PROCHE,
+_PROCHE,
+_PROCHE)
+_PROCHE)
+_PROCHE)
+_PROCHE)
+_PROCHE)
+_PROCHE)

EXTREMITE, CENTRE, MILIEU )

CENTRE )
EXTREMITE, CENTRE, MILIEU )
EXTREMITE, MILIEU )
EXTREMITE )

Les autres combinaisons ne sont pas valides. Une dsignation nest eective que lorsque lon a cliqu un
lment lcran : en eet on peut cliquer autant de fois que lon veut les cases du menu de faon obtenir la
combinaison dsire de case(s) marque(s).

3.2

Le menu calculette

Ce menu (c.f. gure 3.4) peut aussi tre considr comme un menu de dsignation. Il permet de dnir une
valeur numrique qui est de type <VALEUR>.
1
5
9

C
,
AC
Lg

2
6
0

|
PI
E
Di

3
7
=
/
(
Y
Ra

4
8
+
.
)
NO
Ag
P OP

On passe dun menu


lautre en cliquant
la case POP

SIN
COS
T AN
AT AN
AT AN 2 EXP
LOG
LOG10
SQRT
M OD
ABS
SIGN
IN T
N IN T
M IN
M AX
P OP

Fig. 3.4 Les deux menus calculettes


On peut crire nimporte quelle expression FORTRAN. Le calcul effectif de la valeur est
effectu sur le clique de lITEM = (de raccourci =) ou en tapant (CR).
les ITEM, avec leur raccourci clavier entre parenthses sont :
1
2
3

(1)
(2)
(3)

les chires

INRIA

Emc2

4
5
6
7
8
9
.
+

/
)
(
,
=
|
PI
Y
NO
E
C
AC
Ra
Ag

13

(4)
(5)
(6)
(7)
(8)
(9)
(.)
(+)
(-)
()
(/)
())
(()
(,)
(=)
(|)

(E)
(Z)
(R)

Lg
Di

POP

point dcimal

virgule pour sparer, les arguments des fonctions


Oprateur puissance.
=
=0
=1
Exposant des nombres en format exponentiel.
Raz de laccumulateur de la calculette.
Raz de la calculette.
= Rayon dun lment dsign ( <ARC> ou <CERCLE>).
= Angle dun lment dsign (<ARC>)
ou angle entre deux <DROITES>.
= Longueur dun lment dsign (<ARC> ou <SEGMENT>
ou <SPLINE>).
= distance entre un <POINT> et un <POINT>, une <DROITE>,
un <CERCLE>, ou un <ARC> ;
ou distance entre deux <DROITE> paralllles,
ou distance entre deux <CERCLE>.
permet lachage du menu calculette des fonctions FORTRAN
SIN, COS, TAN, ASIN, ACOS, ATAN, ATAN2, EXP, LOG,
LOG10, INT, NINT, MOD.

Exemples pour entrer les nombres :


1.234567E9 il sut de taper au clavier 1.234567E9(CR)
0.5 il sut de taper 1/2=
3.14159... il sut de cliquer dans la case PI(CR)
2rayon du cercle il sut de taper 2*, de cliquer dans la case Ra, puis de dsigner le <cercle> (en cliquant
de la case cercle du menu de dsignation puis en cliquant prs du cercle), pour nir il sut de taper (CR)
au clavier

3.3

Le menu gnralits

Ce menu (c.f. gure 3.5) permet dexcuter des actions gnrales : changer dapplication CONSTRUCTION,
PREP_MESH, EDIT_MESH, sauver, restaurer, copier lcran, ou excuter une commande systme. Pour lancer
une action, il sut de cliquer dans litem correspondant.
Les ACTIONS du menu gnral sont :

3.3.1

Sortir du programme

FINIR
Termine lexcution du programme.
RT n0123456789

14

Eric Saltel, Frdric Hecht

FINIR
INTERROGER
DETRUIRE
SAUVER
RESTAURER
RAZ_BD
HARD_COPY
SOFT_COPY
SHELL
TRACE
INTERPRETE
CONSTRUCTI
PREP_MESH
EDIT_MESH
Fig. 3.5 Le menu gnral

3.3.2

Interroger la base de donnes

INTERROGER
Permet dinterroger les lments que lon dsignera. Leurs caractristiques seront aches dans la zone
dentres sorties ou "scratch".

3.3.3

Dtruire des lment de la base de donnes

DESTRUCTION
Permet de dtruire (uniquement dans lapplication CONSTRUCTION) les lments de la BD que lon
dsignera. Attention : si lon dtruit un POINT, on vrie si ce POINT est utilis pour dnir une SPLINE, si
oui, on le retire aussi de la SPLINE.

3.3.4

Sauver la base de donnes

SAUVER
Permet de sauver les B.D. dans un chier. Le nom du chier est compos dun prxe et dun suxe.
Le prxe est demand par le systme dans la zone scratch (gure ??), le suxe peut tre, suivant les cas :
.emc2_bd, .mesh, .nopo, .am, .am_fmt, .amdba et dpend de lapplication courante.
Dans lapplication CONSTRUCTION, on sauve les lments de construction avec leurs numros de rfrences (points, droites, cercles, arcs, segments, splines) ainsi que ltat du systme ; le suxe est .emc2_bd.
Dans lapplication PREP_MESH, on sauve la mme chose que dans CONSTRUCTION plus la dnition
des domaines ; le suxe est .emc2_bd.
Dans lapplication EDIT_MESH, on sauve dirents types de maillage. Le type est entr dans la zone
scratch avant dentrer le prxe du chier. Les types connus implicitement sont :
mesh (type par dfaut) on sauve la BD_MESH et ses refrences la BD dnissant la gometrie (dnissant les contours des sous domaines). Le suxe est .mesh.
nopo on extrait de la BD_MESH la structure de donnes NOPO (Modulef) que lon crit dans un chier
de suxe .nopo. (on perd les courbes dnissant les contours).
am on extrait de la BD_MESH une structure simplie de type AM (c.f. appendice A.4.1) que lon crit
dans un chier non format de suxe .am (on perd les courbes dnissant les contours ainsi que les
rfrences des artes).
am_fmt idem am, mais le stockage est fait dans un chier format de suxe est .am_fmt (c.f. appendice
A.4.2).
INRIA

Emc2

15

amdba on extrait de la BD_MESH une structure de type AMDBA (c.f. appendice A.4.3) que lon crit
dans un chier format de suxe .amdba (on perd les courbes dnissant les contours et certaines
rfrences).
Remarque : il est possible de sauver les maillage sous dautres formes en modiant la subroutine ecrmsh.

3.3.5

Restaurer la base de donnes

RESTAURER
Permet de restaurer la B.D. dun chier. Le nom du chier est compos dun prxe et dun suxe. Le
prxe est demand par le systme dans la zone scratch (gure ??), le suxe peut tre : .emc2_bd, .mesh,
.nopo, .am, .am_fmt, .amdba suivant les cas. Linformation restaure dpend de lapplication courante.
Dans lapplication CONSTRUCTION, on restaure les lments de construction avec leurs numros de
rfrences (points, droites, cercles, arcs, segments) ainsi que ltat du systme ; le suxe est .emc2_bd.
Dans lapplication PREP_MESH, on restaure la mme chose que dans CONSTRUCTION plus la dnition des domaines ; le suxe est .emc2_bd.
Dans lapplication EDIT_MESH, on restaure dirents types de maillage. Le type qui est entr dans la
zone scratch avant dentrer le prxe du chier. Les types connus implicitement sont :
mesh restaure un maillage et ses contours (les dnitions gomtiques de ceux-ci sont conserves) ; le
suxe est .mesh.
nopo on construit la BD_MESH partir dune structure de type NOPO (Modulef) (on reconstruit les
courbes dnissant les contours avec des segments, on perd ldition des ssures) ; le suxe est .nopo.
am on construit la BD_MESH partir dune structure de type AM (c.f. appendice A.4.1). (on on reconstruit les courbes dnissant les contours avec des segments ; on a perdu ldition des ssures et
les rfrences dartes) ; le suxe est .am.
am_fmt idem am, mais le chier est format ; le suxe est .am_fmt (c.f. appendice A.4.2).
amdba on construit la BD_MESH partir dune structure de type AMDBA (c.f. appendice A.4.3). (on
perd les courbes dnissant les contours et les rfrences dartes) (on on reconstruit les courbes
dnissant les contours avec des segments et on a perdu ldition des ssures) ; le suxe est .amdba .
Remarque : il est possible de restaurer des maillages crits sous une autre forme en modiant la subroutine
addmsh.
Attention : le maillage lu nest pas recoll avec les maillages prexistants.

3.3.6

Mise zro

RAZ_BD
Permet de dtruire tout ce quil y a en mmoire dans le 2 bases de donnes.

3.3.7

Imprimer lcran

HARD_COPY
Hard copy de ce quil y a sur lcran (avec la rsolution de lcran, imprime la bitmap de lcran). Dpend
du systme et de lenvironnement (c.f. subroutine hardcp).

3.3.8

Redessiner la fentre sur un autre priphrique graphique

SOFT_COPY
On rache ce quil y a sur lcran sur un autre priphrique de Fortran 3d. Dpend du systme et de
lenvironnement (c.f. subroutine softcp)
RT n0123456789

16

Eric Saltel, Frdric Hecht

3.3.9

Excuter une commande systme

SHELL
Permet dexcuter une commande systme (shell), le systme demande dentrer la commande ou les commandes dans une chane de caractres. Dpend du systme (c.f. subroutine exec).

3.3.10

Sauvegarder une session

TRACE
Permet de sauver dans un chier de nom compos dun prxe donn par utilisateur et dun suxe
.trace_emc2 toutes les actions de lutilisateur. Si le prxe est prcd par un +, on fait un append au chier
de trace (on crit partir de la n). Par dfaut un chier de trace est ouvert, il a pour prxe tracexxxx, o
xxxx est un numro de version pour ne pas craser la trace prcdent).

3.3.11

Rexcuter une session

INTERPRETE
Interprte un chier de trace, de prxe donn par utilisateur.

3.3.12

Commuter dans lapplication CONSTRUCTION

CONSTRUCTIO
Demande de commutation dans lapplication de CONSTRUCTION. Aprs la commutation, on se trouve en
dsignation de P_TABL.

3.3.13

Commuter dans lapplication PREP_MESH

PREP_MESH
Demande de commutation dans lapplication PREPARATION DES DONNEES POUR MAILLAGE. Aprs
la commutation, on se trouve en dsignation de P_TABL.

3.3.14

Commuter dans lapplication EDIT_MESH

EDIT_MESH
Demande
de
commutation
dans
lapplication
EDITION
DE
MAILLAGE
(EDIT_MESH). Au moment de la commutation aprs avoir repondu aux 4 questions, on "triangule" tous
les domaines dnis (si aucun domaine nest dni on maille tout). La triangulation dpend de 4 paramtres
(par dfaut on tape un (CR)au clavier par paramtre) :
1. un paramtre debug (0 par defaut) qui dni deux paramtres :
impression =debug mod 10 : 0 => pas dimpression, 9 => beaucoup dimpression
debugging graphique = debug / 10 : 0 => pas de debugging, 9 => tout les phases de lalgorithmes de
maillage sont aches (trs long).
2. un paramtre puis dpaisseur de ranements (plus puis est petit plus les znes de ranement se propageront loin, puis = .25 par dfaut (les valeurs raisonables sont comprises entre .1 et 10.) ;
3. un paramtre coef de densit de triangles (le nombre de triangles gnrs est en O(coef 2 ), coef = .75 par
dfaut).
4. de plus on demande si on active ou non une rgularisation (par dfaut elle est faite) ;
Aprs la commutation, on se trouve en dsignation de PT_TABL.
INRIA

Emc2

3.4

17

Le menu gestion de lcran

Il est reprsent par la gure 3.6 et il est prsent pour toutes les applications. Il sert grer lachage des
2 bases de donnes. Le contexte dachage consiste en la mmorisation du masque dachage (ce masque est
un rectangle dans lespace sujet et est calcul de manire conserver lgalit des chelles en X et Y). La pile
des contextes dachage est en fait une pile circulaire 8 niveaux. Ces contextes sont initialiss par : chelle 1,
masque centr lorigine.
ZOOM +
ZOOM TRANSLATION
ECHELLE
RAFRAICHIR
C_MASQUE
PRECEDENTE
SUIVANTE
VOIR_TOUT
Fig. 3.6 Le menu gestion de lcran
Les ACTIONS du menu gestion de lcran sont :

3.4.1

Agrandir le dessin

ZOOM + <COORD> <COORD>


Le rectangle dni par deux <COORD> est ach plein cran et on empile ce nouveau contexte dans la pile
dachage. En gnral on clique 2 fois pour dnir deux coins opposs du rectangle.

3.4.2

Rduir le dessin

ZOOM - <COORD> <COORD>


On ache ce qui il y a actuellement plein cran dans le rectangle dni par deux <COORD> et on empile ce
nouveau contexte dans la pile dachage.

3.4.3

Translater la fentre graphique

TRANSLATION <COORD> <COORD>


Translate la fentre de visualisation dun vecteur allant du premier <COORD> au deuxime <COORD> et on
empile ce nouveau contexte dans la pile dachage.

3.4.4

Dfinir une chelle

ECHELLE
Change lchelle de visualisation et on empile ce nouveau contexte dans la pile dachage (le centre de la
fentre est inchang).

3.4.5

Redessiner la fentre graphique

RAFRAICHIR
Rache le dessin courant. Cette action est trs utile car bien souvent il reste des scories, qui sont eaces
par cette action.
RT n0123456789

18

Eric Saltel, Frdric Hecht

3.4.6

Centrer le dessin

C_MASQUE <COORD>
Centre la fentre sur le point dsign (<COORD>) et on empile ce nouveau contexte dans la pile dachage.

3.4.7

Redessiner la vue prcdente

PRECEDENTE
Redescend de un dans la pile des contextes dachage et ache (on retrouve le contexte dachage prcdent).
Remarque :ce contexte dachage existe toujours car les huit contextes sont initialiss par dfaut.

3.4.8

Redessiner la vue Suivante

SUIVANTE
Remonte de un dans la pile des contextes dachage et ache (on retrouve le contexte dachage suivant,
voir remarque prcdente).

3.4.9

Dessiner tout le dessin

VOIR_TOUT
Calcule le masque de faon voir toute la base de donnes et ache celle-ci plein cran.

INRIA

Emc2

19

Chapitre 4

Lapplication construction
4.1

Prsentation

Cette application est dirige par le menu de lapplication (gure 4.1) en haut de lcran et le menu de
dsignation (gure 3.1) en bas de lcran. Elle permet de construire des objets 2D dnis partir des points,
segments, arcs et splines ; les cerles et les droites ne servant que dartices de construction. Elle permet de
construire et manipuler ces objets :
en utilisant la gomtrie lmentaire pour dnir les points, droites, cercles, segments, arcs (exemple : en
utilisant la proprit de tangence, on peut dnir un cercle tangent 3 droites, ou bien une droite tangente
2 cercles).
en utilisant des splines (une suite de points) pour dnir des courbes fermes ou non ;
en coupant les objets entre eux (except les droites et les cercles qui sont seulement des objets de construction). On peut par exemple, couper par une droite mais celle-ci ne sera pas aecte ;
en arrondissant des angles ;
en dupliquant n fois ces objets laide des transformations anes classique : symtrie, rotation, homothtie ;
en faisant des "contourages" de gures ;
en inversant des arcs ou des segments ;
etc
POINT

CERCLE

ARC

ARRONDI

CENTRE

DISTANCE

RETOURNER

DROITE

SEGMENT

SPLINE

CONTOURAGE

RAYON

ANGLE

INVERSER

COMPLE_ARC

COUPER

AJOUTER

RAPPORT

ROTATION

SYMETRIE

FONDRE

CHANGER

IDEM

NOMBRE

TRANSLAT

HOMOTHETIE

Fig. 4.1 Le menu de lapplication CONSTRUCTION

4.2

Utilisation

Nous rappelons que grce aux menus de dsignation on peut dsigner des points, droites, cercles, arcs, segments, splines, coordonnes (points immdiats, extrmits, etc...). Donc nous noterons par <POINT>, <DROITE>,
<CERCLE>, <SEGMENT>, <ARC>, <SPLINE>, <COORD> le fait de dsigner un de ces lments ou une partie de ceux-ci,
RT n0123456789

20

Eric Saltel, Frdric Hecht

de plus on cre une <VALEUR> en utilisant la calculette ou ses raccourcis (voir les sections 3.1,3.2 pour plus de
dtails).

4.2.1

Mta syntaxe de description des actions

Nous utiliserons, dans la mta syntaxe de description du langage de construction, les symboles suivants :
Nous appellerons <xxx> une suite dactions qui seront dnies par <xxx> = ... . ;
A B pour dnir la concatnation de A et B (et) "on attend A puis B".
A|B pour dnir une alternative (ou) "on attend A ou B" (action moins prioritaire que la concatnation).
* pour la rptition de lexpression qui suit (0 ou plusieurs fois) .
" pour rien (ce qui permet de faire quelque chose dans tous les cas)
les parenthses ( ) pour changer les priorits
Exemple : Lexpression : <xxx> = ( A | ") *(B|C) E ; nous permet dentrer des suites de lettres (chane)
commencant ou non par A form de B ou de C en suite et ce terminant par E.
Exemple de chanes admissibles :
ABBCCCCE
ABBBBBBBE
BBBBBBBBBE

E
BE
CE

AE
ABE
ACE

CBCBCBCBCBCBCBE
BCBCBCBCBCBCBCE
CCCCCCCCCCCCCCE

Nous appellerons
<point_coor> la dsignation de <POINT> ou <COORD> ;
<contrainte>
la
dsignation
de
<POINT>,
<SEGMENT> ou <ARC> ;
<elements>
la
dsignation
de
<POINT>,
<SEGMENT>, <ARC> ou <SPLINE>.
etc...
ou encore, dans la mta syntaxe :

<COORD>,

<DROITE>,

<CERCLE>,

<COORD>,

<DROITE>,

<CERCLE>,

<point_coor> = <POINT>
| <COORD>;
<contrainte> = <point_coor> | <DROIT> | <CERCLE> | <ARC>
| <SEGMENT>;
<element>
= <contrainte> | <SPLINE>;
Dans la dnition de <contrainte>, lARC est assimil au cercle qui le supporte, de mme que SEGMENT est
assimil la droite qui le supporte.
Remarque : En base de donnes les lments sont dcrits par :
POINT
DROITE
CERCLE
SEGMENT
ARC
SPLINE

(a,b) avec : x=a ; y=b


(a,b,c) tels que ax+by+c=0
centre(a,b) et rayon r
(P1,P2) avec P1=(x1,y1) et P2=(x2,y2)
centre en P1 passant par P2 et dangle ,
avec P1=(x1,y1) et P2=(x2,y2)
(nombre de points, tte de la liste des points)

Au niveau de lapplication CONSTRUCTION tous les menus autres que le menu de CONSTRUCTION
sont ltrs par les applications DESIGNATION, CALCULETTE, GENERALITE, GESTION DE LECRAN
GRAPHIQUE. Donc le fait de cliquer dans ces menus na aucune action directe sur lapplication (exept
le changement de type de dsignation ou lentre dune valeur). Les cases du menu de lapplication et les
dsignations gouvernent lapplication CONSTRUCTION. Par la mme nous noterons XXXX : le fait de cliquer
dans la case XXXX du menu de lapplication courante (en haut). Il ny aura aucune confusion avec des cases
de mme nom dun autre menu.
exemple :
le fait de dsigner un cercle est not <CERCLE>
le fait de cliquer dans litem CERCLE du menu CONSTRUCTION est not CERCLE
il ne faut pas confondre ces deux "cercles", de mme si lon clique dans litem CENTRE du menu dsignation
on dsignera des centres darcs ou de cercles ce qui donnera des <COOR> par contre si lon clique dans litem
CENTRE du menu CONSTRUCTION (en haut) on obtient CENTRE.
INRIA

Emc2

4.2.2

21

Modification de ltat du systme

L tat du systme est un ensemble de variables qui sont utilises par lapplication, ces variables globales
lapplication sont :
%DISTANCE permet dnir une distance signe qui est utile pour des constructions de point, droite,
segment, etc...
%RAYON permet de dnir le rayon dun arc ou cercle, etc...
%ANGLE permet de dnir langle darcs ou de 2 droites, etc...
%RAPPORT permet de dnir le rapport dune homothtie, etc...
%NOMBRE permet de dnir le nombre de duplications lors des transformations.
Ces variables sont modiables presque tout moment.
Nous appellerons <modif etat> une modication de ltat du systme , cest dire une modication de la
valeur aecte lune des variables
<modif etat>

= *( <distance> | <rayon> | <angle> | <rapport> | <nombre> )

Modication de %DISTANCE : <distance>= DISTANCE (<VALEUR> | IDEM)


Modication de %RAYON : <rayon> = RAYON (<VALEUR> | IDEM)
Modication de %ANGLE : <angle> = ANGLE (<VALEUR> | IDEM)
Modication de %RAPPORT : <rapport> = RAPPORT (<VALEUR> | IDEM)
Modication de %NOMBRE : <nombre> = NOMBRE (<VALEUR> | IDEM)
IDEM Permet de garder la valeur prcdente de la variable dtat.

4.2.3

Construction de points

POINT
*( <COORD>
| <POINT>

( <CERCLE> | <DROITE>
| <ARC>
| <SEGMENT> | <SPLINE> )
| <DROITE>
<element>
| <CERCLE>
<element>
| <SPLINE>
<element>
);

Premire alternative, <COORD> : Cration du point de coordonnes immdiates par action des menus de
dsignation : P_TABL, PT_XY, FI_XY, INTERS, EXTREM, MILIEU, CENTRE.
Autres alternatives : On construit un point aprs avoir dsign deux lments.
Si lun des lment est un <point> soit P le point projection de ce <point> sur lautre lment
si cet autre lment est une <droite> alors on cre un point une distance %DISTANCE de P sur
la <droite> dans la direction de la <droite>
sinon on cre le point P.
Si aucun des deux lments nest un <point>, on cre le point dintersection de ces deux lments.
Comme il y a en gnral deux intersections entre une <droite> et un <cercle> ou entre deux <cercles>,
le choix du bon point dintersection est fait en choisissant le plus proche des points ayant servis dsigner
les lments.
Exemple de construction de points
On commence par cliquer dans la case POINT du menu construction pour se mettre en mode de construction
de points puis
en cliquant dans la case PT_TABL du menu dsignation, et puis pour chaque clique dans la fentre graphique
on construit un point
en cliquant dans la case PT_XY du menu dsignation ont construit un point pour chaque couple de nombres
entrs avec la calculette (taps au clavier et suivis de = ou (CR))
en cliquant dans la case FI_XY et en entrant un nom de chier, on construit un point par couple de nombres
qu il y a dans le chier format.
on construit des points intersection de deux lments (droite, segment, cercle, arc, spline) en dsignant un
couple de ces lments.
RT n0123456789

22

Eric Saltel, Frdric Hecht

4.2.4

DROITE

Construction de droites

*(

<contrainte> <contrainte>
| IDEM *<SEGMENT>
);

Si on a comme contraintes (indpendamment de tout ordre) :

<CercleOuPoint> := <cercle> | <point> ;


<CercleOuPoint> <CercleOuPoint> : la droite cre est tangente aux deux <cercle> (aux points les plus
proches des points ayant servi dsigner les deux <cercle>)
<droite> <droite> :
si elles sintersectent : la droite cre est bissectrice des autres <droite>.
si elles sont confondues : on cre une droite parallle une distance %DISTANCE du cot du point de
dsignation.
sinon : on cre la droite parallle aux deux <droite>, gale distance de celles-ci.
<droite> <cercle> : la droite cre est parallle la <droite> et est tangente au <cercle> en un point
le plus proche de celui ayant servi dsigner le <cercle>.
<droite> <Point> : la droite cre fait un angle %ANGLE avec la <droite> et passe par le <point>.

Dans lautre alternative (IDEM), on construit la droite sappuyant sur les <segment>.

INRIA

Emc2

23

4.2.5

Construction de cercles

CERCLE
*( <rayon> *( CENTRE <point_coor> | <contrainte> <contrainte>)
| <contrainte> ( <rayon> <contrainte>
| <contrainte> ( <rayon> | <contrainte> ))
| CENTRE <point> *(<rayon> | <contrainte>)
| IDEM *<ARC>
);

Explication des dirents cas (indpendamment de lordre)


<rayon> CENTRE
<point> : cercle de centre le point <point> et de rayon
%RAYON.
<rayon> <contrainte> <contrainte> : cercle de rayon donn par %RAYON et ayant deux contrainte de
tangence par rapport aux deux lments dsigns.
<contrainte> <contrainte> <contrainte> : cercle ayant trois contraintes de tangence par rapport aux
trois lments dsigns.
CENTRE <point> <contrainte> : cercle de centre donn tangent la contrainte dsigne.
IDEM <arc> : cercle sappuyant sur les <arc> (mme centre, mme rayon que les <arc>).

4.2.6

Construction darcs

ARC *(

CENTRE <point> *(

<angle> <contrainte>
| <rayon>
| <contrainte> (<angle> | <contrainte>))
| <rayon> *( CENTRE <point>
| <contrainte> <contrainte> )
| <contrainte> (
<rayon> <contrainte>
| <contrainte> (<rayon> | <contrainte>))
| IDEM *<CERCLE>
);

Explication des dirents cas (indpendamment de lordre). Pour la construction des ARCS, on cre dabord
le cercle ayant les mmes <contrainte> et on prend un arc sur ce cercle.
CENTRE <point> <angle> <contrainte> : arc de centre donn commenant au point de tangence avec la
<contrainte> et faisant un <angle> partir de ce point.
CENTRE <point> <rayon> : arc de centre donn de rayon donn %RAYON dangle 2
CENTRE <point> <contrainte> <contrainte> : arc de centre donn commenant au point de tangence avec la premire <contrainte> et nissant laplomb du point de tangence davec la deuxime
<contrainte> (en tournant dans le sens positif).
<rayon> <contrainte> <contrainte> : arc de rayon donn %RAYON commenant au point de tangence
avec la premire <contrainte> et nissant au point de tangence davec la deuxime <contrainte>.
<contrainte>
<contrainte>
<contrainte>
:
arc
tangent
aux
trois
<contrainte> reliant les trois points de tangence aux <contrainte> dans lordre des <contrainte>.
IDEM <cercle> : cre un arc dangle 2 sur chaque <cercle> dsign.

4.2.7

Construction de segments

SEGMENT *( <contrainte> <contrainte> );

Explication des dirents cas (indpendamment de lordre).


Pour la construction des SEGMENTS, on commence par crer la DROITE ayant les mmes contraintes puis
on prend un segment de cette droite reliant les deux points de tangence aux deux containtes si ils existent, sinon
on ce sert de la variable dtat
Par exemple :
<cercle> <cercle> : Le segment est tangent aux deux <cercle> (aux points les plus proches des points
ayant servis dsigner les deux <cercle>).
<droite> <droite> :
si elles sintersectent : Le segment est sur la bissectrice des deux <droite> et est longueur %DISTANCE.
RT n0123456789

24

Eric Saltel, Frdric Hecht

si les deux <droite> sont confondues : on cre un segment parallle une distance %DISTANCE du
cot du point de dsignation (Il est de longueur %DISTANCE ou de mme longueur que <droite> selon
que <droite> est une DROITE ou un SEGMENT.
sinon : Le segment est entre les deux <droite> parallles, gale distance (il est de longueur %DISTANCE).
<droite> <cercle> : Le segment est parallle la <droite> dsigne et est tangent au <cercle> en
un point le plus proche de celui ayant servi dsigner le <cercle> (il est de longueur %DISTANCE et
commence au point de tangence avec le <cercle>).

4.2.8

Construction de splines

SPLINE <point> *<point>;

Construit la spline (cubique par morceaux) passant par les <points>. On peut faire une spline ferme en
dnissant le dernier point identique au premier (en le dsignant).

4.2.9

Transformations gomtriques

ROTATION, TRANSLAT, HOMOTHETIE, SYMETRIE dnissent des transformations que lon va appliquer sur les lments dsigns.
ROTATION
<modif etat>
TRANSLAT
<point_coor>
HOMOTHETIE <modif etat>
SYMETRIE
(<point_coor>

( CENTRE | " ) <point_coor> <modif etat>


<point_coor>
*<element>
CENTRE (<point_coor> | " ) <modif etat>
| <DROITE>| <SEGMENT>)
*<element>

*<element>
*<element>

ROTATION on
applique
la
rotation
de
centre
<point>
dangle
%ANGLE
sur
<elements>.
Si
%NOMBRE

1,
on
dplace
<elements>
sinon
on
cre
%NOMBRE-1 nouvelles occurences de <elements>. (Donc il y a %NOMBRE fois <elements> sur lcran
aprs la transformation).
TRANSLAT on applique la translation dun vecteur allant du premier <point> au deuxime <point> sur
<elements>.
Si
%NOMBRE

1,
on
dplace
<elements>, sinon on cre %NOMBRE-1 nouvelles occurences de <elements>. (Donc il y a %NOMBRE
fois <elements> sur lcran aprs la transformation).
HOMOTHETIE on applique lhomothtie de centre <point> de rapport %RAPPORT sur <elements>. Si
%NOMBRE 1, on dplace <elements> sinon on cre %NOMBRE-1 nouvelles occurences de <elements>.
(Donc le nombre doccurences de <elements> sur lcran aprs la transformation est %NOMBRE).
SYMETRIE on applique la symtrie par rapport <point> ou <droite> sur tous les <elements> que lon
dsignera. Attention si %NOMBRE est plus grand que 2, il y aura des superpositions dlments.

4.2.10

Arrondir un angle

Cette commande permet de faire des arrondis entre SEGMENTS et ARCS.


ARRONDI

*( <contrainte> <contrainte> )

On cre un arrondi de rayon %RAYON entre les deux <contrainte>, larrondi tourne toujours dans le
sens positif. Larrondi est un arc dont le cercle qui le supporte est tangent aux deux <contrainte>, larc va du
premier point de tangence au deuxime point de tangence en tournant dans le sens positif. Si une <contrainte>
est un ARC ou un SEGMENT, on modie cette <contrainte> de faon ce que cet lment se termine au
point de tangence avec larrondi.

4.2.11

Dfinir un Contour

CONTOURAGE

(<DROITE> | <CERCLE>) (<DROITE> | <CERCLE>)


(<DROITE> | <CERCLE>) (COMPLE_ARC | ")
*( (<DROITE> | <CERCLE>) (COMPLE_ARC | ")
)
INRIA

Emc2

25

Permet de dnir un contour form de SEGMENTS et dARCS sappuyant sur un ensemble de droites et
de cercles. Le programme fonctionne en calculant lintersection de la contrainte i avec la contrainte i+1 ce qui
donne le point I puis la contrainte i+1 avec la i+2 ce qui donne le point I+1, I et I+1 forment un nouveau
morceau du contour et ainsi de suite.
Par exemple avec des droites (gure 4.2) :
Supposons que nous avons les 5 droites D1 D2 D3 D4 D5 sintersectant en p1 p2 p3 p4 p5 et que nous voulons
dnir le contour form des segments (p1 , p2 ), (p2 , p3 ), (p3 , p4 ), (p4 , p5 ), (p5 , p1 ). On dsigne par +i le ime point
de dsignation. On dsigne D2 en +2 puis D1 en +1 ce qui dni p1
D1

D2

D3

D4

+2
p1

p3

+4
+2

+1
p2

+3
p5

+5

p4

D5

Fig. 4.2 Exemple de contourage


Puis on dsigne D4 en +4 ce qui dnit p2 (ici le programme trace (p1 , p2 )
Puis on dsigne D3 en +3 ce qui dnit p3 (ici le programme trace (p2 , p3 )
Puis on dsigne D5 en +5 ce qui dnit p4 (ici le programme trace (p3 , p4 )
Puis on dsigne D2 en +2 ce qui dnit p5 (ici le programme trace (p4 , p5 )
Puis on dsigne D1 en +1 ce qui dnit p1 (ici le programme trace (p5 , p1 )
Dans le cas de cercles il faut faire attention car les points de dsignation servent lever les ambiguits
dintersections multiples (le point de dsignation de la contrainte i sert lever lambiguit de dsignation entre
les contraintes i et i+1).

4.2.12

Retourner des segments ou arcs

RETOURNE *( <ARC> | <SEGMENT> )

Retourne un SEGMENT ou un ARC


ARC :
SEGMENT : (P 1, P 2) (P 1, 2 P 1 P 2) (Symtrie / P1)

4.2.13

Complmenter des arcs

COMPLE_ARC *ARC

Change un ARC en son complment si ( < 0) alors = + 2 sinon = 2

4.2.14

Inverser des lments

INVERSER *(<ARC> | <SEGMENT> | <SPLINE>)

Inverse un ARC, SEGMENT ou une SPLINE


ARC : (C, P, ) (C, Rot(P, )/C, )
SEGMENT : (P1 , P2 ) (P2 , P1 )
SPLINE : (P1 , P2 , ..., Pn ) (Pn , Pn1 , ..., P2 , P1 )
RT n0123456789

26

Eric Saltel, Frdric Hecht

4.2.15
COUPER

Couper 2 2 des lments


* ( <point_coor> *(<ARC> | <SEGMENT> | <SPLINE>)
| (<DROITE> | <CERCLE> | <ARC> | <SEGMENT> | <SPLINE>)
(<DROITE> | <CERCLE> | <ARC> | <SEGMENT> | <SPLINE>)
)

Si on dsigne <point> en premier on coupe en deux un ARC ou un SEGMENT ou une SPLINE par la
projection de <point> sur llment.
Pour la SPLINE on coupe au point de dnition le plus proche du point <point>.
Sinon on coupe 2 deux les lments dsigns si ceux-ci sont scables (les lments non scables sont les DROITE
et les CERCLE.

4.2.16

Changer une partie dun lment

CHANGER *(

ANGLE <ARC> (<VALEUR> | IDEM)


| RAYON <CERCLE> (<VALEUR> | IDEM)
| <POINT> <point_coor>)

Permet donc de changer :


langle dun ARC dsign
le rayon dun CERCLE
la position dun <point> (on change le premier en le second, ce premier <point> peut tre le centre dun
arc ou dun cercle)
lextremit dun SEGMENT ou dun ARC.
un point de dnition dune SPLINE, donc la forme dune SPLINE.

4.2.17

Ajouter des lments

AJOUTER *(

POINT
*( <ARC> | <SEGMENT> | <SPLINE> | <POINT> <POINT> )
| SEGMENT *( <SEGMENT> <SEGMENT> )
| SPLINE *( <SPLINE> (
<SPLINE> | *<POINT> ) )
| ARC
*( <ARC> <ARC> )

Si POINT : on rajoute %NOMBRE points avec une raison %RAPPORT sur ARC ou SEGMENT ou
SPLINE ou entre les 2 POINTS.
Si SEGMENT : on rajoute %NOMBRE segments par interpolation linaire de raison %RAPPORT entre
les 2 SEGMENTS.
Si SPLINE :
suivi de la dsignation de 2 SPLINES alors : on rajoute %NOMBRE splines par interpolation linaire
de raison %RAPPORT entre les 2 SPLINES.
suivi de la dsignation dune spline et dun point on ajoute la SPLINE dsigne de nouveaux POINTS
de dnition donns par <point>.
Si ARC :on rajoute %NOMBRE arcs dnis par 3 points (2 extremits, et le milieu) qui sont les interpolations linaires de raison %RAPPORT entre les extrmits et les milieux des 2 arcs dsigns

4.2.18

Fondre deux lments en un

FONDRE *( <segment> <segment> | <arc> <arc> | <spline> <spline> )

Permet de fondre 2 SEGMENTS ou 2 ARCS ou 2 SPLINES ayant une extrmit commune en un seul
lment de mme type. Llment rsultant est dans le sens du premier dsign. Pour que cette instruction
puisse seectuer, il faut :
dans le cas de 2 segments, que les 2 segments soient colinaires.
dans le cas de 2 arcs, que les 2 arcs aient mme centre et mme rayon.

INRIA

Emc2

27

Chapitre 5

Lapplication PREP_MESH
5.1

Prsentation

Cette application est dirige par le menu de lapplication (gure 5.1) en haut de lcran et le menu de
dsignation (gure 3.2) en bas de lcran. Elle permet de dnir :
la discrtisation sur les lignes des contours ;
les sous domaines mailler ;
les rfrences des lignes et de leurs extrmits en vue de la prise en compte des conditions aux limites (c.f.
la mthode de lments nis) ;
le type de mailleur structur (carr dform) ou non structur (Vorono) de chaque sous domaine.
De plus ce niveau nous pouvons interfacer le mailleur APNOPO de modulef [1] en gnrant un chier de
donnes pour le prprocesseur APNOXX (voir ??).
LIGNE

COMPOSANTE

DEFISSURE

RAISON

REF_NOEUD

REF_DOMAIN

DOMAINE

TOUT

FISSURE

Nb_INTERVAL

REF_LIGNE

Lg_INTERVAL

DEF_DOMAIN

QUADRANGLE

REGULIER

RETIRER

VOIR

GENERER

INTERIEUR

TRIANGLE

COINS

VERIFIER

BANDE

Gen. Base

Fig. 5.1 Menu de lapplication PREP_MESH

5.2

Utilisation

A lentre dans cette application, le programme calcule automatiquement toutes les composantes connexes
intrieures et extrieures du dessin (exemple gure 5.2). Les composantes connexes intrieures tant dans le sens
positif, les extrieures dans le sens ngatif.
On obtient automatiquement les composantes connexes suivantes :
P5,P3,P4
P1,P3,P5
P1,P2,P3
P1,P5,P4,P3,P2

>0
>0
>0
<0

On appellera <element> un ARC ou un SEGMENT ou une SPLINE en tant que tel.


RT n0123456789

28

Eric Saltel, Frdric Hecht

P5

P4

P1
P3

P2

Fig. 5.2 Exemples de composantes


On appellera <composante> la composante dsigne par un de ses <element>.
On
appellera
<domaine>
le
domaine
dsign
par
un
de
ses
lments
(<composante> ou <element> intrieur).
On appellera <ligne> = LIGNE <element1> <element2> lensemble des lments allant du premier lment <element1> au deuxime lment <element2> dans le sens de la composante laquelle appartiennent
les deux lments.

5.2.1

Modification de ltat du systme

L tat du systme est un ensemble de variables qui sont utilises par lapplication, ces variables globales
lapplication sont :
%RAISON permet de dnir la raison de la discrtisation dune courbe (ligne, ou segment, ou arc, ou
spline)
%NBINTR permet de dnir le nombre dintervalles de la discrtisation dune courbe
%LGINTR permet de dnir la longueur des intervalles de la discrtisation dune courbe
%NUREF permet de dnir un numro de rfrence un point, courbe, sous domaine
et sont modiables presque tout moment.
Nous appellerons <modif etat> une modication de ltat du systme, cest dire une modication de la
valeur aecte lune des variables
<modif etat>

= *( <raison> | <nb interval> | <lg interval> | <numero de ref> )

Modication de %RAISON : <raison> = RAISON (<VALEUR> | IDEM)


Modication de %NBINTR : <nb interval> = NBINTR (<VALEUR> | IDEM)
Modication de %LGINTR : <lg interval> = LGINTR (<VALEUR> | IDEM)
Modication de %NUREF : <numero de ref> = NUREF (<VALEUR> | IDEM)
IDEM Permet de garder la valeur prcdente de la variable dtat.

5.2.2

Dfinition des points intermdiaires

Nb_INTERVAL * <VALEUR>
* (
LIGNE
| COMPOSANTE
| TOUT
|

*(( <VALEUR> | ")<element1> <element2>)


*(( <VALEUR> | ")<element3>)
( <VALEUR> | ")<element4>

Permet de gnrer sur


les lments dune <ligne> dnie par <element1> <element2>
les lments dune <composante> dsigne par <element3>
tous les lments de la B.D.
un lment seulement <element4>
INRIA

Emc2

29

des points intermdiaires de faon obtenir %NB_INTERVAL intervalles, la <VALEUR> est entre : %NB_INTERVAL
prend cette valeur, et celle-ci est ache dans la ligne en bas de lcran.
Lg_INTERVAL

*<VALEUR>
* (
LIGNE
| COMPOSANTE
| TOUT
|

*(( <VALEUR> | ")<element1> <element2>)


*(( <VALEUR> | ")<element3>)
( <VALEUR> | ")<element4>

Permet de gnrer sur


les lments dune <ligne> dnie par <element1> <element2>
les lments dune <composante> dsigne par <element3>
tous les lments de la B.D.
un lment seulement <element4>
des points intermdiaires de faon ce que la distance entre deux points conscutifs soit proche de %Lg_INTERVAL,
si
<VALEUR>
est
entr,
%Lg_INTERVAL prend cette valeur, et celle-ci est ache dans la ligne en bas de lcran.

5.2.3

Dfinition de la raison

RAISON

* <VALEUR>
* (
LIGNE
*(( <VALEUR> | ")<element1> <element2>)
| COMPOSANTE *(( <VALEUR> | ")<element3>)
| TOUT
|
( <VALEUR> | ")<element4> )

Permet daecter %RAISON comme raison


aux lments dune <ligne> dnie par <element1> <element2>
aux lments dune <composante> dsigne par <element3>
tous les lments de la B.D.
un lment seulement <element4>
, si <VALEUR> est entr, %RAISON prend cette valeur, et celle-ci est ache dans la ligne en bas de lcran.

5.2.4

Dfinition du numro de rfrence dextrmits

REF_NOEUDS * <VALEUR>
* (
LIGNE
*(( <VALEUR>
| COMPOSANTE *(( <VALEUR>
| DOMAINE
*(( <VALEUR>
| TOUT
|
( <VALEUR>

| ")<element1> <element2>)
| ")<element3>)
| ")<element4>)
| ")<element5>

Permet daecter %NUREF comme numro de rfrence


aux extrmits des lments dune <ligne> dnie par <element1> <element2>
aux extrmits des lments dune <composante> dsigne par <element3>
aux extrmits des lments dun <domaine> dsign par <element4>
toutes les extrmits des lments de la B.D.
aux extrmits dun lment seulement <element5>
si <VALEUR> est entr, %NUREF prend cette valeur, et celle-ci est ache dans la ligne en bas de lcran.
Si les lments dsigns sont des ssures <VALEUR> sera aect lextrmit et du ct o est cliqu llment,
la LIGNE ou la COMPOSANTE et, par continuit sur les extrmits des lments adjacents aux extrmits.
En eet un lment ssure possde sa gauche ou/et sa droite un numro refrences de ligne et 2 numros de
refrence aux extrmits. Ces numros peuvent tre identiques ou dirents, sils sont dirents llment est
ncessairement une ssure.
RT n0123456789

30

Eric Saltel, Frdric Hecht

5.2.5

Dfinition du numro de rfrence de lignes

REF_LIGNE * <VALEUR>
* (
LIGNE
*(( <VALEUR>
| COMPOSANTE *(( <VALEUR>
| DOMAINE
*(( <VALEUR>
| TOUT
|
( <VALEUR>

| ")<element1> <element2>)
| ")<element3>)
| ")<element4>)
| ")<element5>)

Permet daecter %NUREF comme numro de rfrence


aux lments dune <ligne> dnie par <element1> <element2>
aux lments dune <composante> dsigne par <element3>
aux lments dun <domaine> dsign par <element4>
tous les lments de la B.D.
un lment seulement <element5>
Si <VALEUR> est entr,%NUREF prend cette valeur, et celle-ci est ache dans la ligne en bas de lcran.
Si les lments dsigns sont des ssures %NUREF sera aect du ct ou est cliqu llment, la LIGNE ou la
COMPOSANTE.

5.2.6

Fissurage des lignes

FISSURE

* (

LIGNE
*(<element1><element2>)
| COMPOSANTE * <element3>
| TOUT
|
<element4> )

Permet de ssurer :
les lments dune LIGNE dnie par <element1> <element2>
les lments dune COMPOSANTE dsigne par <element3>
tous les lments de la B.D.
un lment seulement <element4>.

5.2.7

Dfissurage des lignes

DEFISSURE * (

LIGNE
*(<element1><element2>)
| COMPOSANTE * <element3>
| TOUT
|
<element4> )

Permet de dssurer :
les lments dune LIGNE dnie par <element1> <element2>
les lments dune COMPOSANTE dsigne par <element3>
tous les lments de la B.D.
un lment seulement <element4>.
Cest lopration inverse du ssurage, on rduit le nombre de rfrences 1, en ne conservant que le numro de
gauche de la ssure.

5.2.8

Dfinition dun numro de rfrence de sous domaine

REF_DOMAIN *( <VALEUR>

| <domaine> | TOUT )

Permet daecter <VALEUR> comme numro de sous domaine au domaine <DOMAINE> dsign ou tous les
domaines dnis. Si <DOMAINE> nexiste pas, on le cre.

5.2.9

Dfinition dun domaine

DEF_DOMAI <element1>
* (<element2> | INTERIEUR *(<point> | <element3> | <ligne>) )
INRIA

Emc2

31

Si <element1> nappartient pas dj un domaine, alors on cre un domaine de numro %NUREF ayant
<element1> comme composante extrieure, et ses composantes intrieures sont dsignes par les lments
<element2> suivants ventuels, ou bien ses lments intrieurs sont dnis par INTERIEUR suivi de
<point> ou, les points intermdiaires de <element3> ou, les points intermdiaires des lments de la
<ligne>.
Si <element1> appartient dj un domaine alors la composante dsigne par <element2> est ajoute
aux composantes de ce domaine en position composante intrieure.

5.2.10

Ajout dlments intrieurs un domaine

INTERIEUR *( <element1> *( <point> | <element2> | <ligne>) )

Permet dajouter des lments intrieurs un domaine dsign par llment <element1>. Les lments
intrieurs pouvant lui tre rajouts sont : <point> ou les points intermdiaires de l<element2> ou les points
intermdiaires des lments de la <ligne>.

5.2.11

Vrification de la bonne dfinition dun domaine

VERIFIER

*( TOUT | <element>)

Permet de vrier si un domaine dsign par <element> est correctement dni.


Permet de vrier si tous les domaines sont correctement dnis (composantes intrieures de surfaces
ngatives, etc...)

5.2.12

Retrait dlments un domaine

RETIRER

*(

INTERIEUR *( <point> | <element1>)


| DOMAINE *<element2>
| TOUT
| <element3> )

Permet de retirer
un lment <element1> ou, un <point> intrieur un domaine dsign par cet <element1> ou ce <point>
un domaine dsign par <element2>
tous les domaines
la composante dsigne par <element3> dun domaine. On ne peut pas le faire si cette composante est
extrieure car la premire composante trou deviendrait extrieure... (c.f. structure interne des donnes).

5.2.13

Mode de maillage dun domaine

TRIANGLE

*<domaine>

Demande que le <domaine> soit dcoup en triangles en utilisant un algorithme de Vorono[7]


QUADRANGLE

*(<domaine>
( <ligne>
| <element>
| ( EXTREMITE<element1> EXTREMITE<element2>
EXTREMITE<element3> EXTREMITE<element4> )
| " ) )

Demande que le <domaine> soit homomorphe un carr (quadrangle dform) et on va faire un maillage
structur (de type dirences nies NxM) dans ce sous domaine quadrangulaire (voir gure 5.3). Celui-ci sera
dcoup en quadrangles sauf si on change le mode de dcoupage avec (5.2.14) Il y deux faons de dcrire le
domaine quadrangulaire (4 cts ou 4 sommets) :
le premier ct du domaine est dni par la ligne <ligne> ou, par llment <element>,
on numre les 4 sommets du domaine en donnant les 4 extrmits dlments qui les dnissent (on doit
numrer les 4 sommets en tournant dans le sens positif).
RT n0123456789

32

Eric Saltel, Frdric Hecht

Fig. 5.3 Exemple dun maillage quadrangulaire nb. points : sur les cotes droite et gauche 6=N, et sur les cotes
haut et bas 21=M
BANDE

*(<domain>
( <line>
| <element>
| ( EXTREMITE<element1> EXTREMITE<element2>
EXTREMITE<element3> EXTREMITE<element4> )
| " ) )

Demande que le <domaine> soit homomorphe un carr (quadrangle dform) avec un nombre de point N
sur lun des deux couples de cots opposs, comme sur la gure 5.4 ( le cas <quadrangle> requiert lgalit sur
les deux couples de cots opposs, le mailleur de quadrangle sera toujours utiliser si cette galit est vrier).
(N-2) lignes interne est construite joingnant les points correspondant sur les deux cot opposs. Les points
sont distribus sur ces lignes en utilisant un procedure dinterpolation. ces (N-2) lignes interne dnisent (N-1)
bandes qui sont maille en traingles en utilisant un option special du mailleur (sans creation de point interne)

Fig. 5.4 Exemple de maillage bande , nb. de points : sur les cots droite et gauche 6 = N, et en haut 31 et en
bas 11

Fig. 5.5 Exemple avec le mailleur classique de Delaunay-Voronomesh avec la mme discertisation de la
frontiere
Il y a 2 faon de decrire une bande, avec 4 cots our 4 sommets :
le premier cot est dni par un ligne <line> ou par un lment <element>
INRIA

Emc2

33

Fig. 5.6 Exemple de maillage bande (maillage Quadranglaire), nb. de points, a droite et gauche 6 , en bas et
en haut 21.
Nous enumerons les quatre sommets du domaine quadrangulaire en dsignant quatre extremits delements
en tournant dans le sens direct.
Remarque : Ce type de mailleur est tres util pour faire des maillages de couches limites.

5.2.14

Mode de dcoupage dun domaine quadrangulaire

REGULIER

*(<domaine> <VALEUR> )

Demande que dans le <domaine> la dcoupe des quadrangles en triangles (c.f. brochure APNOPO de MODULEF) se fasse de faon :
rgulire droite (valeur=2)
rgulire gauche (valeur=1)
non rgulire (valeur=0)
selon la valeur.
COINS

*(<domaine> <VALEUR> )

Demande que dans le <domaine> la dcoupe des quadrangles en triangles se fasse en traitant ou en ne traitant
pas les coins selon la valeur ( Y = 0 / NO 6= 0).

5.2.15

Visualisation de domaines ou de composantes

VOIR

DOMAINE *(<domaine> | <composante> | TOUT )

Permet de visualiser en traits paissis le <domaine> ou la <composante> dsign par un de ses lments.
Cette action est utile pour "debugger" un maillage (problme dintersection, erreur darrondi).

5.2.16

Gnration du fichier dentre de APNOXX

GENERER

Permet deectuer la gnration du chier pour APNOXX (Modulef).


Ce chier aura comme nom XXX donne par lutilisateur sux par .DATA.
Ce chier demande APNOXX de gnrer un NOPO de nom XXX.NOPO.
Le programme ne prend en compte que les domaines prcdemment dnis.

RT n0123456789

34

Eric Saltel, Frdric Hecht

Chapitre 6

Lapplication EDIT_MESH
6.1

Prsentation

Cette application est dirige par le menu de lapplication (gure 6.1) en haut de lcran et le menu de dsignation (gure 3.3) en bas de lcran. Elle permet dditer un maillage 2D form de triangles et quadrangles, obtenu
soit en commutant de lapplication CONSTRUCTION ou PREP_MESH lapplication EDIT_MESH,
soit en restaurant un maillage (c.f. les menus gnraux). Les possibilits sont brivement : ajouter, supprimer,
bouger des sommets du maillage ; retourner larte coupant un quadrilatre, quadranguler, trianguler, rgulariser
(mettre les sommets au barycentre de leurs voisins), rendre le maillage de Delaunay, modier les rfrences du
maillage (frontires et sous domaines), transformer gomtriquement un sous domaine, renumroter, ssurer.

REGULARISER

DELAUNAY

AJOUTER

BOUGER

SUPPRIMER

RETOURNER

RENUMEROTER

TOUT

ORIGINAUX

EVALUER

ROTATION

TRANSLATION

MODIF_REF

FISSURE

TRIANGULER

ANGLE MIN

MARK ELEMENT

SYMETRIE

HOMOTHETIE

QUADRANGULER

ANGLE MAX

FRONTIERE

Fig. 6.1 Le menu de lapplication EDIT_MESH

6.2

Gnralits

Les nouveaux types de dsignation de lapplication sont :


si le
mode de
dsignation est ELEMENT,
on
dsigne un
lment
de type
<ELEMENT> qui est un "lment ni" (triangle ou quadrangle) (il sut de cliquer dans llment ni) ;
si le mode de dsignation est ARETE, on dsigne un lment de type <ARETE> qui est une arte dun
lment du maillage (il sut de cliquer dans un lment contenant cette arte et prs de celle-ci) ;
si le mode de dsignation est SOMMET on dsigne un lment de type <SOMMET> qui est un sommet dun
lment du maillage (il sut de cliquer dans un lment contenant ce sommet et prs de celui-ci) ;
si le mode de dsignation est S_DOM, on dsigne un lment de type <S_DOM> qui est la composante
connexe borne par les frontires internes ou externes, et contenant llment ni cliqu.
De plus on utilisera souvent la notation <point> pour dsigner un point <POINT>, <COORD>ou <SOMMET>.
<point> = <POINT> | <COORD> | <SOMMET>;
INRIA

Emc2

6.2.1

35

Dfinition des variables dtat de lapplication

MARK_ELEMENT permet de visualiser les lments dont les angles sont hors des bornes (angle minimal, angle
maximal pour les triangles ou pour les quadrangles).
(TRIANGULER|QUADRANGULER) ANGLE_MIN *<VALEUR> permet de changer la valeur minimale des angles
en degrs des triangles ou des quadrangles.
(TRIANGULER|QUADRANGULER) ANGLE_MAX *<VALEUR> permet de changer la valeur maximale des angles
en degrs des quadrangles ou triangles.
FRONTIERE permet de bouger ou non les points frontires non extrmits (ip op), initialement on ne
peut pas dplacer les points frontires avec les actions BOUGER, REGULARISER.

6.3

Edition du maillage

Les actions ddition du maillage sont :

6.3.1

Bouger un sommet

BOUGER

*(<SOMMET>

<point>

FRONTIERE)

Cette action permet de bouger le sommet dsign (qui peut tre frontire suivant la valeur de la variable
dtat FRONTIERE) pour le dplacer au second point dsign) qui peut tre soit un point_tablette (dni avec la
souris), un point_xy (dni avec (x,y), 2 valeurs calculette), un point de BD, ou un sommet (dans ce cas dernier
cas, on prend comme nouveau sommet la position du curseur et non le sommet dsign).
Remarque : si lon bouge un point frontire on dplace le point sur celle-ci.

6.3.2

Ajouter un sommet au maillage

AJOUTER *(<SOMMET>

<ELEMENT>)

Cette action permet dajouter un sommet dans llment du maillage contenant le point dsign. Si llment
dsign est un quadrangle on commence par le couper en 2 triangles. On ajoute un sommet au triangle dsign
en le coupant en 3 triangles (les coordonnes du point ajout sont celles du curseur), puis on rend le maillage
triangulaire voisin de Delaunay.

6.3.3

Supprimer un sommet du maillage

SUPPRIMER

*(<SOMMET>

<S_DOM>)

Cette action permet de supprimer :


1. soit un sommet non frontire du maillage et de remailler le trou gnr,
2. soit un sous domaine.

6.3.4

Retourner une arte du maillage

RETOURNER *( <ARETE>)

Cette action permet de retourner larte interne du quadrilatre dni avec les 2 triangles adjacents cette
arte condition que les triangles gnrs soient corrects.

6.3.5

Maillage de Delaunay

DELAUNAY

*(<ELEMENT> |

<S_DOM>

TOUT )

Cette action permet de forcer le maillage satisfaire le critre de Delaunay pour les triangles (les seuls
sommets du maillage contenus dans le cercle circonscrit un triangle sont les sommets du triangle).
1. soit dans le voisinage du triangle dsign,
2. soit dans tout le sous domaine dsign,
3. soit dans tout le maillage.
RT n0123456789

36

Eric Saltel, Frdric Hecht

6.3.6

Rgularisation du maillage

REGULARISER

*(
|

<SOMMET>
TOUT |

| <ELEMENT> | <S_DOM>
ORIGINAUX | FRONTIERE)

Cette action permet de rgulariser le maillage ou une de ses parties. Cest--dire que lon met tour tour
les sommets de la partie au barycentre de ses voisins. On dplace les points frontires si cela est autoris (c.f.
variable dtat).
Remarque : si lon bouge un point frontire on dplace le point sur celle-ci.

6.3.7

Trianguler

TRIANGULER *( <ELEMENT>
| ANGLE_MIN

|<S_DOM> |
| ANGLE_MAX

TOUT |
)

ORIGINAUX

Cette action permet de trianguler le maillage ou une partie et de modier les variables dtat angle minimal
ou maximal des triangles.

6.3.8

Quadranguler

QUADRANGULER

*(

<ELEMENT>
|
TOUT
| ANGLE_MIN

| <ARETE> | <S_DOM>
| ORIGINAUX
| ANGLE_MAX )

Cette action permet de "quadranguler" le maillage ou une partie de celui-ci.


1. si on dsigne un lment et si llment dsign est un triangle et que ses 3 lments adjacents sont aussi
des triangles alors on gnre 3 quadrangles si ceux-ci sont valides (convexes et avec les angles compris
entre les angles min et max (c.f. variable dtat)) ;
2. si lon dsigne une arte et si les 2 lments adjacents sont des triangles et si larte nest pas frontire de
sous domaines alors on gnre le quadrangle form des 2 triangles si celui-ci est valide ;
3. si lon dsigne un sous domaine alors on essaie de "quadranguler" tout le sous domaine (la mthode dpend
de llment dsign pour dnir le sous domaine), attention on "re-quadrangule" tout le sous domaine et
mme les quadrangles dj existants ;
4. si vous cliquez dans lITEM TOUT ou, dans litem ORIGINAUX alors on essaie de "quadranguler" tout
le maillage (il peut rester des triangles si le nombre dartes frontires est impair ou si les angles sont
mauvais).
5. si vous cliquez dans lITEM ANGLE_MIN (Resp. ANGLE_MAX), on modie la variable dtat angle
minimal (resp. maximal) des quadrangles.

6.3.9

Fissurer
FISSURER *( <ARC> | <SEGMENT> | <SPLINE> )

Cette action permet de gnrer ou de supprimer des ssures dans le maillage. Si llment de la BD (arc,
segment ou spline) est ssur alors on le dssure sinon on le ssure. Une ssure dans un maillage est une ligne
ou un ensemble de lignes tel que les sommets qui sont de part et dautre de la ligne soient dirents. Sur les
dessins on carte les sommets fissurs pour visualiser la fissure mais cela nest quun artifice graphique.

6.3.10

Modifier les rfrences du maillage

MODIF_REF *( <VALEUR>
*( <ARC>
| <SEGMENT>
| <SOMMET> | <ARETE>

|
|

<SPLINE>
<S_DOM>)

Cette action permet de modifer les rfrences des direntes parties dun maillage.
Attention la rfrence dun sommet est la rfrence de llment de BD le supportant (un point si cest une
extrmit), de mme pour les artes. Si llment est fissur alors il y a 2 rfrences, une gauche et une
droite.
INRIA

Emc2

6.3.11

37

Renumroter les sommets du maillage

RENUMEROTER

Cette action permet de renumroter les sommets du maillage dans le but de diminuer la largeur de bande
ou le prol de la matrice lment ni correspondante (P _1 ou Q_1 lagrange)

6.4

Les transformations

Les transformations sappliquent : soit des sous domaines, soit tout le domaine, soit seulement aux sous
domaines originaux (cest--dire tous les sous domaines dessins en trait continu).
Remarque : un sous domaine transform (non original) nest dni que par un pointeur sur le sous domaine
original, et par la transformation ane (matrice 2 3), ce qui implique que toute modication (bouger, ajouter,
supprimer,... ) du sous domaine dorigine sera rpercute sur ses transforms. De plus les sous domaines originaux
sont achs en traits continus et les transforms sont achs en traits pointills. Pour gnrer eectivement
tous les sous domaines transforms il faut cliquer dans lITEM EVALUER, ces sous domaines devenant alors
des sous domaines originaux (on a valu lexpression dnissant le maillage).
Attention tant que les sous domaines transforms ne sont pas valus, les lments de BD frontires de ces
sous domaines nexistent pas encore.
Un point <point> dsignera soit un sommet, soit un point tablette, soit un point xy, soit un point immdiat.
La syntaxe est :
<une_transformation> ( TOUT |

ORIGINAUX | <S_DOM>*)

Cest dire que la transformation aprs tre dnie sera applique tous les sous domaines, ou aux sous
domaines originaux (en trait continu), ou bien aux sous domaines explicitement dsigns.
La transformation est soit une translation, soit une symtrie, soit une rotation, ou soit une homothtie. Cest
dire syntaxiquement :
<une_transformation>

<translation>
| <rotation>

|
|

<symetrie>
<homethetie>;

elles sont dnies comme suit :

6.4.1

Translation

<translation>

= TRANSLATION

<point>

<point>

Dnit la translation allant du premier point au second.

6.4.2

Symtrie

<symetrie>

= SYMETRIE

<point_coor> <point_coor>
| <SEGMENT> | <ARETE>)

Dnit la symtrie par rapport la droite qui supporte le segment ou larte dsign, ou qui passe par les 2
points dsigns.

6.4.3

Rotation

<rotation>

= ROTATION (<point>

<VALEUR>

<VALEUR>

<point>)

Dnit la rotation autour du point, dangle gal la valeur dnie avec la calculette.

6.4.4

Homothtie

<homothetie>

= HOMOTHETIE

(<point> <VALEUR> | <VALEUR> <point>)

Dnit lhomothtie de centre le point et de rapport gal la valeur.


RT n0123456789

38

Eric Saltel, Frdric Hecht

6.4.5

Gnrer effectivement les transformations

EVALUER

Cette action permet de gnrer eectivement tous les sous-domaines transforms an de pouvoir les diter
indpendamment de leur original. Cette action cre et transforme aussi tous les lments (segments, arcs, splines)
rfrencs par les sous domaines transforms.

6.4.6

Exemple de transformation

Pour symtriser des sous domaines, il sut de cliquer dans litem SYMETRIE puis soit de dsigner 2 points,
soit un segment ou soit une arte, puis de dsigner soit les sous domaines transformer, soit de cliquer dans
litem TOUT ou soit dans litem ORIGINAUX puis avant de sauver le maillage sous une forme autre que "mesh"
cliquer dans litem EVALUER.

INRIA

Emc2

39

Chapitre 7

Exemple
7.1

Le carr unit trou

Dans cette section nous montrons comment mailler un carr unit trou. Il faut commencer par excuter le
programme emc2 et entrer le numro du "device" graphique de F3D et de plus rpondre quelques questions
supplmentaires (dpend de limplmentation de F3D).

7.1.1

Construction du carr unit trou

1. Cliquer dans litem POINT du menu construction


2. Cliquer dans litem PT_XY du menu dsignation
3. Taper au clavier 0=0=1=0=0=1=1=1=.5=.5=, 5 points saffichent au milieu de lcran car lchelle est gale
1
4. Cliquer dans litem VOIR_TOUT pour bien voir les 5 points. Le 5ime point sera le centre du trou.
5. Cliquer dans litem SEGMENT du menu construction (en haut, celui du bas est litem SEGMENT du menu de
dsignation)
6. Cliquer dans litem POINT du menu dsignation (en bas)
7. Cliquer dans la fentre graphique sur les points extremits des 4 segments crer aprs chaque couple de
cliques, un segment est construit ; donc il faut cliquer 8 fois par exemple prs des 8 points suivant (0,0),
(1,0), (1,0), (1,1), (1,1), (0,1), (0,1), (0,0) dans cet ordre.
8. Cliquer dans litem CERCLE du menu construction (en haut) puis cliquer dans litem CENTRE
9. Cliquer dans la fentre graphique prs un point (.5,.5) (on est toujours en dsignation de point)
10. Cliquer dans litem RAYON
11. Taper au clavier 1/4= (un cercle de centre (.5,.5) et de rayon 1/4 sache), attention le cercle comme la
droite nest quun support de construction donc il faut le transformer en arc
12. Cliquer dans litem ARC du menu pour construire des arcs
13. Cliquer dans litem IDEM
14. Cliquer dans litem CERCLE du menu dsignation (pour dsigner le cercle)
15. Cliquer dans la fentre graphique (comme il ny a quun cercle on ne peut que dsigner celui-ci). Le cercle
ne servant plus, on le dtruit.
16. Cliquer dans litem DETRUIRE du menu gnral ( gauche)
17. Cliquer dans la fentre graphique (le cercle et larc disparaissent car il sont superposs). Attention on est
toujours en mode de destruction.
18. Cliquer dans litem RAFRAICHIR pour racher (larc est toujours la)
On a ni la construction de la gomtrie (gure 7.1).
On peut passer lapplication PREP_MESH.
RT n0123456789

40

Eric Saltel, Frdric Hecht

POINT
CIRCLE ARC
STRT LINE
SEGMENT SPLINE

ROUND
CENTER
OUTLINE RADIUS

DISTANCE SWAP
ANGLE
INVERT

COMPLE_ARC
CUT
MERGE
CHANGE

ADD
IDEM

RATIO
NUMBER

QUIT ^z
QUERY
DESTRUCT
SAVE
RESTORE

ROTATION SYMMETRY
TRANSLAT HOMOTHETY
ZOOM +
ZOOM TRANSLATION
SCALE
REFRESH
C_MASK
PREVIOUS
NEXT
SHOW_ALL

RESET_DB

.250000

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

PI Y

NO

SOFT_COPY

>CONSTRUCTION
CONSTRUCTION
PREP_MESH

AC E Ra Ag

EDIT_MESH

Lg Di

POINT/p STRT LINE/d


CIRCLE/c
ARC/a

SEGMT/s SPLINE/~
MOUSE P/m
XY PT/x XY FILE/<
ANY/q

POP

NEAREST EXTREM
^n
^e
CENTER\\c
MIDDLE ^m
INTERS/i

RADIUS=.250000;ANGLE=.E;DISTANCE=1.;RATIO=1.;NUMBER=0;SCALE=15.2336; Log File:trace026

Fig. 7.1 La gomtrie du domaine carr trou

7.1.2

Dfinition de la discrtisation sur la frontire

1.
2.
3.
4.
5.
6.

Cliquer dans litem PREP_MESH du menu gnral


Cliquer dans litem NB_INTERVAL du menu de lapplication (en haut)
Taper au clavier 4=
TOUT du menu de lapplication (en haut) (tous les lments sont dcoups en 4 intervalles)
Taper au clavier 12=
Puis cliquer dans la fentre graphique prs de larc qui se dcoupe en 12 intervalles). On na pas besoin
de changer de mode de dsignation.
7. Cliquer dans litem SAUVER du menu gnral
8. Taper le nom de chier carre_troue(CR), on a cr le chier carre_troue.emc2_bd
LINE
DOMAINE

COMPONENTUNCRACK
ALL
CRACK

RATIO
NODE_REF DOMAIN_REF
DOMAIN DEF
QUADRANGLE
REGULAR
Nb_INTERVAL
LINE_REF Lg_INTERVAL
INTERIOR TRIANGLESCOINS

REMOVE
VERIFY

SHOW
STRIP

QUIT ^z
QUERY
DESTRUCT
SAVE
RESTORE
RESET_DB

GENERATE
Gen. Base
ZOOM +
ZOOM TRANSLATION
SCALE
REFRESH
C_MASK
PREVIOUS
NEXT
SHOW_ALL
12.0000

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

SOFT_COPY

>PREP_MESH
PREP_MESH

AC E Ra Ag

EDIT_MESH
POINT/p

Lg Di
ARC/a

SEGMENT/s

SPLINE/~

MOUSE P/m

XY PT /x

ANY/q

NEAREST ^n

POP

EXTREM ^e

NUREF=0;Nb_INTERVALS=12;Lg_INTERVAL=1.;RATIO=1.;SCALE=15.2336; Log File:trace026

Fig. 7.2 La discrtisation des lignes du domaine carr trou


le chier carre_troue.emc2_bd :
INRIA

Emc2

41

-- TYPE N BD(1) BD(2) BD(3) BD(4) BD(5) NBNODE RAISON NUREFG NUREFD NUREF1G NUREF1D NUREF2G NUREF2D FIS
DROITE
1 -1.000000 0.0000000 1.000000 0.0000000 0.0000000 0.0000000 0 0.0000000 0 0 0 0 0 0 F
DROITE
2 -1.000000 1.000000 0.0000000 0.0000000 0.0000000 0.0000000 0 0.0000000 0 0 0 0 0 0 F
POINT
3 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0 1.000000 0 0 0 0 0 0 F
POINT
4 0.0000000 1.000000 0.0000000 0.0000000 0.0000000 0.0000000 0 1.000000 0 0 0 0 0 0 F
POINT
5 0.0000000 0.0000000 1.000000 0.0000000 0.0000000 0.0000000 0 1.000000 0 0 0 0 0 0 F
POINT
6 0.0000000 1.000000 1.000000 0.0000000 0.0000000 0.0000000 0 1.000000 0 0 0 0 0 0 F
POINT
7 0.0000000 0.5000000 0.5000000 0.0000000 0.0000000 0.0000000 0 1.000000 0 0 0 0 0 0 F
SEGMENT
8 -3.000000 0.0000000 0.0000000 1.000000 0.0000000 0.0000000 5 1.000000 0 0 0 0 0 0 F
SEGMENT
9 -3.000000 1.000000 0.0000000 1.000000 1.000000 0.0000000 5 1.000000 0 0 0 0 0 0 F
SEGMENT
10 -3.000000 1.000000 1.000000 0.0000000 1.000000 0.0000000 5 1.000000 0 0 0 0 0 0 F
SEGMENT
11 -3.000000 0.0000000 1.000000 0.0000000 0.0000000 0.0000000 5 1.000000 0 0 0 0 0 0 F
CERCLE
12 0.2500000 0.5000000 0.5000000 0.0000000 0.0000000 0.0000000 2 1.000000 0 0 0 0 0 0 F
ARC
13 -2.000000 0.5000000 0.5000000 0.7500000 0.5000000 6.283185 13 1.000000 0 0 0 0 0 0 F
MASQUE 0 -0.4632312 1.465731 -5.0000010E-02 1.052500 0.0000000 0.0000000 0 0. 0 0 0 0 0 0 F
RAYON 0 0.2500000 0. 0. 0. 0. 0. 0 0. 0 0 0 0 0 0 F
ANGLE 0 0.0000000 0. 0. 0. 0. 0. 0 0. 0 0 0 0 0 0 F
DISTANCE 0 1.000000 0. 0. 0. 0. 0. 0 0. 0 0 0 0 0 0 F
RAPPORT 0 1.000000 0. 0. 0. 0. 0. 0 0. 0 0 0 0 0 0 F
NOMBRE 0 0.0000000 0. 0. 0. 0. 0. 0 0. 0 0 0 0 0 0 F
ECHELLE 0 14.32432 0. 0. 0. 0. 0. 0 0. 0 0 0 0 0 0 F
NUREF 0 0.0000000 0. 0. 0. 0. 0. 0 0. 0 0 0 0 0 0 F
NB_INTERVALS 0 12.00000 0. 0. 0. 0. 0. 0 0. 0 0 0 0 0 0 F
RAISON 0 1.000000 0. 0. 0. 0. 0. 0 0. 0 0 0 0 0 0 F
NUDSD 0 1.000000 0. 0. 0. 0. 0. 0 0. 0 0 0 0 0 0 F

On a ni la prparation un maillage (gure 7.2)

7.1.3

Gnration et criture du maillage

1. Cliquer
dans
litem
EDIT_MESH
du
menu
gnral
pour
activer
lapplication
EDIT_MESH puis taper 4 (CR) au clavier pour prendre les options par dfaut du mailleur. Le maillage
sache et le trou est maill. On va supprimer le maillage du trou :
2. Cliquer dans litem S_DOM du menu dsignation.
3. Cliquer dans litem SUPPRIMER du menu edit_mesh (en haut).
4. Cliquer dans le cercle maill, le maillage du trou disparait.
5. Cliquer
dans
litem
SAUVER
puis
taper
le
type
de
sauvegarde
par
exemple
am_fmt(CR) puis le nom du chier carre_troue(CR), un chier carre_troue.am_fmt est gnr.
6. Cliquer dans litem FINIR pour sortir dEmc2

REGULARIZEDELAUNAY ADD
MOVE
SUPRESS
SWAP
MODIF_REF CRACK
TRIANGULATE
MIN ANGLE MARK ELEMENT
RENUMBER ALL
ORIGINALS EVALUATE ROTATION TRANSLATION
SYMMETRY HOMOTHETY QUADRANGULATE
MAX ANGLE BOUNDARY
ZOOM +
QUIT ^z
ZOOM TRANSLATION
QUERY
SCALE
DESTRUCT
REFRESH
C_MASK
SAVE
PREVIOUS
NEXT
RESTORE
SHOW_ALL
RESET_DB
12.0000

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

PREP_MESH

AC E Ra Ag

SOFT_COPY

>EDIT_MESH
EDIT_MESH

Lg Di

VERTEX/vEDGE/l ELEMENT/f
S_DOM/r ARC/a

SEGMENT/s
SPLINE/~MOUSE P/m
XY PT/x ANY/q

No_edit_bord;Mark_bad_elem;Scale=15.2336;MIN_ANGLE_T=5.;MAX_ANGLE_T=175.;MIN_ANGLE_Q=5.;MAX_ANGLE_Q=175.; Log File:trace026

Fig. 7.3 Le maillage nal du domaine carr trou


le chier carre_troue.am_fmt :
RT n0123456789

POP

NEAREST EXTERM
^n
^e
CENTER ^c
MIDLLE ^m

42

Eric Saltel, Frdric Hecht

44 60

-- nbs,nbt
1
2
29
25
24
31
29
3
15
16
31
22
26
25
30
23
32
27
43
28
22
33
34
21
4
32
43
34
33
14
34
21
5
6
39
20
28
32
39
41
7
8
36
18
28
39
35
34
12
13
38
6
28
35
17
43
38
13
14
23
7
36
17
31
11
12
40
3
37
8
44
30
41
10
42
30
44
10
41
29
35
6
7
17
36
8
37
17
41
37
44
18
38
14
33
21
39
32
4
5
40
12
38
20
42
10
11
37
42
11
40
19
43
26
30
4
44
8
9
10
0.000000E+00
0.000000E+00
5.000000E-01
0.000000E+00
1.000000E+00
0.000000E+00
1.000000E+00
5.000000E-01
1.000000E+00
1.000000E+00
5.000000E-01
1.000000E+00
0.000000E+00
1.000000E+00
0.000000E+00
5.000000E-01
7.500000E-01
5.000000E-01
6.250000E-01
7.165064E-01
3.750000E-01
7.165064E-01
2.500000E-01
5.000001E-01
3.749999E-01
2.834937E-01
6.249999E-01
2.834936E-01
2.077567E-01
2.075703E-01
1.483122E-01
4.021604E-01
2.021900E-01
7.009841E-01
8.609530E-01
3.646002E-01
7.943417E-01
7.355210E-01
8.379703E-01
1.980158E-01
7.210978E-01
8.353896E-01
5.796704E-01
1.470356E-01
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

7.2
7.2.1

24
29
43
30
34
23
34
31
27
32
40
38
15
31
33
22
42
40
42
19
36
37
14
15
35
39
27
26
31
24
16
29
30
2
25
29
29
2
16
1
35
7
36
18
37
19
38
33
39
4
40
21
41
19
42
20
43
3
44
9
2.500000E-01
7.500000E-01
1.000000E+00
1.000000E+00
7.500000E-01
2.500000E-01
0.000000E+00
0.000000E+00
7.165064E-01
5.000000E-01
2.834937E-01
2.834936E-01
4.999999E-01
7.165062E-01
4.017089E-01
7.024530E-01
1.471843E-01
8.519265E-01
2.050139E-01
4.015485E-01
5.831956E-01
8.526899E-01
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0.000000E+00
0.000000E+00
2.500000E-01
7.500000E-01
1.000000E+00
1.000000E+00
7.500000E-01
2.500000E-01
6.250000E-01
7.500000E-01
6.250000E-01
3.750001E-01
2.500000E-01
3.749999E-01
1.482612E-01
2.009149E-01
5.790281E-01
6.222693E-01
8.383228E-01
8.609668E-01
8.603261E-01
8.640727E-01
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0

Une aile NACA0012


Introduction

La paramtrisation du naca0012 est pour X [0, 1.008930411365]

Y (X) = 5 0.12(0.2969 X 0.126X 0.3516X 2 + 0.2843X 3 0.1015X 4)


Pour normaliser le naca0012, on utilise le changement de variables :
X = 1.008930411365x
Y = 1.008930411365y
Avec le petit programme fortran suivant :
INRIA

Emc2

C
C
C
C
C
C

43

PROGRAM NACA12
DOUBLE PRECISION X,Y,C,XX,YY
PARAMETER (C=1.008930411365D0)
INTEGER NB,I
-------- ENTRER LE NOMBRE DINTERVALLES ----------READ *,NB
DO I=0,NB
-----------------------------------------------POUR QUE LA PROGRESSION DES POINTS GENERE |
SOIT PLUS DENSE AU VOISINAGE DE 0
|
4
|
ON PREND X PLUTOT QUE X
|
------------------------------------------------XX= (DBLE(I)/DBLE(NB))**4
X = C*XX
Y = 5*.12*( 0.2969*SQRT(X) -0.126*X
+
-0.3516*X**2
+0.2843*X**3 -0.1015*X**4)
YY = Y / C
PRINT*, XX,YY
ENDDO
END

on gnre le chier "naca12.21pts" en lutilisant avec 20 intervalles.


le chier "naca12.21pts" :
0.0000000000000000 0.0000000000000000
6.2500000000000000E-06 4.4290213310617220E-04
1.0000000000000000E-04 1.7659364374154260E-03
5.0625000000000000E-04 3.9520447457293480E-03
1.6000000000000000E-03 6.9724900930098020E-03
3.9062500000000000E-03 1.0785816129632120E-02
8.1000000000000000E-03 1.5335254409279880E-02
1.5006250000000000E-02 2.0543538719326360E-02
2.5600000000000000E-02 2.6304013971036800E-02
4.1006250000000000E-02 3.2467169756843240E-02
6.2500000000000000E-02 3.8822480697810590E-02
9.1506250000000000E-02 4.5076893778196040E-02
0.1296000000000000 5.0833559338836810E-02
0.1785062500000000 5.5577241169031020E-02
0.2401000000000000 5.8675384962268570E-02
0.3164062500000000 5.9403968668221290E-02
0.4096000000000000 5.7000809116986590E-02
0.5220062500000000 5.0728415111155510E-02
0.6561000000000000 3.9881091560527040E-02
0.8145062500000000 2.3576580331835940E-02
1.000000000000000 2.0060198232592660E-14

7.2.2

La construction de la gomtrie

1. Cliquer dans litem SPLINE du menu construction


2. Taper < au clavier ou cliquer dans litem Fi_XY du menu dsignation puis entrer le nom du chier contenant
les points du NACA0012 en tapant naca12.21pts(CR), la spline du naca saffiche lcran
3. Cliquer dans litem VOIR_TOUT pour mieux voir la spline
4. On veut mailler lextrieur du naca0012 pour cela il faut dnir la frontire correspondant linni que
lon placera -5 en amont, +11 en aval et 8 orthogonalement. On construit les 3 points (-5,0), (0,8), (11,0)
Cliquer dans litem POINT du menu construction (en haut)
Entrer au clavier x-5=0=0=8=11=0=
Cliquer dans litem VOIR_TOUT ( droite)
On voit les 3 points. On va construire larc passant par ces 3 points :
Cliquer dans litem ARC du menu construction (en haut)
Cliquer dans litem POINT du menu dsignation (en bas)
Cliquer successivement prs des points (11,0), (0,8), (-5,0)
5. Pour nir le domaine il sut de construire les 2 segments allant de "linni" au naca.
Cliquer dans litem SEGMENT du menu construction (en haut)
Cliquer prs du point (-5,0)
Cliquer dans litem PRECEDENTE du menu gestion de lcran ( droite). On utilise le contexte dachage
prcdant qui met le naca plein cran.
Cliquer prs du point (0,0) (en dessous gauche pour tre sr de dsigner le premier point).
Cliquer dans litem SUIVANTE du menu gestion de lcran ( droite), on voit tous les objets.
Cliquer prs du point (11,0)
On a ni thoriquement la construction du domaine gomtrique (gures 7.4 et 7.5).
RT n0123456789

44

Eric Saltel, Frdric Hecht

POINT
CIRCLE ARC
STRT LINE
SEGMENT SPLINE

ROUND
CENTER
OUTLINE RADIUS

DISTANCE SWAP
ANGLE
INVERT

COMPLE_ARC
CUT
MERGE
CHANGE

ADD
IDEM

RATIO
NUMBER

QUIT ^z
QUERY
DESTRUCT
SAVE
RESTORE
RESET_DB

ROTATION SYMMETRY
TRANSLAT HOMOTHETY
ZOOM +
ZOOM TRANSLATION
SCALE
REFRESH
C_MASK
PREVIOUS
NEXT
SHOW_ALL
.000000E+00

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

PI Y

NO

SOFT_COPY

>CONSTRUCTION
CONSTRUCTION
PREP_MESH

AC E Ra Ag

EDIT_MESH

Lg Di

POINT/p STRT LINE/d


CIRCLE/c
ARC/a

SEGMT/s SPLINE/~
MOUSE P/m
XY PT/x XY FILE/<
ANY/q

POP

NEAREST EXTREM
^n
^e
CENTER\\c
MIDDLE ^m
INTERS/i

RADIUS=1.;ANGLE=.E;DISTANCE=1.;RATIO=1.;NUMBER=0;SCALE=1.51209; Log File:trace029

Fig. 7.4 Toute la gomtrie du naca0012 et de linni

POINT
CIRCLE ARC
STRT LINE
SEGMENT SPLINE

ROUND
CENTER
OUTLINE RADIUS

DISTANCE SWAP
ANGLE
INVERT

COMPLE_ARC
CUT
MERGE
CHANGE

ADD
IDEM

QUIT ^z
QUERY
DESTRUCT
SAVE
RESTORE
RESET_DB

RATIO
NUMBER

ROTATION SYMMETRY
TRANSLAT HOMOTHETY
ZOOM +
ZOOM TRANSLATION
SCALE
REFRESH
C_MASK
PREVIOUS
NEXT
SHOW_ALL
.000000E+00

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

PI Y

NO

SOFT_COPY

>CONSTRUCTION
CONSTRUCTION
PREP_MESH

AC E Ra Ag

EDIT_MESH
POINT/p STRT LINE/d
CIRCLE/c
ARC/a

Lg Di
SEGMT/s SPLINE/~
MOUSE P/m
XY PT/x XY FILE/<
ANY/q

POP

NEAREST EXTREM
^n
^e
CENTER\\c
MIDDLE ^m
INTERS/i

RADIUS=1.;ANGLE=.E;DISTANCE=1.;RATIO=1.;NUMBER=0;SCALE=18.5395; Log File:trace029

Fig. 7.5 Zoom autour du naca0012

INRIA

Emc2

7.2.3

45

Discrtisation des contours

On passe dans lapplication PREP_MESH pour dnir la discrtisation des contours.


1. Cliquer dans litem PREP_MESH
2. La discrtisation des lignes se fait comme suit :
Cliquer dans litem NB_INTERVAL En vue de dfinir le nombre dintervalles
Taper 26=
Cliquer prs de larc (attention, on est en mode de dsignation QLCONQ donc il ne faut pas cliquer
prs du point (8,0)). Larc est discrtis en 26 intervalles.
Taper 39=
Cliquer prs du segment de gauche.
Taper 30=.
Cliquer prs du segment de droite.
Taper 50=.
Cliquer dans litem SPLINE du menu dsignation.
Cliquer dans la fentre graphique (il ny a quune spline donc on la dsignera).
Cliquer dans litem RAISON pour changer la rpartion de point sur les lignes
Taper 1.1=
Cliquer prs de la spline.
Cliquer dans litem SEGMENT du menu dsignation.
Cliquer prs du segment de droite
Taper 1/1.2=
Cliquer prs du segment de gauche
LINE
DOMAINE

COMPONENTUNCRACK
ALL
CRACK

RATIO
NODE_REF DOMAIN_REF
DOMAIN DEF
QUADRANGLE
REGULAR
Nb_INTERVAL
LINE_REF Lg_INTERVAL
INTERIOR TRIANGLESCOINS

REMOVE
VERIFY

SHOW
STRIP

QUIT ^z
QUERY
DESTRUCT
SAVE
RESTORE
RESET_DB

GENERATE
Gen. Base
ZOOM +
ZOOM TRANSLATION
SCALE
REFRESH
C_MASK
PREVIOUS
NEXT
SHOW_ALL
.000000E+00

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

SOFT_COPY

>PREP_MESH
PREP_MESH

AC E Ra Ag

EDIT_MESH
POINT/p

Lg Di
ARC/a

SEGMENT/s

SPLINE/~

MOUSE P/m

XY PT /x

ANY/q

NEAREST ^n

POP

EXTREM ^e

NUREF=0;Nb_INTERVALS=39;Lg_INTERVAL=1.;RATIO=1.10000;SCALE=1.51209; Log File:trace029

Fig. 7.6 Vu de la discrtisation de tous les contours


On a ni la dnition de la dicrtisation des lignes (gures 7.6 et 7.7).

7.2.4

Gnration et dition du maillage

On gnre le maillage en passant dans lapplication EDIT_MESH.


1. Cliquer dans litem EDIT_MESH puis taper quatre fois (CR) pour rpondre par dfaut aux 4 questions. Un
maillage sache (gure 7.8).
On dnit des rfrences en vue de la prise en compte des conditions aux limites : 1 sur linni , 2 sur
le NACA, 3 au bord de fuite.
2. Cliquer dans litem MODIF_REF du menu lapplication
Taper 1= la refrence courante est 1
RT n0123456789

46

Eric Saltel, Frdric Hecht

LINE
DOMAINE

COMPONENTUNCRACK
ALL
CRACK

RATIO
NODE_REF DOMAIN_REF
DOMAIN DEF
QUADRANGLE
REGULAR
Nb_INTERVAL
LINE_REF Lg_INTERVAL
INTERIOR TRIANGLESCOINS

REMOVE
VERIFY

SHOW
STRIP

QUIT ^z
QUERY
DESTRUCT
SAVE
RESTORE
RESET_DB

GENERATE
Gen. Base
ZOOM +
ZOOM TRANSLATION
SCALE
REFRESH
C_MASK
PREVIOUS
NEXT
SHOW_ALL
.000000E+00

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

SOFT_COPY

>PREP_MESH
PREP_MESH

AC E Ra Ag

EDIT_MESH

Lg Di

POINT/p

ARC/a

SEGMENT/s

SPLINE/~

MOUSE P/m

XY PT /x

ANY/q

NEAREST ^n

POP

EXTREM ^e

NUREF=0;Nb_INTERVALS=39;Lg_INTERVAL=1.;RATIO=1.10000;SCALE=18.5395; Log File:trace029

Fig. 7.7 Zoom de la discrtisation des contours autour du naca

REGULARIZEDELAUNAY ADD
MOVE
SUPRESS
SWAP
MODIF_REF CRACK
TRIANGULATE
MIN ANGLE MARK ELEMENT
RENUMBER ALL
ORIGINALS EVALUATE ROTATION TRANSLATION
SYMMETRY HOMOTHETY QUADRANGULATE
MAX ANGLE BOUNDARY
ZOOM +
QUIT ^z
ZOOM TRANSLATION
QUERY
SCALE
DESTRUCT
REFRESH
C_MASK
SAVE
PREVIOUS
NEXT
RESTORE
SHOW_ALL
RESET_DB
.000000E+00

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

PREP_MESH

AC E Ra Ag

SOFT_COPY

>EDIT_MESH
EDIT_MESH

Lg Di

VERTEX/vEDGE/l ELEMENT/f
S_DOM/r ARC/a

SEGMENT/s
SPLINE/~MOUSE P/m
XY PT/x ANY/q

POP

NEAREST EXTERM
^n
^e
CENTER ^c
MIDLLE ^m

No_edit_bord;Mark_bad_elem;Scale=1.51073;MIN_ANGLE_T=5.;MAX_ANGLE_T=175.;MIN_ANGLE_Q=5.;MAX_ANGLE_Q=175.; Log File:trace029

Fig. 7.8 Maillage du demi naca0012

INRIA

Emc2

47

Cliquer dans litem SOMMET du menu dsignation pour passer en mode de dsignation de sommet
Cliquer dans la maillage prs dun sommet du maillage qui est sur larc et non une extrmit puis cliquer
prs des 2 extremits toujours dans le maillage. Tous les sommets de larc ont pour rfrence 1.
Taper 2= la refrence courante est 2
On fait un zoom autour du naca
Cliquer dans litem ZOOM + du menu gestion de lcran
Cliquer dans litem P_TABL du menu dsignation pour passer en dsignation de point curseur
Cliquer 2 fois en dsignant les 2 coins opposs dans un rectangle ctif contenant le naca. Si le zoom
nest pas assez fort recliquer dans litem ZOOM + puis entre 2 autres coins opposs Pour avoir un zoom
autour de dbut du naca (coordonnes (0,0)) :
Cliquer dans litem C_MASQUE puis taper x0=0= pour centrer la fentre graphique autour du point
(0,0) (Le x est le raccourci de POINT_XY)
Cliquer dans litem ECHELLE puis taper 1000= pour avoir une chelle de 1000
(gure 7.9)
REGULARIZEDELAUNAY ADD
MOVE
SUPRESS
SWAP
MODIF_REF CRACK
TRIANGULATE
MIN ANGLE MARK ELEMENT
RENUMBER ALL
ORIGINALS EVALUATE ROTATION TRANSLATION
SYMMETRY HOMOTHETY QUADRANGULATE
MAX ANGLE BOUNDARY
ZOOM +
QUIT ^z
ZOOM TRANSLATION
QUERY
SCALE
DESTRUCT
REFRESH
C_MASK
SAVE
PREVIOUS
NEXT
RESTORE
SHOW_ALL
RESET_DB
.000000E+00

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

PREP_MESH

AC E Ra Ag

SOFT_COPY

>EDIT_MESH
EDIT_MESH

Lg Di

VERTEX/vEDGE/l ELEMENT/f
S_DOM/r ARC/a

SEGMENT/s
SPLINE/~MOUSE P/m
XY PT/x ANY/q

POP

NEAREST EXTERM
^n
^e
CENTER ^c
MIDLLE ^m

No_edit_bord;Mark_bad_elem;Scale=1000.;MIN_ANGLE_T=5.;MAX_ANGLE_T=175.;MIN_ANGLE_Q=5.;MAX_ANGLE_Q=175.; Log File:trace029

Fig. 7.9 Zoom de 1000 du Maillage du demi naca0012


Cliquer dans litem SOMMET du menu dsignation pour repasser mode de dsignation de sommet
En cas derreur (litem MODIF_REF nest plus marqu) pour continuer, il sut de recliquer dans
celui-ci et de taper 2= pour rednir la rfrence courante.
Cliquer dans le maillage prs dun sommet du maillage qui est sur le naca et non une extremit, puis
cliquer dans le maillage prs de lextrmit aval (de coordonnes (0,0)).
Cliquer dans litem C_MASQUE puis taper x0=1= pour centrer la fentre graphique autour du point (0,1)
qui est le bord de fuite.
Taper 3= la refrence courante est 3
Cliquer dans le maillage prs du bord de fuite.
On a ni lentre des rfrences. On sauve le maillage du demi naca.
3. Cliquer
dans
litem
naca12_5.mesh est cr.

SAUVER,

taper

mesh(CR)

puis

naca12_5(CR).

Le

chier

on symtrise le maillage pour obtenir un maillage complet, on commence par changer le point de vue pour
voir tout le naca.
4. Cliquer dans litem C_MASQUE puis taper x1/2=0= pour centrer la fentre graphique autour du point ( 21 , 0)
5. Cliquer dans litem ECHELLE puis taper 10= pour avoir une chelle de 10
6. Cliquer dans litem SYMETRIE
Cliquer dans litem SEGMENT du menu dsignation
Cliquer prs dun des 2 segments
RT n0123456789

48

Eric Saltel, Frdric Hecht

Cliquer dans litem TOUT, tout le maillage est symtris, la partie symtrise est affiche en traits pointills (figure 7.10).
REGULARIZEDELAUNAY ADD
MOVE
SUPRESS
SWAP
MODIF_REF CRACK
TRIANGULATE
MIN ANGLE MARK ELEMENT
RENUMBER ALL
ORIGINALS EVALUATE ROTATION TRANSLATION
SYMMETRY HOMOTHETY QUADRANGULATE
MAX ANGLE BOUNDARY
ZOOM +
QUIT ^z
ZOOM TRANSLATION
QUERY
SCALE
DESTRUCT
REFRESH
C_MASK
SAVE
PREVIOUS
NEXT
RESTORE
SHOW_ALL
RESET_DB
10.0000

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

PREP_MESH

AC E Ra Ag

SOFT_COPY

>EDIT_MESH
EDIT_MESH

Lg Di

VERTEX/vEDGE/l ELEMENT/f
S_DOM/r ARC/a

SEGMENT/s
SPLINE/~MOUSE P/m
XY PT/x ANY/q

POP

NEAREST EXTERM
^n
^e
CENTER ^c
MIDLLE ^m

No_edit_bord;Mark_bad_elem;Scale=10.;MIN_ANGLE_T=5.;MAX_ANGLE_T=175.;MIN_ANGLE_Q=5.;MAX_ANGLE_Q=175.; Log File:trace029

Fig. 7.10 Zoom de 10 du maillage du naca0012 symtris


Cliquer dans litem EVALUER pour gnrer eectivement le maillage total (gure 7.11).
REGULARIZEDELAUNAY ADD
MOVE
SUPRESS
SWAP
MODIF_REF CRACK
TRIANGULATE
MIN ANGLE MARK ELEMENT
RENUMBER ALL
ORIGINALS EVALUATE ROTATION TRANSLATION
SYMMETRY HOMOTHETY QUADRANGULATE
MAX ANGLE BOUNDARY
ZOOM +
QUIT ^z
ZOOM TRANSLATION
QUERY
SCALE
DESTRUCT
REFRESH
C_MASK
SAVE
PREVIOUS
NEXT
RESTORE
SHOW_ALL
RESET_DB
10.0000

HARD_COPY

2 3

6 7

SHELL

0 =

LOG FILE

* /

INTERPRET

| (

CONSTRUCTION

PI Y

NO

PREP_MESH

AC E Ra Ag

SOFT_COPY

>EDIT_MESH
EDIT_MESH

Lg Di

VERTEX/vEDGE/l ELEMENT/f
S_DOM/r ARC/a

SEGMENT/s
SPLINE/~MOUSE P/m
XY PT/x ANY/q

POP

NEAREST EXTERM
^n
^e
CENTER ^c
MIDLLE ^m

No_edit_bord;Mark_bad_elem;Scale=10.;MIN_ANGLE_T=5.;MAX_ANGLE_T=175.;MIN_ANGLE_Q=5.;MAX_ANGLE_Q=175.; Log File:trace029

Fig. 7.11 Zoom de 10 du maillage du naca0012 complet


On sauve le maillage du naca.
7. Cliquer
dans
litem
naca12.mesh est cr

SAUVER,

taper

mesh(CR),

taper

naca12(CR)

le

chier

INRIA

Emc2

49

Chapitre 8

Limitations et Bogues
Fichiers pouvant tre crs par le systme
Si xx est le nom donn par lutilisateur, les noms des chiers qui peuvent tre crs partir de xx sont :
traceNNN.emc2_trace
Trace des actions (noms gnrs
automatiquement).
xx.emc2_trace
Trace des actions (nom spci par user).
xx.emc2_bd
Sauvetage en CONSTRUCTION ou en
PREP MESH
xx_bak.emc2_bd
Fichier .bak du prcdant.
xx.data
Fichier pour module APNOPO (il gnrera
xx.nopo).
xx.nopo
Fichier gnr par EDIT MESH.
xx.mesh
Fichier gnr par EDIT MESH.
xx.am
Fichier gnr par EDIT MESH.
xx.am_fmt
Fichier gnr par EDIT MESH.
xx.ambda
Fichier gnr par EDIT MESH.
xx.set
Pour liaison avec le logiciel VISIL.
xx.bas
Pour liaison avec le logiciel VISIL.

Initialisation de variables globales


Nombre maximal
dlments de BD
MXBDX=5000
de points de discrtisation sur un lment de BD
MXNOD=1000
de points dnissant une spline
MXPDEF=200
de sommets du maillage
MBPMXX=15000
de triangles du maillage
NBTMXX=2*NBPMXX-2=29998
dartes du maillage dnissant les frontires
NBAMXX=5000
de sous domaines
MBSDMXX=1000
dlments de listes
MXLISTX=20000
Toutes ces variables sont initialises dans le programme emc2.f (rpertoire ppal), exept MXNOD et
MXPDEF, qui sont elles initialises dans le chier dinclude emc2_commons_g.ins (rpertoire include).
Il faut faire attention aux superpositions dlments de BD (exemple : une droite et un segment de mme
support) quand on dsigne en mode quelconque car le resultat de la dsignation est imprvisible.
Lors
de
la
commutation
de
lapplication
CONSTRUCTION

lapplication
PREP_MESH, si des arcs ou des segments ou des splines se superposent, on dtruit lun des deux.
Si
le
mailleur,
appel
au
niveau
de
la
commutation
dans
lapplication
EDIT_MESH, ne veut pas construire le maillage, cest selon toute probabilit parce que :
il faut couper explicitement tout les segments, arcs, splines i.e. une extrmit de segment, arc,
ou spline ne doit pas tre sur une courbe non coupe.
lorsque lon construit des arcs avec des proprits de tangence, il peut y avoir des problmes derreur
darrondi. Pour viter cela, on peut commencer par construire les points de tangence puis utiliser ceux-ci.
RT n0123456789

50

Eric Saltel, Frdric Hecht

la prcision du mailleur de 1/32000 relativement la plus grande longueur ou largeur. Si le pas de


discrtisation demand est trop n, le mailleur peut soit retourner des triangles ou soit refuser de
mailler (il y a des points confondus)
une courbe nest pas susament discrtise (la frontire est croise).
le type de lerreur est : il y a des points confondus, ou la frontire est croise
Le mailleur ne respecte gnralement pas les symtries du domaine, si lon veut respecter ces symtries :
il faut mailler la partie minimale, puis gnrer le maillage total en utilisant les transformations de lapplication EDIT_MESH.
Attention : lutilisation des transformations de lapplication EDIT_MESH peut permettre la construction
de sous domaines se chevauchant. Les rsultats sont alors imprvisibles.
Attention : les points dun maillage lus au niveau de lapplication EDIT_MESH ne sont pas recolls avec
les points des maillages prexistants.
Attention : Toutes les modications dun maillage sont perdues si lon sort de lapplication EDIT_MESH.
On perd le maillage et on ne conserve que ses contours.
Attention : en raison de problme fortran (INQUIRE), il est impossible dexcuter emc2 dans un rpertoire
o lon a pas daccs en criture (le programme essaie douvrir 999 chiers de "TRACE" (voir 3.3.10) ce
qui prend du temps)
Si vous perdez des informations dans la fentre graphique, le seul moyen pour rafaichir la fentre est de
la retailler puis de cliquer lintrieur.

INRIA

Emc2

51

Annexe A

Structure interne des donnes


On a utilis un systme de listes deux lments que lon appellera le CAR et le CDR. Ladresse vide est
NIL=0 (parameter). Dans les schmas suivants le CAR sera toujours gauche et le CDR droite.
CAR

CDR

Les atomes libres sont dans une liste datomes libres, la tte de cette liste est FREE. Les atomes libres sont
chans par leur CDR.

A.1

Description de la B.D. pour lapplication CONSTRUCTION




   






    




    !




    




 "   




  !  !




 #   














 
 
 
            




         

 























 



 

    























 ! 





    























   !





    























      
       



















 



 !      #          























  $ 


        


 










 #%&' (&  )*%'& ( (%%'%* ( +, # 
----------.----- 
/










------- 
$

$------------- 
$

$---------- 
$
 %+
















/
/
/
)*%'   0 0
)*%'   0 0
)*%'   0 0

Fig. A.1 Description de la B.D. pour lapplication CONSTRUCTION


avec
TYPE

est le type de llment de B.D.


POINT = 0.
RAYON > 0.
DROITE = -1.
Avec A A + B B = 1
SEGMENT = -3.

RT n0123456789

POINT X,Y.
CERCLE de centre XC,YC et de rayon RAYON.
DROITE dquation A x + B y + C = 0
SEGMENT allant du point X1,Y1 au point X2,Y2.

52

Eric Saltel, Frdric Hecht

ARC = -2.
et faisant un angle ANGLE partir de ce point.
SPLINE = -4.
VIDE = -1000.

ARC de centre XC,YC passant par le point X1,Y1


SPLINE.
lment vide.

Pour

SPLINE :
NB est le nombre de points de dnition.
PT est le pointeur sur la liste des POINTS de dnition de la SPLINE.
NUREF est le numro de rfrence de llment (ARC ou SEGMENT). Par dfaut NUREF=0.
NUREF1 est le numro de rfrence de lextrmite 1 de llment (ARC ou SEGMENT). Par dfaut
NUREF1=0.
NUREF2 est le numro de rfrence de lextremite 2 de llment (ARC ou SEGMENT). Par dfaut
NUREF2=0.
NBNODE est le nombre de points intermdiaires de llment (extrmites comprises). Par dfaut NBNODE=2.
RAISON est la raison de la progression gomtrique rpartissant les NBNODE-2 points de lextrmite 1
lextrmite 2. Par dfaut RAISON=1.

INRIA

Emc2

A.2

53

Description de la B.D. pour lapplication PREP MESH












 






               !  !  !  !  !" !" 1   


           


         
 














 
















 






   2  

    
 %+  %+  
 %+  %+  $-- $-- $-- 










 
















 






   2  

    
 %+  %+  
 %+  %+  $-- $-- $-- 










 
















 






   2  

    
 %+  %+  
 %+  %+  $-- $-- $-- 










 
















 






   2  

    
 %+  %+  
 %+  %+  $-- $-- $-- 










 






000

000

000

000

000

000

000

00


 2 

"   2  





! 2! 

  !  2  

 # 


  

#   $  

  


----------- 
#%&' (&  )*%'& 
%
%'%*
( ( 
 ( +, 

# 



/

----

000

000
























000

000 000 000 000

000

000

000

000 000

000

,(&&  0 0 (   '* .----- 



( 3 ,4+  # ,'* ( )*%' ! 2!

 

2

&&

0

0
,( 
(
.------------ 
 
,(&&  0 0 (    2 .--------   
  
,(&&  0 0 (    2 .------    
   
   
56,%,4& 5%5+,%& )*%'& 7& +&
   
(& (8 5*9)*&,'&
5*9)*&,'& ,:++ &
;,(&&  0 0<
   
))
'%
'
&
9
'&
, ,  + + 
= = = =
= = = =
   
   
 
 
   
   
 
 
   
    000 000  
 
   
000
000
   
 
 
   

      
       
   $  
    $   $     $   $   %+  $  
  


  
     
  
 


  
     
  
 
    $  $    $  $  %+  $  $  




 









 





    $  $    $  $  %+  $  $  

    
     
    












/
/
/
/
7
7
%
&
%
%
&
)*%
'
&
7
&

&&
56, ,4 5 5+, 
  
(  (&&
(& (8 5*9)*&,'&
+& 5*9)*&,'&
( 
( 
;,(&&  0 0<
&
,:++
,)),'%'
+& +9'&




$
 $----------- 
$









/
/
 >)*%'   0 0
 >)*%' 







$------------- 



 0 0


$
 %+




/
 >)*%'   0 0















Fig. A.2 Description de la B.D. pour lapplication PREP MESH


TYPE est le type de llment de B.D.
POINT = 0. POINT X,Y.
SEGMENT = -3. SEGMENT allant du point X1,Y1 au point X2,Y2.
ARC = -2. ARC de centre XC,YC passant par le point XD,YD et faisant un angle ANGLE partir de ce
point.
SPLINE = -4. SPLINE.
VIDE = -1000. lment vide.
NUREF est le numro de rfrence de llment (ARC ou SEGMENT).
ADP1 pointeur dans la B.D. sur le POINT extrmite 1 de llment (Si llment nest pas ssur, on a dans
le NUREF de ce POINT le numro de rfrence de lextrmite 1 de llment).
ADP2 pointeur dans la B.D. sur le POINT extrmite 2 de llment ou le dernier POINT de la SPLINE. (Si
llment nest pas ssure, on a dans le NUREF de ce POINT le numro de rfrence de lextrmite 2 de
llment).
NBNODE est le nombre de points intermdiaires de llment (extrmits comprises).
RAISON est la raison de la progression gomtrique rpartissant les NBNODE-2 points de lextrmit 1
lextrmit 2.
RT n0123456789

54

Eric Saltel, Frdric Hecht

CONX(2) pointeurs dans la B.D. Il permet le chanage circulaire des lments dune mme composante
connexe. Pour un mme lment, il y a deux et seulement deux composantes connexes qui contiennent
cet lment : la composante qui est gauche et celle qui est droite (La droite et la gauche sont des
notions relatives au sens de parcourt de llment). Il y a donc deux chanages symboliss par : CONXG
et CONXD.
CNX(2) indique le CONX utiliser pour llment suivant (CONXG ou CONXD) selon que CNX vaut
GAUCHE/DROIT (GAUCHE=1, DROIT=2)(parameter).
COMPOS(2) pointeurs inverses vers les deux composantes auxquelles appartient llment. CNXG est relatif
CONXG et COMPOSG ( Ils nexistent que pour les ARCS et les SEGMENTS). CNXD est relatif
CONXD et COMPOSD ( Ils nexistent que pour les ARCS et les SEGMENTS).
ADJABD Tte de liste des lments passant par le point (Il nexiste que pour les POINTS). (Voir description
de cette liste plus loin).

INRIA

Emc2

A.2.1

55

Description de la liste des lments passant par le point i.

La tte de la liste des lments passant par un point est ADJABD.


)9% +9'
),&&,' ), + )*%' %

(8%9 +9'
),&&,' ), + )*%' %

'*%&%9 +9'
),&&,' ), + )*%' %


1 ;% < ---- 








$

$------------ 
$

$------------- 











--




-------- 
$
    






9* ( + 38'9%'
(&&  0 0 ( 3
( + 3+9' ),&&,'
.------------ 
), + )*%' %
+9' (  0 0 ; ! * "  <

$



/









%+

Fig. A.3 Description de la liste des lments passant par le point i.

A.2.2

Description de la liste des composantes

La tte de la liste des composantes est COMP.


$ *%'  )*7,5 ( 3 !"
 ;+9' ,)),',' , 5'' 5*9)*&,' <

 $ *%'  )*7,5 ( 3 56,%,4 ( (*9,%

 ;5*9)*&,' %'% * 8'% <




5*9)*&,' 
5*9)*&,' 



----- 






--------- 
$

$---------- 
$

$---------- 
!"------------ 











/





-------- 
$
 







(%: &% + 3* (*%'
,(&&  0 0 ( )9% .------------ 
5*995 + )9%
+9' ( 5'' 5*9)*&,'
+9' , (*%' *
, 4,56

Fig. A.4 Description de la liste des composantes

RT n0123456789

5*9)*&,' 
$




/


 %+






% ( +%&'

56

Eric Saltel, Frdric Hecht

A.2.3

Description de la liste des domaines

La tte de la liste des domaines est SDOMN.



" --- 


(*9,% 

(*9,% 









$






$----------- 



$


7



$----------- 



(*9,% 
$


7


 %+






------.----
/





 







------  $  $-------  $  $-------  $  $-------  $  %+ 
  

  

  

  









/
/
/
--------
)*%' 7&
)*%' 7&
)*%' 7&

5*9)*&,'
5*9)*&,'
5*9)*&,'
;8'% <
;%'%  <
;%'%  <

/












$---------- 
$
 $---------- 
$
 %+ 
------  $
 







 







/
/
---------
)*%' 7&  0 0
)*%' 7&  0 0
;+9' %'%  <
;+9' %'%  <

/













 $----------  $  $------  $  $--- ------  "  $--------- 






  

  
 




/
/
/
9* (
%,4+&
&*& (*9,%
* ?,(,4+&
)*%' 7&  0 0 )*%' 7&  0 0 

* ?,(,4+&
(@' (  5*' % (  5*'

5*)&

-----------------------.--------------------------.--------






/

$-------------   
 %+

----   






! 
 # 

Fig. A.5 Description de la liste des domaines

A.3

Description des B.D. pour lapplication EDIT_MESH

La base de donnes est la mme que dans lapplication PREP_MESH, et la structure de donne SD_MESH
est forme comme suit :
nbs est le numro du dernier sommet
nbt est le numro du dernier triangle
nba est le nombre dartes qui sont sur des courbes (segment, arc, spline) que lon appellera arte frontires
nbsd est le nombre de sous-domaines
nbsrft est le nombre de sommets rfrencs par les lments
nbtria est le nombre de triangles
nbquad est le nombre de quadrangles
nbtrou est le nombre de trous dans le maillage
freetr est la tte de la liste des triangles dtruits
finbd3 est le numro du dernier lment de BD de PREP_MESH
Les Sommets sont dnis avec les 4 tableaux en parallle suivants :
cr(1 :2,nbs) est le tableau des coordonnes des sommets.
nsorig(1 :nbs) est le tableau donnant le numro du sommet dorigine pour les sommets qui sont sur une
ssure (les coordonnes relles du sommet i sont cr(1 : 2, nsorig(i)), cr(1 : 2, i) sont des coordonnes
ne servant qu la visualisation de la ssure.
Remarque : si le sommet i nest pas sur une ssure, on a nsorig(i) = i.
INRIA

Emc2

57

abcurv(1 :nbs) est :


0 si le sommet nest pas sur une courbe (segment, arc, spline), (le sommet est interne un sousdomaine),
abscisse du point sur la courbe si ce sommet nest pas une extrmit de la courbe, 0 pour les
extrmits de courbe. remarque : les courbes sont toujours paramtres de 0 1.
refs(1 :nbs) est le tableau donnant : le numro dans BD de llment (point, segment, arc, spline) supportant le sommet si il existe , sinon 0.
Remarque : si le sommet est une extrmit de courbe alors llment choisi sera le point extemit
de courbe (c.f. ADP1 et ADP2 (Appendice A.2))
Les lments finis sont des triangles ou des quadrangles qui sont reprsents de manire interne uniquement
avec triangles auxquels on a ajout la notion darte visible ou non an de tracer les quadrangles. Les
tableaux dnissant les triangles sont :
nsea(1 :6,nbt) dnit pour chaque triangle les sommets et les artes ou les triangles adjacents si nsea(1, ie) <
1 alors le triangle ie nexiste pas et ref t(ie) donne le triangle dtruit suivant, sinon le triangle ie
existe et on a :
nsea(1 : 3, ie) donne pour chaque triangle les trois numros de sommets tournant dans le sens
trigonomtrique.
def
di = nsea(i, ie), i = 4, 5, 6, les 3 artes ai du triangle numrotes de 4 6 ont pour sommets
nsorig(nsea(i 3, ie)) et (nsorig(nsea(mod(i, 3) + 1, ie)).
si di < 0 alors larte est frontire, et est dnie dans aretdb, et a pour numro di ;
sinon larte est interne et di = 8 ta + ata o ta est le numro du triangle adjacent larte et
ata est le numro de larte dans ta .
anovue(1 :nbt) donne pour chaque triangle la visibilit de ses 3 artes, si anovue(i) est gal :
0 toutes les artes du triangle i sont vues,
1 seule larte 4 du triangle i nest pas vue,
2 seule larte 5 du triangle i nest pas vue,
3 seule larte 6 du triangle i nest pas vue,
reft(1 :nbt) est :
soit le tableau des numros du sous-domaine contenant le triangle ;
soit le tableau des chanages des triangles dun sous domaine, (reft(ie) donne le triangle suivant
du sous-domaine, si ref t(ie) <> f insd = 230 ,voir aussi le tableau tetdt pour les ttse de liste des
sous-domaines).
Les artes frontires du maillages sont dnies comme suit :
aretbd(1 :2,nba) donne pour chaque arte ses 2 numro de sommets ;
def

areadj(gauche :droite,nba) : di = areadj(i, j), i = gauche, droite mme dnition que pour nsea ;
refa(nba) donne pour chaque arte ladresse dans la bd du support de celle-ci (le support existe toujours
par dnition).
Les sous-domaines sont dnis avec les tableaux suivants :
refsd(nbsd) donne les numros de rfrence des sous-domaines, si ref sd(i) = videsd = 230 alors le
sous-domaine nexiste pas.
trfsd(3,3,i) donne la transformation applique au sous domaine ptorsd(i) pour obtenir ce sous domaine
i(i 1, .., , nbsd)
strfsd(i) donne le signe de la transformation (exemple : -1 pour une symtrie par rapport une droite)
ptorsd(i) donne le numro sur le sous-domaine origine (si ptorsd(i)=i alors le sous-domaine i nest pas
transform (sous domaine original))
tetsd(nbsd) est un tableau donnant par sous-domaine le premier triangle de la liste des triangles de ce
sous-domaine (c.f ref t)
RT n0123456789

58

Eric Saltel, Frdric Hecht

A.4

Description des maillages AM, AM_FMT, AMDBA

Le maillage nest form que de triangles et peux tre dni avec les 2 entiers et les 4 tableaux suivants :
nbt est le nombre de triangles
nbs est le nombre de sommets
nu(1 :3,1 :nbt) est un tableau dentiers donnant pour chaque triangle les trois numros de sommets dans le
sens trigonomtrique.
c(1 :2,nbs) est un tableau de rels donnant les 2 coordonnes pour chaque sommet.
refs(nbs) est un tableau dentier donnant les numros de refrence des sommets.
reft(nbs) est un tableau dentier donnant les numros de refrence des triangles.
Remarque : les sommets non rfrencs par des triangles seront limins, la numrotation des sommets dans
ce cas sera compresse.

A.4.1

Le fichier AM

La lecture dun chier xxx.am est faite comme suit :


open(1,file=xxx.am,form=unformatted,status=old)
read (1) nbs,nbt
read (1)
+
((nu(i,j),i=1,3),j=1,nbt)
+
,((c(i,j),i=1,2),j=1,nbs)
+
,( reft(i),i=1,nbt)
+
,( refs(i),i=1,nbs)
close(1)

A.4.2

Le fichier AM_FMT

La lecture dun chier xxx.am_fmt est faite comme suit :


open(1,file=xxx.am_fmt,form=formatted,status=old)
read (1,*) nbs,nbt
read (1,*) ((nu(i,j),i=1,3),j=1,nbt)
read (1,*) ((c(i,j),i=1,2),j=1,nbs)
read (1,*) ( reft(i),i=1,nbt)
read (1,*) ( refs(i),i=1,nbs)
close(1)

A.4.3

Le fichier AMDBA

La lecture dun chier xxx.amdba est faite comme suit :


open(1,file=xxx.am_fmt,form=formatted,status=old)
read (1,*) nbs,nbt
read (1,*) (k,(c(i,k),i=1,2),refs(k),j=1,nbs)
read (1,*) (k,(nu(i,k),i=1,3),reft(k),j=1,nbt)
close(1)

INRIA

Index
() (changer les priorites), 20
* (la rptition), 20
%ANGLE, 21
%DISTANCE, 21
%LGINTR, 28
%NBINTR, 28
%NOMBRE, 21
%NUREF, 28, 30
%RAISON, 28
%RAPPORT, 21
%RAYON, 21
chelles, 17
cran, 4
tat du systme, 4, 21, 28
(CR)caractre retour chariot, 12, 13
, (lalternative)20
CONSTRUCTION, 49
+_PROCHE, 11
<...> = , 20
<contrainte>, 20
<point_coor>, 20
ANGLE, 21
ANGLE_MAX, 35, 36
ANGLE_MIN, 35, 36
ARETE, 11
ARRONDI, 24
BOUGER, 35
CHANGER, 26
COINS, 33
COMPLE_ARC, 25
COMPOSANTE, 30
CONSTRUCTION, 16, 19
CONTOURAGE, 25
COUPER, 26
C_MASQUE, 18
DEFISSURE, 30
DEF_DOMAI, 30
DELAUNAY, 35
DETRUIRE, 14
DISTANCE, 21
DOMAINE, 30, 31, 33
ECHELLE, 17
EDIT_MESH, 16, 34, 49, 50
EVALUER, 37, 38
EXTREM, 11
EXTREMITE, 31
FINIR, 13
FISSURE, 30

FISSURER, 36
FI_XY, 11, 21
FONDRE, 26
FRONTIERE, 35
GENERER, 33
HARD_COPY, 15
INTERIEUR, 30, 31
INTERPRETE, 16
INTERROGER, 14
INTERS, 11
INVERSER, 25
LGINTR, 28
LIGNE, 30
Lg_INTERVAL, 29
MARK_ELEMENT, 35
MILIEU, 11
MODIF_REF, 36
NBINTR, 28
NB_INTERVAL, 29
NOMBRE, 21
NUREF, 28
ORIGINAUX, 36, 37
PRECEDENTE, 18
PREP_MESH, 16, 27
PT_TABL, 21
PT_XY, 11, 21
P_TABL, 11
QLCONQ, 11
QUADRANGLE, 31, 32
QUADRANGULER, 36
RAFRAICHIR, 17
RAISON, 28, 29
RAPPORT, 21
RAYON, 21
RAZ_BD, 15
REF_DOMAIN, 30
REF_LIGNE, 30
REF_NOEUDS, 29
REGULARISER, 35, 36
REGULIER, 33
RENUMEROTER, 37
RESTAURER, 15
RETIRER, 31
RETOURNER, 35
SAUVER, 14
SHELL, 16
SOFT_COPY, 15
SOMMET, 11
59

60

SUIVANTE, 18
SUPPRIMER, 35
S_DOM, 11, 34
TOUT, 30, 31, 36, 37
TRACE, 16, 50
TRIANGLE, 31
TRIANGULER, 36
VERIFIER, 31
VOIR, 33
VOIR_TOUT, 18
ZOOM +, 17
ZOOM -, 17
, } (item calculette) 13
( (item calculette) , 13
) (item calculette) , 13
* (item calculette) , 13
+ (item calculette) , 13
, (item calculette) , 13
- (item calculette) , 13
. (item calculette) , 13
/ (item calculette) , 13
1 (item calculette) , 12
2 (item calculette) , 12
3 (item calculette) , 12
4 (item calculette) , 13
5 (item calculette) , 13
6 (item calculette) , 13
7 (item calculette) , 13
8 (item calculette) , 13
9 (item calculette) , 13
<element>, 20
= (item calculette) , 13
ACOS (item calculette) , 13
AC (item calculette) , 13
AJOUTER
construction, 26
edit_mesh, 35
ARC
construction, 23
dsignation, 11
ASIN (item calculette) , 13
ATAN2 (item calculette) , 13
ATAN (item calculette) , 13
Ag (item calculette) , 13
CENTRE
construction, 23
dsignation, 11
CERCLE
construction, 23
dsignation, 11
COS (item calculette) , 13
C (item calculette) , 13
DROITE
construction, 22
dsignation, 11
Di (item calculette) , 13
ELEMENT, 11

Eric Saltel, Frdric Hecht

EXP (item calculette) , 13


E (item calculette) , 13
HOMOTHETIE
construction, 24
edit_mesh, 37
IDEM
construction, 23
prep_mesh, 28
INT (item calculette) , 13
LOG10 (item calculette) , 13
LOG (item calculette) , 13
Lg (item calculette) , 13
MOD (item calculette) , 13
NINT (item calculette) , 13
NO (item calculette) , 13
PI (item calculette) , 13
POINT
construction, 21
dsignation, 11
POP (item calculette) , 13
RETOURNE
construction, 25
ROTATION
construction, 24
edit_mesh, 37
Ra (item calculette) , 13
SEGMENT
construction, 23
dsignation, 11
SIN (item calculette) , 13
SPLINE
construction, 24
dsignation, 11
SYMETRIE
construction, 24
edit_mesh, 37
TAN (item calculette) , 13
TRANSLATION
gestion de lcran, 17
edit_mesh, 37
TRANSLAT
construction, 24
Y (item calculette) , 13
(rien), 20
am, 14, 58
am_fmt, 14, 58
amdba, 15, 58
apnopo, 27
application, 3
construction, 3
edit_mesh, 4
prep_mesh, 4
BD, 14, 51, 53
BD_MESH, 14, 56
INRIA

Emc2

calculette, 12
commande systme, 16
construction
darcs, 23
de cercles, 23
de droites, 22
de points, 21
de segments, 23
de splines, 24
emc2
<ARC>, 11, 19
<ARETE>, 11, 34
<CERCLE>, 11, 19
<COORD>, 10, 19, 34
<DROITE>, 11, 19
<ELEMENT>, 11, 34
<POINT>, 11, 19, 34
<SEGMENT>, 11, 19
<SOMMET>, 11, 34
<SPLINE>, 11, 19
<VALEUR>, 11, 12, 20, 21, 28, 30
<angle>, 21
<composante>, 28
<distance>, 21
<domaine>, 28
<element>, 27
<lg interval>, 28
<ligne>, 28
<modif etat>, 21, 28
<nb interval>, 28
<nombre>, 21
<numero de ref>, 28
<point>, 34
<raison>, 28
<rapport>, 21
<rayon>, 21
BANDE, 32
end, 13
entre sortie, 4
fentre graphique, 4
fin, 13
il y a des points confondus, 50
item, 11
ltat du systme
affichage, 4
la frontire est croise, 50
mta syntaxe, 20
masque, 17
menu, 3
application, 4
calculette, 4, 12
construction, 19
dsignation, 4
RT n0123456789

61

designation, 10
edit_mesh, 34
gnralits, 4
generalites, 13
gestion de lcran, 4, 17
prep_mesh, 27
NOPO, 14
quadrangle, 34
quit, 13
raccourci, 11
calculette, 12
dsignation, 12
S.D. maillage
am, 14, 58
am_fmt, 14, 58
amdba, 15, 58
mesh, 5, 14, 56
nopo, 5, 14
scratch, 4
stop, 13
subroutine
softcp, 15
addmsh, 15
ecrmsh, 15
exec, 16
hardcp, 15
transformations, 24
edit_mesh, 37
triangle, 34

62

Eric Saltel, Frdric Hecht

INRIA

Emc2

63

Bibliographie
[1] M.Bernadou and All, MODULEF : Une bibliothque modulaire dlments nis, INRIA,
1988.
[2] P.G.Ciarlet, The nite element method for elliptic problem, North Holland 1978.
[3] J.L.Coulomb, Maillages 2D et 3D. Experimentation de la triangulation de Delaunay, Confrence on Automated mesh generation and adpatation, Grenoble 1987.
[4] P.L George, MODULEF : Gnration automatique de maillage, Collection didactique no 2,
INRIA, 1988.
[5] P.L George, MODULEF : Construction et modication de maillages, RT no 104 INRIA 1988.
[6] P.L.George, F.Hermeline, Maillage de Delaunay dun polydre connexe en dimension d.
Extention un polyddre quelconque, CEA-N-90,1989.
[7] F.Hermeline, Triangulation automatique dun polydre en dimension N, RAIRO numerical
analysis vol 16, no 3 1982.
[8] A.Jameson, T.J.Baker, N.P.Weatherill, Calculation of inviscid transonic ow over a complete aircraft. AIAA 24th Aerospace Sciences Meeting, Reno Nevada, USA, 1986.
[9] R.Lohner, P.Parikh, Generation of 3-D unstructured grids by the advancing front method,
AIAA 26th Aerospace Sciences meeting, Reno Nevada, USA, 1988.
[10] A.Perronnet, Ttradrisation dun objet multi-materiaux ou de lexterieur dun objet, R no
88005, LAN 189,Universit Paris 6, 1988.
[11] J.Y.Talon, Algorithmes damlioration de maillages pour lments nis en 2 et 3 dimensions,
Confrence on Automated mesh generation and adaptation, Grenoble 1987.
[12] J.F.Thompson, A general three dimensional elliptic grid generation system on a composite
block-structure, Computer Methods in Applied Mechanics and Enginneering, Vol 64, 1987.

RT n0123456789

Unite de recherche INRIA Lorraine, Technopole de Nancy-Brabois, Campus scientifique,


` NANCY
615 rue du Jardin Botanique, BP 101, 54600 VILLERS LES
Unite de recherche INRIA Rennes, Irisa, Campus universitaire de Beaulieu, 35042 RENNES Cedex
Unite de recherche INRIA Rhone-Alpes, 655, avenue de lEurope, 38330 MONTBONNOT ST MARTIN
Unite de recherche INRIA Rocquencourt, Domaine de Voluceau, Rocquencourt, BP 105, 78153 LE CHESNAY Cedex
Unite de recherche INRIA Sophia-Antipolis, 2004 route des Lucioles, BP 93, 06902 SOPHIA-ANTIPOLIS Cedex

Editeur
INRIA, Domaine de Voluceau, Rocquencourt, BP 105, 78153 LE CHESNAY Cedex (France)
http://www.inria.fr
ISSN 0249-6399

Você também pode gostar