Salome HOME
tutorial fuion of 2 overlapping meshes
authorPaul RASCLE <paul.rascle@openfields.fr>
Sun, 4 Oct 2020 14:14:44 +0000 (16:14 +0200)
committerYOANN AUDOUIN <B61570@dsp0851742.postes.calibre.edf.fr>
Fri, 30 Oct 2020 16:08:46 +0000 (17:08 +0100)
doc/salome/tutorial/_static/deuxDomainesRecouvrants.png [new file with mode: 0644]
doc/salome/tutorial/_static/domaineDoubleEnglobant.png [new file with mode: 0644]
doc/salome/tutorial/_static/geometrieDoubleEnglobante.png [new file with mode: 0644]
doc/salome/tutorial/_static/maillageDecoupe.png [new file with mode: 0644]
doc/salome/tutorial/_static/maillageDoubleEnglobant.png [new file with mode: 0644]
doc/salome/tutorial/_static/polygoneDecoupe.png [new file with mode: 0644]
doc/salome/tutorial/extensionMaillageExistant.rst
doc/salome/tutorial/modifBathy.rst

diff --git a/doc/salome/tutorial/_static/deuxDomainesRecouvrants.png b/doc/salome/tutorial/_static/deuxDomainesRecouvrants.png
new file mode 100644 (file)
index 0000000..b531c4d
Binary files /dev/null and b/doc/salome/tutorial/_static/deuxDomainesRecouvrants.png differ
diff --git a/doc/salome/tutorial/_static/domaineDoubleEnglobant.png b/doc/salome/tutorial/_static/domaineDoubleEnglobant.png
new file mode 100644 (file)
index 0000000..4a312f2
Binary files /dev/null and b/doc/salome/tutorial/_static/domaineDoubleEnglobant.png differ
diff --git a/doc/salome/tutorial/_static/geometrieDoubleEnglobante.png b/doc/salome/tutorial/_static/geometrieDoubleEnglobante.png
new file mode 100644 (file)
index 0000000..5721333
Binary files /dev/null and b/doc/salome/tutorial/_static/geometrieDoubleEnglobante.png differ
diff --git a/doc/salome/tutorial/_static/maillageDecoupe.png b/doc/salome/tutorial/_static/maillageDecoupe.png
new file mode 100644 (file)
index 0000000..16fcd39
Binary files /dev/null and b/doc/salome/tutorial/_static/maillageDecoupe.png differ
diff --git a/doc/salome/tutorial/_static/maillageDoubleEnglobant.png b/doc/salome/tutorial/_static/maillageDoubleEnglobant.png
new file mode 100644 (file)
index 0000000..3086c00
Binary files /dev/null and b/doc/salome/tutorial/_static/maillageDoubleEnglobant.png differ
diff --git a/doc/salome/tutorial/_static/polygoneDecoupe.png b/doc/salome/tutorial/_static/polygoneDecoupe.png
new file mode 100644 (file)
index 0000000..041eba9
Binary files /dev/null and b/doc/salome/tutorial/_static/polygoneDecoupe.png differ
index 319d14199fbbacb4a0d205f9f6b12b3f0ea7992d..d2c757cbd9801a48ec9092bc69520b575889ad40 100644 (file)
@@ -92,10 +92,28 @@ Extension d'un maillage existant
 .. |zoomMaillageRaccord| image:: /_static/zoomMaillageRaccord.png
    :align: middle
 
+.. |deuxDomainesRecouvrants| image:: /_static/deuxDomainesRecouvrants.png
+   :align: middle
+
+.. |polygoneDecoupe| image:: /_static/polygoneDecoupe.png
+   :align: middle
+
+.. |maillageDecoupe| image:: /_static/maillageDecoupe.png
+   :align: middle
+
+.. |domaineDoubleEnglobant| image:: /_static/domaineDoubleEnglobant.png
+   :align: middle
+
+.. |geometrieDoubleEnglobante| image:: /_static/geometrieDoubleEnglobante.png
+   :align: middle
+
+.. |maillageDoubleEnglobant| image:: /_static/maillageDoubleEnglobant.png
+   :align: middle
+
 
 Lors de la reprise d'anciennes études, il est fréquent de vouloir agrandir le domaine de l'étude,
 tout en gardant si possible le maillage existant.
-Nous supposons ici que nous disposons que d'un maillage au format MED, avec éventuellement des groupes à conserver.
+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.
 
 Le script *<appli_xxx>/bin/salome/test/HYDRO/g022_extensionSimpleComplete.py* permet de générer ce maillage, pour les besoins du tutoriel.
@@ -128,10 +146,10 @@ Le contour du nouveau domaine est dessiné dans Qgis ou HYDRO. Un exemple de sha
   |contourExtensionSimple|
 
 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 éventuels iles (régions insubmersibles) du domaine initial.
