From: Paul RASCLE Date: Wed, 4 Nov 2020 14:14:42 +0000 (+0100) Subject: tutorial improvement on simple mesh extension X-Git-Tag: SH_V2_2_0~10 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=5adccc128c8d2a2d3eb7d4b2c762d108e0cf380f;p=modules%2Fhydro.git tutorial improvement on simple mesh extension --- diff --git a/doc/salome/tutorial/_static/casCalculExtensionSimple_0.png b/doc/salome/tutorial/_static/casCalculExtensionSimple_0.png new file mode 100644 index 00000000..b0bcd489 Binary files /dev/null and b/doc/salome/tutorial/_static/casCalculExtensionSimple_0.png differ diff --git a/doc/salome/tutorial/_static/casCalculExtensionSimple_1.png b/doc/salome/tutorial/_static/casCalculExtensionSimple_1.png new file mode 100644 index 00000000..99cce1f9 Binary files /dev/null and b/doc/salome/tutorial/_static/casCalculExtensionSimple_1.png differ diff --git a/doc/salome/tutorial/_static/dialogMeshEdgesToShapes.png b/doc/salome/tutorial/_static/dialogMeshEdgesToShapes.png index f9969185..f58bb35f 100644 Binary files a/doc/salome/tutorial/_static/dialogMeshEdgesToShapes.png and b/doc/salome/tutorial/_static/dialogMeshEdgesToShapes.png differ diff --git a/doc/salome/tutorial/extensionMaillageExistant.rst b/doc/salome/tutorial/extensionMaillageExistant.rst index d2c757cb..ebc19e92 100644 --- a/doc/salome/tutorial/extensionMaillageExistant.rst +++ b/doc/salome/tutorial/extensionMaillageExistant.rst @@ -35,6 +35,12 @@ Extension d'un maillage existant .. |casCalculExtensionSimple| image:: /_static/casCalculExtensionSimple.png :align: middle +.. |casCalculExtensionSimple_0| image:: /_static/casCalculExtensionSimple_0.png + :align: middle + +.. |casCalculExtensionSimple_1| image:: /_static/casCalculExtensionSimple_1.png + :align: middle + .. |geometrieExtensionSimple| image:: /_static/geometrieExtensionSimple.png :align: middle @@ -115,24 +121,29 @@ Lors de la reprise d'anciennes études, il est fréquent de vouloir agrandir le tout en gardant si possible le maillage existant. Nous supposons ici que nous ne disposons que d'un maillage au format MED, avec éventuellement des groupes à conserver. Ce maillage doit être remis dans le système de coordonnées de la nouvelle étude, ici Lambert 93. +Nous pouvons garder un décalage de l'origine. Le script */bin/salome/test/HYDRO/g022_extensionSimpleComplete.py* permet de générer ce maillage, pour les besoins du tutoriel. +Ce maillage est alors disponible ici : */bin/salome/test/HYDRO/tmp_test/garonne_2.med*. +Il est en coordonnées Lambert 93, avec une origine à (430000, 6350000). |maillageExistant| +Une fois ce maillage généré, nous poursuivons dans une nouvelle étude SALOME, pour repartir d'un module HYDRO vierge. + Afin de pouvoir facilement dessiner les contours de l'extension dans Qgis ou avec le module HYDRO, nous générons des shapefiles correspondants aux frontières du domaine existant, -et des groupes présents dans le maillage. +et des groupes d'edges présents dans le maillage. Pour cela, nous utilisons le dialogue *Mesh edges to shapes* du module HYDRO (menu *HYDRO / Python plugins / Mesh edges to shapes*). |dialogMeshEdgesToShapes| Les coordonnées de l'origine du maillage doivent être correctement renseignées pour un positionnement correct des shapes générées. -Ici, le maillage est en coordonnées Lambert 93, avec une origine à (430000, 6350000). +Comme indiqué précédemment, le maillage est en coordonnées Lambert 93, avec une origine à (430000, 6350000). Le répertoire de sortie contiendra les shapes et le maillage, enrichi d'un groupe correspondant aux mailles de bord (*FreeBorders*). -Dans Qgis, nous importons les shapefiles *garonne_2_brd_FreeBorders.shp* et *garonne_2_brd_FreeBorders_pts.shp* +Dans Qgis, nous pouvons importer les shapefiles *garonne_2_brd_FreeBorders.shp* et *garonne_2_brd_FreeBorders_pts.shp* correspondants aux arêtes et noeuds des limites du maillage. |qgisDomaineInitial| @@ -145,14 +156,30 @@ Le contour du nouveau domaine est dessiné dans Qgis ou HYDRO. Un exemple de sha |contourExtensionSimple| +Il faut tout de suite faire le changement de repère local dans la nouvelle étude HYDRO : origine à (430000, 6350000). +Ce repère local doit être **strictement identique** au repère local du maillage existant, pour permettre la création d'une extension. + Il est souvent pratique d'importer la shapefile du contour du domaine d'origine en tant que spline (éditer la polyligne pour la transformer en spline). Nous ne tiendrons pas compte des éventuelles îles (régions insubmersibles) du domaine initial. -Nous créons un cas de calcul avec deux objets naturels, le domaine étendu, et le domaine initial, **marqué en tant que région insubmersible**. -Lors de la création du cas, il faut inclure les groupes de bord générés automatiquement, pour ne pas avoir à les recréer lors de l'étape de géométrie. +* **Remarque:** La transformation du contour en spline facilite la sélection de groupe d'edges dans GEOM, si on a besoin d'en faire + (une seule ligne à selectionner plutot que beaucoup de segments), mais, l'algorithme de maillage dans lequel on associe + la ligne de contour au maillage d'origine échoue parfois avec certaines splines. Il faut alors reprendre le problème + en changeant la nature de la polyligne. + +Nous créons deux objets naturels, le domaine étendu, et le domaine initial, **marqué en tant que région insubmersible**. +Il ne faut pas tenir compte de l'ilôt dans le maillage existant. |casCalculExtensionSimple| +Nous créons un cas de calcul, en mode manuel, en ne prenant que les deux objets naturels ci-dessus. + + |casCalculExtensionSimple_0| + +Lors de la création du cas, il faut inclure les groupes de bord générés automatiquement, pour ne pas avoir à les recréer lors de l'étape de géométrie. + + |casCalculExtensionSimple_1| + Après export dans GEOM, la géométrie ressemble à ceci : |geometrieExtensionSimple| @@ -177,7 +204,8 @@ Après calcul, le maillage obtenu ressemble à ceci : |maillageExtensionSimpleResult| -Le maillage obtenu est conforme, il contient les groupes du maillage d'origine. Il reste à inverser les nouvelles mailles, +Le maillage obtenu est conforme, il contient les groupes du maillage d'origine. Selon le sens de dessin des contours, +les nouvelles mailles peuvent être à l'envers, comme dans l'image ci-dessus. Il reste alors à inverser les nouvelles mailles, détecter et corriger les triangles de bord surcontraints, et, bien sûr, introduire d'éventuels raffinements dans l'extension pour avoir un maillage plus réaliste. @@ -213,7 +241,8 @@ il faut selectionner une des sections amont (en vert), et à l'aide du menu cont |limiteExtensionAmont| -**Attention**, il vaut mieux que la section correspondant au maillage d'origine soit transformée en spline pour faciliter sa manipulation par la suite. +**Attention**, il vaut mieux que la section correspondant au maillage d'origine soit transformée en spline pour faciliter sa manipulation par la suite +*(voir la remarque du paragraphe précédent sur l'intérêt et les inconvénients de cette transformation)*. Nous pouvons alors créer un cas de calcul très simple avec un seul objet naturel construit sur le contour amont que l'on vient de produire. Après export dans GEOM, on recrée un groupe correspondant à la limite du maillage d'origine, en vert ci-dessous. @@ -255,11 +284,11 @@ en décochant les options *"split mesh edges shapefile"* et *"Split shapefile to Après import de la shapefile ajustée au premier maillage, nous réutilisons le dialogue *Adjust shapefile to mesh* avec le contour du deuxième maillage (et la shapefile ajustée), en décochant toujours les options *"split mesh edges shapefile"* et *"Split shapefile to adjust"*. -Nous pouvons importer la shapefile ajustée au deuxième maillage. +Nous pouvons importer la shapefile ajustée au deuxième maillage. **Dans cet exemple, nous ne transformons aucune des polylignes importées en spline**, +une des splines posant problème à l'algorithme de maillage dans ce cas précis (il est toujours possible de refaire un test avec spline). Nous créons alors trois objets naturels avec la shapefile ajustée du raccord des domaines, et avec les deux domaines d'origine, **marqués en tant que régions insubmersibles**. -Notons que, dans cet exemple, aucune polyligne importée n'a été transformée en spline. |troisRegions| @@ -310,7 +339,7 @@ L'opération de découpe n'est accessible qu'en script Python, depuis la console Ici, - * *meshToCut* : le chemin complet du maillage à découper, translaté dans le même repère que le polygone de découpe, + * *meshToCut* : le chemin complet du maillage à découper, translaté dans le même repère que le polygone de découpe, exemple :"/home/user/meshOrig.med" * *cutShape* : le chemin complet de la shapefile du polygone de découpe, * *meshCut* : le chemin complet du maillage découpé, retranslaté. * *offsetX, offsetY* : les coordonnées du repère local du maillage découpé. diff --git a/doc/salome/tutorial/interpolationZ.rst b/doc/salome/tutorial/interpolationZ.rst index faaf79ad..bc7b554d 100644 --- a/doc/salome/tutorial/interpolationZ.rst +++ b/doc/salome/tutorial/interpolationZ.rst @@ -28,7 +28,7 @@ Interpolation en Z .. |genereInterpolz| image:: /_static/genereInterpolz.png :align: middle -.. |Bottom| image:: /_static/Bottom.png +.. |BottomImage| image:: /_static/Bottom.png :align: middle .. |Capture_meshZ| image:: /_static/Capture_meshZ.png @@ -123,7 +123,7 @@ Il faut sélectionner le champ et utiliser l'icone *scalar map*. Le champ s'affiche dans la vue 3D. Le menu contextuel de la vue 3D propose la commande *Representation / Surface with Edges* - |Bottom| + |BottomImage| Visualisation dans le module SMESH ---------------------------------- diff --git a/doc/salome/tutorial/modifBathy.rst b/doc/salome/tutorial/modifBathy.rst index f6fc467f..475abbf0 100644 --- a/doc/salome/tutorial/modifBathy.rst +++ b/doc/salome/tutorial/modifBathy.rst @@ -36,12 +36,13 @@ En Python, depuis la console embarquée de SALOME, ou depuis un shell SALOME : : Ici, - * *meshFileIn* : le chemin complet du maillage d'origine avec son champ 'BOTTOM' à modifier, + * *meshFileIn* : le chemin complet du maillage d'origine avec son champ 'BOTTOM' à modifier, exemple :"/home/user/meshOrig.med" * *meshFileOut* : le chemin complet du maillage avec le nouveau champ 'BOTTOM', * *newBathy* : le chemin complet du nouveau fichier de bathymétrie, * *'litMineur'* : le nom du groupe de mailles dont on modifie la bathymétrie, * *Xoffset, Yoffset* : les coordonnées du repère local, optionnelles, si non nulles. + .. only:: html   :ref:`ref_outilsReprise`