From: Paul RASCLE Date: Thu, 10 Dec 2015 11:27:12 +0000 (+0100) Subject: tutoriel etape maillage X-Git-Tag: SALOME_HYDRO_V1.0~47 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=3d427847251da3408f8db243129ba7d433f8610b;p=modules%2Fhydro.git tutoriel etape maillage --- diff --git a/doc/salome/tutorial/_static/Capture_CreateMesh.png b/doc/salome/tutorial/_static/Capture_CreateMesh.png new file mode 100644 index 00000000..a16c1c29 Binary files /dev/null and b/doc/salome/tutorial/_static/Capture_CreateMesh.png differ diff --git a/doc/salome/tutorial/_static/Capture_CreateSubMesh.png b/doc/salome/tutorial/_static/Capture_CreateSubMesh.png new file mode 100644 index 00000000..c7a96b6e Binary files /dev/null and b/doc/salome/tutorial/_static/Capture_CreateSubMesh.png differ diff --git a/doc/salome/tutorial/_static/Capture_HypothesisConstruction.png b/doc/salome/tutorial/_static/Capture_HypothesisConstruction.png new file mode 100644 index 00000000..43a105f3 Binary files /dev/null and b/doc/salome/tutorial/_static/Capture_HypothesisConstruction.png differ diff --git a/doc/salome/tutorial/_static/Capture_HypothesisLocalLength.png b/doc/salome/tutorial/_static/Capture_HypothesisLocalLength.png new file mode 100644 index 00000000..0643701d Binary files /dev/null and b/doc/salome/tutorial/_static/Capture_HypothesisLocalLength.png differ diff --git a/doc/salome/tutorial/_static/Capture_HypothesisNbSegments.png b/doc/salome/tutorial/_static/Capture_HypothesisNbSegments.png new file mode 100644 index 00000000..dc174ca3 Binary files /dev/null and b/doc/salome/tutorial/_static/Capture_HypothesisNbSegments.png differ diff --git a/doc/salome/tutorial/_static/Capture_MeshComputationSucceed.png b/doc/salome/tutorial/_static/Capture_MeshComputationSucceed.png new file mode 100644 index 00000000..dcb01013 Binary files /dev/null and b/doc/salome/tutorial/_static/Capture_MeshComputationSucceed.png differ diff --git a/doc/salome/tutorial/_static/Capture_OrderingSubMeshes.png b/doc/salome/tutorial/_static/Capture_OrderingSubMeshes.png new file mode 100644 index 00000000..87ddeab9 Binary files /dev/null and b/doc/salome/tutorial/_static/Capture_OrderingSubMeshes.png differ diff --git a/doc/salome/tutorial/_static/Capture_WarningOrder.png b/doc/salome/tutorial/_static/Capture_WarningOrder.png new file mode 100644 index 00000000..216324c3 Binary files /dev/null and b/doc/salome/tutorial/_static/Capture_WarningOrder.png differ diff --git a/doc/salome/tutorial/_static/mesh_edit.png b/doc/salome/tutorial/_static/mesh_edit.png new file mode 100644 index 00000000..60b0790e Binary files /dev/null and b/doc/salome/tutorial/_static/mesh_edit.png differ diff --git a/doc/salome/tutorial/_static/mesh_hypo_edit.png b/doc/salome/tutorial/_static/mesh_hypo_edit.png new file mode 100644 index 00000000..83d6ca80 Binary files /dev/null and b/doc/salome/tutorial/_static/mesh_hypo_edit.png differ diff --git a/doc/salome/tutorial/_static/mesh_init.png b/doc/salome/tutorial/_static/mesh_init.png new file mode 100644 index 00000000..10268a45 Binary files /dev/null and b/doc/salome/tutorial/_static/mesh_init.png differ diff --git a/doc/salome/tutorial/maillage.rst b/doc/salome/tutorial/maillage.rst index fddacca0..494270f0 100644 --- a/doc/salome/tutorial/maillage.rst +++ b/doc/salome/tutorial/maillage.rst @@ -20,7 +20,155 @@ Création du maillage ######################################### -blabla. +.. |mesh_init| image:: /_static/mesh_init.png + :align: middle + :width: 16pt + :height: 16pt + +.. |mesh_edit| image:: /_static/mesh_edit.png + :align: middle + :width: 16pt + :height: 16pt + +.. |mesh_hypo_edit| image:: /_static/mesh_hypo_edit.png + :align: middle + :width: 16pt + :height: 16pt + + +.. |Capture_CreateMesh| image:: /_static/Capture_CreateMesh.png + :align: middle + +.. |Capture_HypothesisConstruction| image:: /_static/Capture_HypothesisConstruction.png + :align: middle + +.. |Capture_CreateSubMesh| image:: /_static/Capture_CreateSubMesh.png + :align: middle + +.. |Capture_HypothesisLocalLength| image:: /_static/Capture_HypothesisLocalLength.png + :align: middle + +.. |Capture_HypothesisNbSegments| image:: /_static/Capture_HypothesisNbSegments.png + :align: middle + +.. |Capture_WarningOrder| image:: /_static/Capture_WarningOrder.png + :align: middle + +.. |Capture_OrderingSubMeshes| image:: /_static/Capture_OrderingSubMeshes.png + :align: middle + +.. |Capture_MeshComputationSucceed| image:: /_static/Capture_MeshComputationSucceed.png + :align: middle + + +Lorsque la géométrie est prête, nous activons le module de maillage, *SMESH*. + +Pour spécifier le maillage, on définit en général un algorithme par défaut avec son paramétrage : +dans SMESH, on parle des *hypothèses* de l'algorithme. + +Cet algorithme et ces hypothèses s'appliquent partout sauf modification portant sur une partie de +la géométrie (*sub shape*). + +On peut donc créer des sous maillages sur une face ou un groupe de faces, +une edge ou un groupe d'edges, pour définir des algorithmes et/ou des hypothèses spécifiques. + +Lors du maillage, la géométrie de la pièce à mailler est explorée en partant de la dimension 1 (edges), +puis la dimension 2 (faces), et enfin la dimension 3 (volumes). Ici nous n'avons pas de volumes. + +Les maillages de dimension 1 sont donc prioritaires sur ceux de dimension 2 et s'imposent à eux. + +Certains algorithmes gèrent simultanément plusieurs dimensions (dans notre cas, edges et faces). +Quand ces algorithmes tolèrent que l'on impose le maillage de certaines edges, +la définition de sous maillages de la ou des faces concernées sera prise en compte, sinon non. +De même, suivant l'algorithme choisi pour une face, l'onglet 1D du dialogue de maillage est actif on non. + +Il en résulte que, dans certains cas, pour certaines *sub shapes*, plusieurs algorithmes et/ou hypothèses +sont définis, et il faut alors établir des priorités. Ces situations sont détectées automatiquement +et l'utilisateur se voit proposer des choix. + +Ici, nous allons spécifier un maillage triangle par défaut sur l'ensemble du domaine, et particulariser +le maillage du lit mineur, pour obtenir des triangles allongés dans le sense de l'écoulement. + +Nous sélectionnons la géométrie *HYDRO_garonne_1* dans l'arbre d'étude, et lançons la définition du maillage : +menu *Mesh/Create Mesh* ou icône |mesh_init|. + +Dans le dialogue *Create Mesh*, nous choisissons l'algorithme de maillage *Netgen 1D-2D* qui va s'appliquer +par défaut sur l'ensemble de la géométrie. + + |Capture_CreateMesh| + +Il faut préciser les hypothèses de maillage : + +Nous cliquons sur le bouton actif dans la ligne *Hypothesis* pour choisir un type d'hypothèses, +et choisissons *Netgen 2D Parameters*. + +Nous prenons une taille maximum d'arète de 200 (mètres), et minimale de 50. Pour le taux de progression +de la taille des triangles, *Fineness*, nous prenons *Very Fine*, pour préserver la qualité des triangles. + + |Capture_HypothesisConstruction| + +Après avoir validé le dialogue d'hypothèses, nous validons la définiton du maillage avec le bouton *Apply and Close*. + +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*. + +Il est possible de le renommer soit directement, soit via le dialogue d'édition, à partir du menu contextuel. + +Toujours à partir du dialogue d'édition |mesh_edit|, il est possible changer l'algorithme, +ou de modifier les hypothèses : |mesh_hypo_edit|. + +Nous sélectionnons le maillage dans l'arbre d'étude et créons un sous maillage (menu contextuel *Create Sub Mesh*). + +Dans le dialogue qui s'affiche, il faut renseigner la géométrie, en cliquant dans l'arbre d'étude sur la face *litMineur* +contenue dans *HYDRO_garonne_1*. Pour cette selection, il faut que la flèche du dialogue sur la ligne *Geometry* soit active. +Elle l'est par défaut. + +Il est utile de renommer tout de suite le sous-maillage (première ligne du dialogue). + +Nous choisissons l'algorithme *Quadrangle (Medial Axis projection)*. Cet algorithme reconstruit un axe hydraulique fictif, +découpe la rivière en quadrangles, normalement à l'axe hydraulique. + + |Capture_CreateSubMesh| + +Il reste à définir la longeur des quadrangles, leur nombre dans la section de la rivière. +Dans l'onglet *1D* du dialogue du sous maillage *litMineur*, nous choisissons l'algorithme *Wire Discretisation* +l'hypothèse *Local Length*, et prenons une longueur de 100 (mètres). Il est utile de renommer l'hypothèse à ce stade. + +**remarque** : Les hypothèses et algorithmes peuvent être partagés entre plusieurs maillages et sous maillages, +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 +significatifs pour les identifier. + + |Capture_HypothesisLocalLength| + +Nous validons la définiton du sous maillage avec le bouton *Apply and Close*. + +La longueur que nous avons défini s'applique à la fois longitudinalement et transversalement. Pour contrôler le +nombre de mailles transversales, il faut un nouveau sous maillage, appliqué au groupe d'edges *SectionsGaronne*. + +Nous créons donc un sous maillage sur *SectionsGaronne*, en prenant cette fois comme algorithme *Wire Discretisation* +et comme hypothèse *Nb. Segments*, avec 8 segments distribués régulièrement. + + |Capture_HypothesisNbSegments| + +Nous validons la définiton du sous maillage avec le bouton *Apply and Close*. +Il faut établir une priorité entre deux définitions : + + |Capture_WarningOrder| |Capture_OrderingSubMeshes| + +Nous sélectionnons *SectionsGaronne* pour le faire remonter en tête de liste. + +Après avoir validé, le maillage est prêt pour être généré. +Pour générer le maillage, il faut le selectionner, et utiliser le menu contextuel *Compute*. +Une boite d'information s'affiche à la fin du calcul et donne des statistiques élémentaires. + +|Capture_MeshComputationSucceed| + +L'icône du maillage a changé dans l'arbre d'étude, et indique l'état *généré correctement*. + +Le maillage n'est pas encore fini pour nos besoins, mais nous pouvons déjà le voir. +Pour l'afficher, *show* puis *FitAll* et vue de dessus (*-OZ*) dans la barre d'icônes du viewer 3D. + +decoupage des quadrangles + +identification des groupes d'éléments et de noeuds. -  :ref:`ref_exempleInondation`