+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éometrie.
+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|
 
@@ -155,7 +173,7 @@ Dans le dialogue *Hypothesis construction*, nous sélectionnons le groupe de mai
 
   |maillageExtensionSimpleImportHyp|
 
-Après calul, le maillage obtenu ressemble à ceci :
+Après calcul, le maillage obtenu ressemble à ceci :
 
   |maillageExtensionSimpleResult|
 
@@ -174,16 +192,16 @@ Ici nous souhaitons faire une extension à l'amont du maillage existant, en gard
 Le contour de l'extension est dessiné approximativement, sachant qu'il va ensuite être automatiquement ajusté pour couper le contour du maillage d'origine
 en passant par les noeuds de celui-ci.
 
-L'ajustement automatique suppose que la ligne dessinée coupe la ligne de bors du maillage d'origine en deux points.
+L'ajustement automatique suppose que la ligne dessinée coupe la ligne de bord du maillage d'origine en deux points.
 L'algorithme détecte les deux noeuds de bord du maillage existant les plus proches de la ligne dessinée et déplace les deux noeuds en regard sur la ligne dessinée
-pour les faire coincider avec ceux du maillage existant. Dans Qgis, l'affichage des noeuds du maillage d'origine aide au dessin.
+pour les faire coïncider avec ceux du maillage existant. Dans Qgis, l'affichage des noeuds du maillage d'origine aide au dessin.
 En dessinant la ligne d'extension, il faut poser des noeuds au voisinage des noeuds de bord.
 
   |qgisDessinExtensionAmont|
 
 Dans le dialogue *Adjust shapefile to mesh* du module HYDRO (menu *HYDRO / Python plugins / Adjust shapefile*)
 il faut cocher les options *"split mesh edges shapefile"* et *"Split shapefile to adjust"*. 
-Les shapes modifiées sont rangées dans les répertoires respectifs des shapes de depart, avec des suffixes *"_adj"* et *"_split"*.
+Les shapes modifiées sont rangées dans les répertoires respectifs des shapes de départ, avec des suffixes *"_adj"* et *"_split"*.
 
   |dialogAdjustShapeToMesh|
 
@@ -195,9 +213,9 @@ il faut selectionner une des sections amont (en vert), et à l'aide du menu cont
 
   |limiteExtensionAmont|
 
-**Attention**, il faut 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.
  
-Nous pouvons alors créer un cas de calcul tres simple avec un seul objet naturel construit sur le contour amont que l'on vient de produire.
+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.
 
   |geometrieExtensionAmont|
@@ -210,8 +228,8 @@ Regroupement de deux maillages existants
 ========================================
 
 Etudions un cas plus complexe : le raccord de deux maillages existants.
-Les exemples ici concernent deux zones consécutives d'un même fleuve. nous allons examiner successivement le cas ous les deux maillages
-sont disjoints et le cas ou ils se recouvrent partiellement.
+Les exemples ici concernent deux zones consécutives d'un même fleuve. nous allons examiner successivement le cas où les deux maillages
+sont disjoints et le cas où ils se recouvrent partiellement.
  
 Les deux maillages sont disjoints
 ---------------------------------
@@ -222,12 +240,12 @@ permettent de générer ces maillages, pour les besoins du tutoriel.
 
   |deuxMaillages|
 
-Il faut générer les shapefiles correspondants aux frontières des deux domaines, comme précédemment.
+Il faut générer les shapefiles correspondant aux frontières des deux domaines, comme précédemment.
 
 Le contour du raccord des domaines est dessiné dans Qgis ou HYDRO. Un exemple de shape est fourni :
 *<appli_xxx>/bin/salome/test/HYDRO/raccord_4_1.shp*.
-Comme nous allons utiliser l'outil d'ajustement automatique de la shape pour la faire coincider avec les noeuds des maillages,
-il faut dessiner le contour du raccord en suivant les recommendations données plus haut pour l'extention partielle.
+Comme nous allons utiliser l'outil d'ajustement automatique de la shape pour la faire coïncider avec les noeuds des maillages,
+il faut dessiner le contour du raccord en suivant les recommandations données plus haut pour l'extension partielle.
 
   |raccordDeuxMaillages|
 
@@ -239,7 +257,7 @@ Après import de la shapefile ajustée au premier maillage, nous réutilisons le
 
 Nous pouvons importer la shapefile ajustée au deuxième maillage.
 
-Nous créons alors trois objets naturels avec la shapefile ajustée  du raccord des domaines, et avec les deux domaines d'origine,
+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.
 
@@ -257,7 +275,7 @@ Pour le maillage, nous procédons comme pour les cas précédents, avec l'algori
 
   |maillageRaccord|
 
