Salome HOME
tutoriel etape maillage
[modules/hydro.git] / doc / salome / tutorial / maillage.rst
1 ..
2    Copyright (C) 2015-2016 EDF
3
4    This file is part of SALOME HYDRO module.
5
6    SALOME HYDRO module is free software: you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation, either version 3 of the License, or
9    (at your option) any later version.
10
11    SALOME HYDRO module is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with SALOME HYDRO module.  If not, see <http://www.gnu.org/licenses/>.
18
19 #########################################
20 Création du maillage
21 #########################################
22
23 .. |mesh_init| image:: /_static/mesh_init.png
24    :align: middle
25    :width: 16pt
26    :height: 16pt
27
28 .. |mesh_edit| image:: /_static/mesh_edit.png
29    :align: middle
30    :width: 16pt
31    :height: 16pt
32
33 .. |mesh_hypo_edit| image:: /_static/mesh_hypo_edit.png
34    :align: middle
35    :width: 16pt
36    :height: 16pt
37
38
39 .. |Capture_CreateMesh| image:: /_static/Capture_CreateMesh.png
40    :align: middle
41
42 .. |Capture_HypothesisConstruction| image:: /_static/Capture_HypothesisConstruction.png
43    :align: middle
44
45 .. |Capture_CreateSubMesh| image:: /_static/Capture_CreateSubMesh.png
46    :align: middle
47
48 .. |Capture_HypothesisLocalLength| image:: /_static/Capture_HypothesisLocalLength.png
49    :align: middle
50
51 .. |Capture_HypothesisNbSegments| image:: /_static/Capture_HypothesisNbSegments.png
52    :align: middle
53
54 .. |Capture_WarningOrder| image:: /_static/Capture_WarningOrder.png
55    :align: middle
56
57 .. |Capture_OrderingSubMeshes| image:: /_static/Capture_OrderingSubMeshes.png
58    :align: middle
59
60 .. |Capture_MeshComputationSucceed| image:: /_static/Capture_MeshComputationSucceed.png
61    :align: middle
62
63
64 Lorsque la géométrie est prête, nous activons le module de maillage, *SMESH*.
65
66 Pour spécifier le maillage, on définit en général un algorithme par défaut avec son paramétrage : 
67 dans SMESH, on parle des *hypothèses* de l'algorithme.
68
69 Cet algorithme et ces hypothèses s'appliquent partout sauf modification portant sur une partie de
70 la géométrie (*sub shape*).
71
72 On peut donc créer des sous maillages sur une face ou un groupe de faces, 
73 une edge ou un groupe d'edges, pour définir des algorithmes et/ou des hypothèses spécifiques.
74
75 Lors du maillage, la géométrie de la pièce à mailler est explorée en partant de la dimension 1 (edges),
76 puis la dimension 2 (faces), et enfin la dimension 3 (volumes). Ici nous n'avons pas de volumes.
77
78 Les maillages de dimension 1 sont donc prioritaires sur ceux de dimension 2 et s'imposent à eux.
79
80 Certains algorithmes gèrent simultanément plusieurs dimensions (dans notre cas, edges et faces).
81 Quand ces algorithmes tolèrent que l'on impose le maillage de certaines edges,
82 la définition de sous maillages de la ou des faces concernées sera prise en compte, sinon non.
83 De même, suivant l'algorithme choisi pour une face, l'onglet 1D du dialogue de maillage est actif on non.
84
85 Il en résulte que, dans certains cas, pour certaines *sub shapes*, plusieurs algorithmes et/ou hypothèses 
86 sont définis, et il faut alors établir des priorités. Ces situations sont détectées automatiquement
87 et l'utilisateur se voit proposer des choix.
88
89 Ici, nous allons spécifier un maillage triangle par défaut sur l'ensemble du domaine, et particulariser
90 le maillage du lit mineur, pour obtenir des triangles allongés dans le sense de l'écoulement.
91
92 Nous sélectionnons la géométrie *HYDRO_garonne_1* dans l'arbre d'étude, et lançons la définition du maillage :
93 menu *Mesh/Create Mesh* ou icône |mesh_init|.
94
95 Dans le dialogue *Create Mesh*, nous choisissons l'algorithme de maillage *Netgen 1D-2D* qui va s'appliquer
96 par défaut sur l'ensemble de la géométrie. 
97
98   |Capture_CreateMesh|
99
100 Il faut préciser les hypothèses de maillage : 
101
102 Nous cliquons sur le bouton actif dans la ligne *Hypothesis* pour choisir un type d'hypothèses,
103 et choisissons *Netgen 2D Parameters*.
104
105 Nous prenons une taille maximum d'arète de 200 (mètres), et minimale de 50. Pour le taux de progression
106 de la taille des triangles, *Fineness*, nous prenons *Very Fine*, pour préserver la qualité des triangles.
107
108   |Capture_HypothesisConstruction|
109
110 Après avoir validé le dialogue d'hypothèses, nous validons la définiton du maillage avec le bouton *Apply and Close*.
111
112 Le maillage apparaît sous le nom *Mesh_1* dans l'arbre avec une icône indiquant son statut : *non généré, ou incomplet*.
113
114 Il est possible de le renommer soit directement, soit via le dialogue d'édition, à partir du menu contextuel.
115
116 Toujours à partir du dialogue d'édition |mesh_edit|, il est possible changer l'algorithme, 
117 ou de modifier les hypothèses : |mesh_hypo_edit|.
118
119 Nous sélectionnons le maillage dans l'arbre d'étude et créons un sous maillage (menu contextuel *Create Sub Mesh*).
120
121 Dans le dialogue qui s'affiche, il faut renseigner la géométrie, en cliquant dans l'arbre d'étude sur la face *litMineur*
122 contenue dans *HYDRO_garonne_1*. Pour cette selection, il faut que la flèche du dialogue sur la ligne *Geometry* soit active.
123 Elle l'est par défaut.
124
125 Il est utile de renommer tout de suite le sous-maillage (première ligne du dialogue).
126
127 Nous choisissons l'algorithme *Quadrangle (Medial Axis projection)*. Cet algorithme reconstruit un axe hydraulique fictif,
128 découpe la rivière en quadrangles, normalement à l'axe hydraulique. 
129
130   |Capture_CreateSubMesh|
131
132 Il reste à définir la longeur des quadrangles, leur nombre dans la section de la rivière.
133 Dans l'onglet *1D* du dialogue du sous maillage *litMineur*, nous choisissons l'algorithme *Wire Discretisation*
134 l'hypothèse *Local Length*, et prenons une longueur de 100 (mètres). Il est utile de renommer l'hypothèse à ce stade.
135
136 **remarque** : Les hypothèses et algorithmes peuvent être partagés entre plusieurs maillages et sous maillages,
137 ce qui permet de modifier en un seul endroit tout ce qui doit rester cohérent. du coup, il est utile d'avoir des noms 
138 significatifs pour les identifier.
139
140   |Capture_HypothesisLocalLength|
141
142 Nous validons la définiton du sous maillage avec le bouton *Apply and Close*.
143
144 La longueur que nous avons défini s'applique à la fois longitudinalement et transversalement. Pour contrôler le 
145 nombre de mailles transversales, il faut un nouveau sous maillage, appliqué au groupe d'edges *SectionsGaronne*.
146
147 Nous créons donc un sous maillage sur *SectionsGaronne*, en prenant cette fois comme algorithme *Wire Discretisation*
148 et comme hypothèse *Nb. Segments*, avec 8 segments distribués régulièrement.
149
150   |Capture_HypothesisNbSegments|
151
152 Nous validons la définiton du sous maillage avec le bouton *Apply and Close*.
153 Il faut établir une priorité entre deux définitions :
154
155   |Capture_WarningOrder|  |Capture_OrderingSubMeshes|
156
157 Nous sélectionnons *SectionsGaronne* pour le faire remonter en tête de liste.
158
159 Après avoir validé, le maillage est prêt pour être généré.
160 Pour générer le maillage, il faut le selectionner, et utiliser le menu contextuel *Compute*.
161 Une boite d'information s'affiche à la fin du calcul et donne des statistiques élémentaires.
162
163 |Capture_MeshComputationSucceed|
164
165 L'icône du maillage a changé dans l'arbre d'étude, et indique l'état *généré correctement*.
166
167 Le maillage n'est pas encore fini pour nos besoins, mais nous pouvons déjà le voir.
168 Pour l'afficher, *show* puis *FitAll* et vue de dessus (*-OZ*) dans la barre d'icônes du viewer 3D.
169
170 decoupage des quadrangles
171
172 identification des groupes d'éléments et de noeuds.
173
174   :ref:`ref_exempleInondation`