Salome HOME
documentation Paravis Français
[modules/hydro.git] / doc / salome / tutorial / preliminaires.rst
1 ..
2    Copyright (C) 2015-2016 EDF
3
4    This file is part of SALOME HYDRO module.
5
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.
10
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.
15
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/>.
18
19 #########################################
20 Notions préliminaires
21 #########################################
22
23  * **Géoréférencement** : Le système de projection à utiliser dépend de
24    la localisation géographique de l'étude et doit être choisi et noté
25    pour faciliter la reprise de l'étude. En France métropolitaine, la
26    projection de référence est Lambert 93.
27    **Toutes les données importées dans SALOME-HYDRO doivent être dans le même réferentiel.**
28    SALOME-HYDRO ne propose pas de convertisseur.
29
30  * **Repère Local** : Les coordonnées planes, **toujours exprimées en mètres**,
31    dans la projection utilisée correspondent souvent à des grands nombres.
32    Par exemple, les coordonnées en Lambert 93 d'un point du territoire
33    métropolitain sont par exemple de l'ordre de (400 000, 6 500 000).
34    Le repère local consiste en un simple décalage de l'origine, permettant
35    de manipuler de plus petits nombres.
36    Pour améliorer la précision numérique dans les différentes étapes de
37    l'étude (géométrie, maillage, calcul...),
38    **il est très fortement recommandé de prendre un repère local**.
39    SALOME-HYDRO affiche les coordonnées dans les deux repères (local et global)
40    et assure les translations automatiquement à l'import et à l'export.
41
42  * **ligne de contrainte** : Ligne sur laquelle le maillage va s'appuyer.
43    Dans SALOME, ces lignes sont définies dans la Géométrie (module GEOM) en tant que "edge".
44    Toutes les lignes que l'on construit dans le module HYDRO ne sont pas forcément gardées dans la géométrie.
45
46  * **axe hydraulique** : Ligne d'écoulement d'une rivière.
47    Souvent obtenue en reliant les points bas d'une succession de profils en travers.
48
49  * **ligne de crête** : Ligne reliant les points les plus hauts d'une digue.
50
51  * **partition** : Il s'agit d'une partition de l'espace en **zones** et **régions**.
52    Les concepts de zones et de régions sont introduits par la pratique dans l'exercice plus bas.
53    Les frontières d'une région correspondent aux lignes de contrainte du maillage. Les régions peuvent
54    être découpées en plusieurs zones. Une zone correspond à un mode de calcul de la bathymétrie.
55    
56  * **Land Cover Map** : Carte d'occupation des sols, qui donne la nature des terrains, selon une codification
57    *Corine Land Cover*.
58    
59  * **Table de Strickler** : Donne le *coefficient de Stricker* (frottement au sol) par type de Zone *Corine Land Cover*.
60    Ces coefficients sont à ajuster au cas par cas, selon le type de calcul.
61
62
63 ################################################
64 Principales étapes d'une étude avec SALOME-HYDRO
65 ################################################
66
67 .. |etapesEtude| image:: /_static/etapesEtude.png
68    :align: middle
69
70 .. |SALOME_Memo| image:: /_static/SALOME_Memo.png
71    :align: middle
72
73 SALOME contient l’ensemble des modules nécessaires au lancement d’une étude Telemac.
74
75 L’application SALOME-HYDRO concentre les modules HYDRO et HYDRO-SOLVER au sein de la plate-forme SALOME
76 et intègre le système Telemac2D.
77
78 La figure ci-dessous résume les étapes générales et les outils utilisés au sein de la plate-forme SALOME.
79
80   |etapesEtude|
81
82 L’étude se déroulera en passant par les différents modules de SALOME :
83
84  * HYDRO
85
86  * GEOM
87
88  * MESH
89
90  * HYDROSOLVER
91
92  * PARAVIS
93
94 -------------------------------------
95
96 **Les prinicpales étapes :**
97  
98  * HYDRO : on importe des images et/ou des plans
99
100  * HYDRO : on crée ou importe des lignes de contour d'**objets naturels** (rivières, iles...)
101    et **artificiels** (digues, canaux, obstacles...),
102
103  * HYDRO : on importe des champs de bathymétrie / altimétrie, ou des séries de profils de rivière,
104
105  * HYDRO : on constitue des objets naturels et artificiels,
106  
107  * HYDRO : on importe ou crée une carte des occupations des sols (Land Cover Map)
108    et une table donnant les coefficients de Strickler par type de zone (frottements au sol),
109
110  * HYDRO : on constitue un **cas de calcul** en choisissant les objets utiles au cas,
111    on regroupe les **zones** (une zone correspond à un mode de calcul particulier de la bathymétrie)
112    en **régions** (Les frontières des régions correspondent aux lignes de contrainte du maillage,
113    ce sont les faces de la géométrie finale SALOME), on associe au cas la Land Cover Map et la table de Strickler,
114
115  * HYDRO : on exporte le cas vers GEOM,
116
117  * GEOM : on reprend le cas dans GEOM, pour compléter l'identification des groupes liés aux différentes régions du domaine
118    et des conditions limites,
119
120  * SMESH : on choisit les algorithmes et hypothèses de maillage, on calcule le maillage et exporte le fichier MED du maillage,
121
122  * HYDROSOLVER : on génère et exécute le script Python qui permet le calcul de l'interpolation en Z aux noeuds du maillage,
123    à partir du fichier MED et du cas de calcul,
124
125  * HYDROSOLVER : on génère et exécute le script Python qui permet l'affectation des coefficients de Strickler aux noeuds du maillage,
126    à partir du fichier MED et du cas de calcul,
127
128  * HYDROSOLVER : on définit les zones de conditions limites (fichier xxx.bcd)
129
130  * HYDROSOLVER : on definit les évolutions des valeurs des conditions limites au cours du temps (fichier xxx.lqd ?)
131
132  * HYDROSOLVER : on définit le paramétrage physico numérique du calcul (fichier cas),
133
134  * HYDROSOLVER : on exécute le calcul,
135
136  * PARAVIS : on dépouille les résultats
137
138 Dans le module HYDRO lui-même, la logique d’enchaînement des étapes est la suivante
139 (voir les différents types d’objets manipulés dans l’arbre de gauche) :
140
141 Il s’agit ici de la description d’un déroulement type, des allers-retours entre les différentes étapes
142 sont tout à fait possibles et se produiront certainement.
143
144  * IMAGES :
145
146 L’idée est de partir d’images satellitaires et/ou de cartes de la zone à mailler
147 pour situer les différents éléments de l’étude., Ces images devront être géoréférencées
148 dans le même système de coordonnées que l’ensemble des données (Lambert93 par exemple).
149 Il peut s’agir de capture d’écran du géoportail par exemple.
150
151  * BATHYMETRIE :
152
153 Les bathymétries constituées de nuages de points et/ ou de profils qui constituent le modèle de terrain
154 sur lequel va s’appuyer le maillage sont importées dans le projet.
155
156  * POLYLINES :
157
158 Les polylignes (importées et/ou construites dans SALOME) permettent de définir les contours des différents objets
159 naturels et artificiels qui vont intervenir dans le cas de calcul. Ce sont des lignes fermées dans le cas général.
160 Certaines de ces lignes constitueront les lignes de contrainte du maillage.
161 Les polylignes splines permettent de définir des contours sans que le maillage qui
162 s’y appuiera ne doive utiliser strictement les points de la ligne. Seule la forme générale compte.
163 On peut tracer les lignes à la souris ou les importer à partir d’un fichier.
164
165  * NATURAL OBJECTS :
166
167 Il s’agit des éléments constitués par exemple de l’emprise d’un domaine, d’îles, de lacs...
168 On sait en général leur associer une bathymétrie.
169
170  * ARTIFICIAL OBJECTS :
171
172 Il s’agit de construire des éléments tels que des digues ou des canaux de géométrie connue.
173
174  * CALCULATION CASES :
175
176 Lors de la définition du cas de calcul on sélectionne les objets à mailler et on résout les conflits
177 de recouvrement des bathymétries.
178
179 -------------------------------------
180
181 **Résumé des étapes :** également `disponible en pdf`__.
182
183 .. _SALOME_Memo_pdf: SALOME_Memo.pdf
184
185 __ SALOME_Memo_pdf_
186
187   |SALOME_Memo|
188
189
190 données préalables
191 ==================
192
193 * Pour les fichiers image : disposer de fichiers images des fonds carto ou photo et avoir repéré dans le système de travail
194   les coordonnées de 2 ou 3 points bien répartis sur l’image (suffisament éloignés pour améliorer la précision).
195   Avec trois points, on peut faire une transformation affine de l'image, pour le cas improbable ou celle-ci ne
196   correspondrait pas à une projection verticale.
197
198 * Disposer des données de bathy au format ASCII.
199
200 Pour l’instant les fichiers de bathymetrie doivent porter l’extension .xyz (3 colonnes x,y,z) ou .asc
201 (format de type grille a pas régulier, tel que fourni dans la BD Alti de l'IGN, par exemple).
202
203 * Si l'on dispose de profils en travers pour le lit mineur, il peuvent être fournis au format .xyz
204   avec une ligne blanche séparant chaque profil, ou au format SinusX décrit plus loin.
205
206 Import d'images
207 ================
208
209 Il est possible d’importer des plans, cartes, et photos dans le module Hydro dans le dossier Images de l’arbre de l'étude.
210 L’idée est de partir d’images satellitaires et/ou de cartes de la zone à mailler,
211 géoréférencées dans le même système de coordonnées que l’ensemble des données (Lambert93 par exemple).
212 Il est possible de récupérer l’intersection de deux images, de les fusionner, de restreindre une image à partir d’une polyline.
213
214 Les manipulations d'images sont introduites dans l'exercice plus bas.
215
216 Choix d'un repère local
217 =======================
218
219 **Il est vivement conseillé de changer l’origine du système de coordonnées local**
220 pour éviter de manipuler de très grands nombres et avoir plus de précisions dans les différents calculs, notamment pour le maillage.
221
222 Pour cela il faut utiliser le menu *Hydro/change local CS* et renseigner les coordonnées de la nouvelle origine.
223
224 Import de Bathymetries
225 =======================
226
227 Le mode opératoire est expliqué dans l'exercice plus bas.
228
229  * **remarque** : Si les altitudes sont inférieures à 0, la bathymétrie peut être cachée par les cartes ou photos
230    (qui sont à Z = 0 par convention). Si l'on a besoin de voir simultanément la bathymétrie et les images,
231    on peut, par exemple, soit passer en vue de dessous, soit éditer la bathymetrie (menu contextuel "edit imported bathymetry")
232    pour inverser les z, le temps de contrôler la superposition des cartes et de la bathymétrie
233    (ne pas oublier d'enlever l'inversion de z après !).
234
235 Récupération de données de bathymétrie d'un ancien maillage
236 -----------------------------------------------------------
237
238 Pour les différentes opérations ci-dessous, le mode opératoire précis reste à détailler. Les scripts Python cités
239 ne sont pas fournis avec cette version, is nécesitent des adaptations au cas par cas.
240
241  * Il est possible de récupérer un ancien maillage d’un cas d’étude, en le transformant  avec un convertisseur
242    intégré dans SALOME-HYDRO du format selafin (.slf) au format .med (format dédié pour la plate-forme Salomé en général).
243
244  * A partir de l’ancien maillage, il peut être nécessaire d’appliquer une translation (par exemple +2 000 000)
245    à la position y des nœuds pour passer en système de géoréférencement connu (par exemple LambertIIEtendu).
246
247  * Puis la bathymétrie (champ de fond Z) est récupérée à l’aide d’un script Python qui crée un fichier .xyz
248    (position x du nœud, position y du nœud, Champ Z associé).
249
250  * Ce fichier .xyz est converti en Lambert93 grâce au logiciel libre Circé (sous Windows).
251
252  * Ensuite les positions des nœuds des bords sont récupérées à l’aide d’un script Python qui parcourt les nœuds,
253    constate s'ils sont au bord et crée un fichier dans lequel chaque bord récupéré est mis en forme pour un import direct
254    dans le module HYDRO.
255
256  * On peut isoler de cette façon le contour de l’emprise, des piles de ponts, et les îles éventuelles.
257
258 Import d'objets de type lignes
259 ==================================
260
261 Le format SinusX (ASCII) décrit en annexe permet de décrire plusieurs types de lignes et de profils.
262 Les fichiers au format SinusX qui respectent les conventions décrites en annexe peuvent être importés
263 dans SALOME HYDRO.
264
265 polylignes
266 -----------
267
268 définition : lignes dans le plan XY, généralement utilisées pour définir des contours, des zones.
269
270 profils
271 ----------
272
273 Deux types de profils : géoréférencés ou non.
274
275 Les profils géoréférencés sont définis dans XYZ, les autres dans XZ (XY).
276 Utilité : section de digue, de canal, de rivière.
277
278 On définit une seule section pour un canal ou une digue, une série de profils pour une rivière.
279
280 Pour une digue, la valeur Z=0 correspond à la ligne de crête, pour un canal, c'est la ligne de fond.
281
282 On considère uniquement des profils symétriques (par rapport à la ligne de crête ou de fond).
283
284
285 Streams
286 --------
287
288 Rivière décrite par une succession de profils en travers, ordonnés via une ligne amont-aval qui passe par ces profils.
289 Cette ligne peut être l'axe hydraulique, mais ce n'est pas obligatoire.
290
291 Les fichiers de stream peuvent être des fichiers XYZ pour lequels chaque profil est séparé par une ligne vide.
292
293
294 Dessin de lignes
295 =================
296
297 Les contours de type polyligne sont nécessaires à la création de la géométrie.
298 Ils permettent la construction de l’emprise du modèle, des îles, du lit mineur d’un fleuve, ainsi que des digues, des canaux, des routes...
299
300 On peut afficher la bathymetrie ou les cartes lors de la saisie des contours pour se repérer.
301
302 polylines
303 ---------
304
305 Dans SALOME les polylignes sont de deux types :
306
307  *  polylignes (ligne brisée constituée d'une série de segments droits, pour décrire un objet géométrique)
308
309  *  splines (suite d’arcs qui donne une courbe à dérivée continue,
310     pour décrire une courbure naturelle, qui s’adaptera à la finesse de la discrétisation).
311
312 L’utilisation de splines permet de définir des contours sans que le maillage qui s’appuie dessus
313 ne s’accroche à tous les points de la ligne : seule la forme générale compte.
314
315 Le mode opératoire est détaillé dans l'exercice ci-dessous.
316
317 Il est possible de créer des lignes combinant polylignes et splines.
318 Voir plus loin le pararaphe de manipulation des polylignes.
319
320 profils de digue ou canal
321 --------------------------
322
323 On peut importer ou dessiner ce type de profils.
324 Le mode opératoire du dessin est détaillé dans l'exercice ci-dessous.
325
326 profils de rivière
327 ------------------
328
329 Seul l'import de ces profils est prévu.
330
331 Création d'objets "naturels" type "zone immersible"
332 ===================================================
333
334 Une **zone immersible** est une zone qui sera maillée. Les iles qui ne sont pas submersibles peuvent être exclues du maillage.
335 Dans SALOME HYDRO, on distingue les îles du reste en désactivant leur attribut **Submersible**.
336
337 Créer une zone immersible consiste à créer une face géométrique à partir d’un des contours dessinés précédemment.
338 On renseigne donc pour cela la polyline (obligatoire) sur laquelle va reposer la face et la bathymétrie (facultative)
339 que l’on souhaite associer à cette zone géographique.
340
341  * Remarque : la bathymétrie est facultative dans la création des objets naturels, notamment dans le cas des îles.
342
343  * Remarque : Il est  possible de changer l’ordre d’affichage des différents objets naturels et artificiels qui sont tous par convention
344    dans le plan z=0, pour remettre "dessus" les petits objets.
345
346 Création d'objets "naturels" type "stream"
347 ==========================================
348
349 Le mode opératoire est détaillé dans l'exemple plus bas.
350
351 Création d'objet "artificiel" type digue ou canal
352 =================================================
353
354 Le mode opératoire est détaillé dans l'exemple plus bas.
355
356 Obstacles
357 ============
358
359 Objets géométriques complexes (bâtiments...) importés depuis GEOM,
360 pour constituer des zones non submersibles ("iles" ou assimilés).
361 Il faut mettre ces objets dans le repère local avant des les importer.
362
363 Tables de coefficients de Strickler, Land Cover maps
364 ====================================================
365
366 Il est possible définir une carte des coefficients de Strickler (frottements sur le fond) couvrant le domaine d'étude.
367
368 Des cartes décrivant la nature des sols (Land cover Map) peuvent être récupérées sur différents sites.
369 Il est notamment possible de télécharger et d'éditer dans un outil de SIG (Systeme d'Information Géographique)
370 comme *qgis* les cartes "Corine Land Cover".
371 Ces cartes s'appuient sur une nomenclature standard des différents types de territoire.
372
373 On définit en parallèle une table des coefficients de Strickler qui donne le coefficient pour chaque type défini dans la nomenclature.
374 Les coefficients de Strickler sont en général ajustés pour une étude donnée, pour recaler le modèle.
375
376 Les Land Cover Map peuvent être importées depuis qgis ou créées "from scratch" dans SALOME-HYDRO.
377 Il est également possible d'éditer ces cartes dans SALOME-HYDRO : ajout, suppression, regroupement, modification de zones...
378
379 Constitution d'un cas de calcul
380 ================================
381
382 Lors de la constitution d'un cas de calcul, il est possible de ne sélectionner que certains des objets définis précedemment.
383 A partir d'une même base d'objets, on peut créer plusieurs cas de calculs plus ou moins complexes (prise en compte ou non
384 de détails comme des piles de ponts, par exemple).
385
386 L'emprise du domaine est définie par un contour polygonal particulier.
387
388 Le chevauchement des différents objets crée des zones "en conflit" pour lesquelles il faut faire des choix pour le calcul de
389 la bathymétrie.
390
391 Le résultat du découpage en zones des différents objets se chevauchant constitue l'opération dite de **partition**.
392
393 On peut regrouper des zones en régions homogènes dans la structure du maillage visée,
394 pour s’affranchir des contours que l'on ne veut pas garder en tant que lignes de contraintes.
395
396 Dans le cas de calcul, il est possible d'identifier certaines lignes qui serviront de support aux conditions limites.
397
398 Le resultat est exporté dans le module de géométrie.
399
400 Le mode opératoire est détaillé dans l'exemple plus bas.
401
402 Géométrie: Module GEOM
403 ======================
404
405 Une fois le cas de calcul terminé et exporté il apparaît dans le module GEOM.
406
407 Il faut activer ce module pour pouvoir visualiser et modifier le cas exporté.
408
409 Il est conseillé de faire un *show only* sur la géométrie :
410 dans l'arbre, se placer sur le cas de calcul dans la géométrie et menu contextuel clic droit *show only*. 
411
412 Dans GEOM, on voit notre cas de calcul sous le nom <nom de cas>_N auquel est attaché le (ou les) contour(s)
413 choisis au moment au moment de la définition du cas de calcul.
414
415 Il se peut qu’on ait besoin d'identifier certaines parties :
416
417  * Faces : pour mailler de façon différentes certaines zones
418
419  * Segments : pour définir les conditions aux limites.
420
421 Le mode opératoire est détaillé dans l'exemple plus bas.
422
423  * remarque : Il est possible d'utiliser le module de géométrie pour définir un certain nombre de
424    contraintes sur le maillage. par exemple, on peut définir des points fixes de notre maillage
425    (qui vont par exemple correspondre à des points de mesure).
426    **Toute modification de la géométrie se traduit par la création d'un nouvel objet et la perte des groupes
427    définis dans l'objet initial. Il faut donc créer les groupes en dernier, sur la géométrie finale,
428    et, si possible éviter les modifications qui font perdre les définitions automatiques du module HYDRO.**
429
430 Maillage: Module SMESH
431 =======================
432
433 On se réferera aux formations SALOME pour l'utilisation du module SMESH.
434
435 Le mode opératoire pour SALOME-HYDRO est détaillé dans l'exemple plus bas.
436
437 Interpolation en Z
438 ===================
439
440 principes
441 ---------
442
443 En hydrodynamique il est primordial de connaître la valeur de la bathymétrie en chaque nœud de calcul.
444
445 Le calcul de la bathymétrie est fait zone par zone, a chaque zone est associé un mode de calcul de la bathymétrie :
446
447  * à partir des nuages de points
448
449  * à partir des profils de rivière
450
451  * à partir de l'axe et de la section des digues et canaux
452
453  * à partir de la CAO des obstacles
454
455 Pour les nuages de points, on dispose dans HYDROSOLVER d’un utilitaire générant un script Python
456 qui permet d’interpoler la bathymétrie sur le maillage.
457 Ce script utilise un algorithme qui prend soit la valeur du Z du point le plus proche, soit la valeur Z interpolée
458 sur une triangulation préalable du nuage.
459
460 Le mode opératoire est détaillé dans l'exemple plus bas.
461
462 Mise en données Physico-numérique pour TELEMAC
463 ===============================================
464
465 Cette mise en données fait intervenir le module HYDROSOLVER pour l'assemblage du cas de calcul.
466
467 description des conditions limites
468 ----------------------------------
469
470 Chaque zone de condition limite correspond à un groupe nommé dans le maillage.
471 Les types de conditon limites associés à un groupe sont définis dans un fichier.
472 Dans le module HYDROSOLVER, un outil permet d'associer des types de condition limites aux groupes concernés ans le maillage, 
473
474
475 édition du fichier Cas
476 ----------------------
477
478 Les paramètres de calcul sont définis dans le fichier Cas avec la syntaxe TELEMAC 2D
479 (avec l'editeur EFICAS accessible depuis le module HYDROSOLVER ou avec un éditeur de texte standard).
480
481 inventaire des fichiers utilisés par TELEMAC 2D
482 -----------------------------------------------
483
484 A compléter, voir l'exemple ci-dessous.
485
486 Lancement et suivi du calcul
487 ============================
488
489 Le module HYDROSOLVER permet de lancer TELEMAC 2D.
490
491 Le mode opératoire est détaillé dans l'exemple plus bas.
492
493 Dépouillement des résultats
494 ===========================
495
496 Le module PARAVIS est utilisé pour l'exploitation des résultats.
497 On se réfèrera aux formations SALOME pour l'utilisation du module PARAVIS.
498 Certains filtres spécifiques à l’hydraulique sont détaillés dans l’exemple plus bas.