.. |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
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 *<appli_xxx>/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 : *<appli_xxx>/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|
|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|
|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.
|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.
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|
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é.