-Là aussi, pour obtenir un maillage un maillage plus intéressant au niveau du lit mineur, il faudrait rajouter des lignes
+Là aussi, pour obtenir un maillage plus intéressant au niveau du lit mineur, il faudrait rajouter des lignes
 de contraintes ou des objets naturels supplémentaires, en utilisant l'algorithme d'ajustement de shape pour faire
 des connexions propres.
  
@@ -266,6 +284,55 @@ des connexions propres.
 Les deux maillages se recouvrent partiellement
 ----------------------------------------------
 
+Les scripts *<appli_xxx>/bin/salome/test/HYDRO/g022_extensionSimpleComplete.py*
+et *<appli_xxx>/bin/salome/test/HYDRO/g028_domaineAmontChevauchant.py* 
+permettent de générer ces maillages, pour les besoins du tutoriel.
+
+  |deuxDomainesRecouvrants|
+
+Nous allons nous ramener au cas précédent en enlevant des mailles dans le domaine amont.
+Pour cela, nous avons besoin d'un contour de découpe. Ce contour peut être dessiné dans Qgis, en visualisant les contours des deux maillages.
+Lors de l'opération de découpe, seules sont supprimées les mailles intégralement comprises dans le polygone de découpe.
+Il faut laisser un espace suffisant entre les deux maillages pour permettre un remaillage correct (sans mailles distordues).
+
+  |polygoneDecoupe|
+
+La découpe nécessite d'avoir le maillage et le polygone dans le même référentiel. Le polygone étant en Lambert 93 sans décalage d'origine,
+nous translatons le maillage pour l'amener dans ce même repère, avec le dialogue *Change coordinates*.
+
+L'opération de découpe n'est accessible qu'en script Python, depuis la console embarquée de SALOME, ou depuis un shell SALOME : ::
+
+  <appli_XXX>/salome shell
+  python
+  
+  from salome.hydrotools.cutMesh import cutMesh
+  meshFile = cutMesh(meshToCut, cutShape, meshCut, offsetX, offsetY)
+
+Ici, 
+
+  * *meshToCut* : le chemin complet du maillage à découper, translaté dans le même repère que le polygone de découpe,
+  * *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é.
+
+  |maillageDecoupe|
+
+Nous pouvons alors générer le contour du domaine découpé, et le contour du nouveau maillage regroupant les deux maillages d'origine.
+Ici, nous dessinons un contour englobant complètement les deux maillages. Un exemple de shape est fourni :
+*<appli_xxx>/bin/salome/test/HYDRO/raccord_4_2.shp*.
+
+  |domaineDoubleEnglobant|
+
+La suite est alors assez similaire au cas du domaine englobant un seul maillage initial.
+Ici, nous aurons deux objets naturels non submersibles, une géométrie avec deux trous :
+
+  |geometrieDoubleEnglobante|
+
+Pour le maillage, nous utiliserons l'algorithme d'import des éléments d'un maillage existant, pour chaque maillage original.
+
+  |maillageDoubleEnglobant|
+  
+Comme pour les exemples précédents, il faudrait raffiner un peu l'exemple pour avoir un maillage exploitable.
 
 .. only:: html
  
index 6c1f86ec4281006b1b251b28339c7b8c6495da3a..f6fc467f65c94cf92d931458005c2428b193c275 100644 (file)
    along with SALOME HYDRO module.  If not, see <http://www.gnu.org/licenses/>.
 
 #########################################
-Modification d'une bathymetrie
+Modification d'une bathymétrie
 #########################################
 
 On souhaite appliquer une nouvelle bathymétrie sur tout ou partie d'un maillage existant, pour lequel l'on ne dispose que d'un maillage MED,
-contenant un champ de bathymetrie nommé *'BOTTOM'*.
+contenant un champ de bathymétrie nommé *'BOTTOM'*.
 
 Supposons par exemple que l'on a une nouvelle bathymétrie pour le lit mineur, identifié dans le maillage par un groupe de mailles *'litMineur'*.
-Cette bathymétrie doit être dans le même système de coordonnéees que le maillage.
+Cette bathymétrie doit être dans le même système de coordonnées que le maillage.
 
-En python, depuis la console embarquée de SALOME, ou depuis un shell SALOME : ::
+En Python, depuis la console embarquée de SALOME, ou depuis un shell SALOME : ::
 
   <appli_XXX>/salome shell
   python
@@ -38,7 +38,7 @@ Ici,
 
   * *meshFileIn* : le chemin complet du maillage d'origine avec son champ 'BOTTOM' à modifier,
   * *meshFileOut* : le chemin complet du maillage avec le nouveau champ 'BOTTOM',
-  * *newBathy* : le chemin complet du nouveau fichier de bathymetrie,
+  * *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.