2 Copyright (C) 2015-2016 EDF
4 This file is part of SALOME HYDRO module.
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.
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.
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/>.
19 #########################################
21 #########################################
23 .. |mesh_init| image:: /_static/mesh_init.png
28 .. |mesh_edit| image:: /_static/mesh_edit.png
33 .. |mesh_hypo_edit| image:: /_static/mesh_hypo_edit.png
39 .. |Capture_CreateMesh| image:: /_static/Capture_CreateMesh.png
42 .. |Capture_HypothesisConstruction| image:: /_static/Capture_HypothesisConstruction.png
45 .. |Capture_CreateSubMesh| image:: /_static/Capture_CreateSubMesh.png
48 .. |Capture_HypothesisLocalLength| image:: /_static/Capture_HypothesisLocalLength.png
51 .. |Capture_HypothesisNbSegments| image:: /_static/Capture_HypothesisNbSegments.png
54 .. |Capture_WarningOrder| image:: /_static/Capture_WarningOrder.png
57 .. |Capture_OrderingSubMeshes| image:: /_static/Capture_OrderingSubMeshes.png
60 .. |Capture_MeshComputationSucceed| image:: /_static/Capture_MeshComputationSucceed.png
64 Lorsque la géométrie est prête, nous activons le module de maillage, *SMESH*.
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.
69 Cet algorithme et ces hypothèses s'appliquent partout sauf modification portant sur une partie de
70 la géométrie (*sub shape*).
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.
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.
78 Les maillages de dimension 1 sont donc prioritaires sur ceux de dimension 2 et s'imposent à eux.
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.
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.
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.
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|.
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.
100 Il faut préciser les hypothèses de maillage :
102 Nous cliquons sur le bouton actif dans la ligne *Hypothesis* pour choisir un type d'hypothèses,
103 et choisissons *Netgen 2D Parameters*.
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.
108 |Capture_HypothesisConstruction|
110 Après avoir validé le dialogue d'hypothèses, nous validons la définiton du maillage avec le bouton *Apply and Close*.
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*.
114 Il est possible de le renommer soit directement, soit via le dialogue d'édition, à partir du menu contextuel.
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|.
119 Nous sélectionnons le maillage dans l'arbre d'étude et créons un sous maillage (menu contextuel *Create Sub Mesh*).
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.
125 Il est utile de renommer tout de suite le sous-maillage (première ligne du dialogue).
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.
130 |Capture_CreateSubMesh|
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.
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.
140 |Capture_HypothesisLocalLength|
142 Nous validons la définiton du sous maillage avec le bouton *Apply and Close*.
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*.
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.
150 |Capture_HypothesisNbSegments|
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 :
155 |Capture_WarningOrder| |Capture_OrderingSubMeshes|
157 Nous sélectionnons *SectionsGaronne* pour le faire remonter en tête de liste.
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.
163 |Capture_MeshComputationSucceed|
165 L'icône du maillage a changé dans l'arbre d'étude, et indique l'état *généré correctement*.
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.
170 decoupage des quadrangles
172 identification des groupes d'éléments et de noeuds.
174 :ref:`ref_exempleInondation`