Salome HOME
preparation tutoriel anglais
[modules/hydro.git] / doc / salome / tutorial / english / english_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 Preliminary concepts
21 #########################################
22
23  * **Georeferencing**: The projection system depends on the geographic location of the study
24    and must be selected and stored to facilitate study follow up. The reference projection
25    in metropolitan France is Lambert 93.
26    **All data imported into SALOME HYDRO must be in the same (unique) reference frame.**
27    SALOME HYDRO does not propose a coordinate converter.
28
29  * **Local reference point**: The Cartesian coordinate values, **always expressed in metres**,
30    in a given projection system often represent very large numbers.
31    The Lambert 93 coordinates of a point in continental France, for example,
32    are of the order (400 000, 6 500 000).
33    A simple shift of the origin results in a local reference point,
34    reducing the size of the numbers to be handled.
35    To improve numerical precision in the different study steps (geometry, meshing, simulation, etc.),
36    **the use of a local reference point is highly recommended.**
37    SALOME HYDRO displays coordinates in both coordinate systems (local and global)
38    and automatically applies the translations on import and export.
39
40  * **Constraint line**: Line used to support and structure the mesh.
41    In SALOME, these lines are defined in the Geometry (GEOM module) as “edge”.
42    Not every line created in the HYDRO module will necessarily be kept in the geometry.
43
44  * **Hydraulic axis**: The orientation of river flow.
45    Often obtained by connecting the low points of a succession of cross profiles.
46
47  * **Crest line**: Line joining the highest points of an embankment.
48
49  * **Partition**: This is a segmentation of the space into **regions** and **zones**.
50    The concepts of zones and regions are introduced in the practice exercise to follow.
51    The boundaries of a region correspond to the constraint lines of the mesh.
52    The regions can be divided into several zones with each zone corresponding
53    to a computational mode for the bathymetry. 
54    
55  * **Land Cover Map** : Carte d'occupation des sols, qui donne la nature des terrains, selon une codification
56    *Corine Land Cover*.
57    
58  * **Table de Strickler** : Donne le *coefficient de Stricker* (frottement au sol)
59    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 Main steps in a study using SALOME-HYDRO
65 ################################################
66
67 .. |etapesEtude| image:: /../_static/etapesEtude.png
68    :align: middle
69
70 SALOME contains all the modules needed to start a Telemac study. 
71
72 The SALOME-HYDRO application gathers the HYDRO and HYDRO-SOLVER modules,
73 which form the heart of the SALOME system, onto a single platform that integrates the Telemac2D system. 
74
75 The following figure summarises the general steps and the tools used within the SALOME platform.
76
77   |etapesEtude|
78
79 The study will be carried out using the following SALOME modules: 
80
81  * HYDRO 
82
83  * GEOM 
84
85  * SMESH 
86
87  * HYDROSOLVER 
88
89  * PARAVIS 
90
91 Functions/Operations: 
92
93  * HYDRO: images and/or plans are imported 
94
95  * HYDRO: contour lines of **natural features** (rivers, islands, etc.) and **artificial features**
96    (embankments, channels, obstacles, etc.) are created or imported 
97
98  * HYDRO: bathymetry / altitude fields or series of river profiles are loaded 
99
100  * HYDRO: object elements representing the natural and artificial features are constructed, 
101  
102  * HYDRO : a Land Cover Map and a Strickler table are created or imported 
103
104  * HYDRO: a **calculation case** is created by selecting the objects relevant to the case;
105    the **zones** (each associated to a specific method of bathymetry calculation) are grouped into **regions**
106    (the boundaries of which correspond to mesh constraint lines; these are the faces of the final SALOME geometry) 
107
108  * HYDRO: the case is exported to GEOM 
109
110  * GEOM: the case is taken up in GEOM to complete the identification of the groups associated
111    to the different regions of the domain and the boundary conditions 
112
113  * SMESH: the mesh assumptions (“hypotheses” in the dialogs) and algorithms are chosen,
114    the mesh is calculated and the corresponding MED file is exported 
115
116  * HYDROSOLVER: the Z interpolation Python script giving z coordinates on mesh nodes
117    from the MED file and the calculation case is generated and executed
118
119  * HYDROSOLVER: the Strickler Python script giving Strickler coefficients on mesh nodes
120    from the MED file and the calculation case is generated and executed
121
122  * HYDROSOLVER: the physical and numerical parameters of the simulation are defined (case file) 
123
124  * HYDROSOLVER: the calculation is executed 
125
126  * PARAVIS: the results are analysed
127
128 The sequential logic of the operating steps in the HYDRO module itself is as follows
129 (see the different types of manipulated objects in the tree on the left): 
130
131  * IMAGES:
132
133 Satellite imagery and/or maps of the study area are used to locate the absolute and relative positions of the elements to be represented in the mesh. These images must be georeferenced in the same system of coordinates
134 as all the data (for example, Lambert 93). This may, for instance, be a geoportal screenshot.
135
136  * BATHYMETRY:
137
138 The bathymetries in the form of point cloud and/or cross profile datasets that constitute the terrain model
139 on which the mesh will be based are imported into the project.
140
141  * POLYLINES:
142
143 Polylines (imported into and/or created in SALOME) are used to define the contours of the natural and artificial
144 objects that will intervene in the calculation case. These lines are closed in the general case and some of them will form the mesh constraint lines. Splined polylines permit to define contours without there being any necessity
145 for the mesh based on them to use the points on the line: only the general shape counts. Lines can be drawn with
146 the mouse or imported from a file.Les polylignes (importées et/ou construites dans SALOME) permettent de définir
147 les contours des différents objets
148
149  * NATURAL OBJECTS:
150
151 These are composite elements comprising, for example, land surfaces, islands, lakes, etc.
152 A bathymetry can generally be associated to them.
153
154  * ARTIFICIAL OBJECTS:
155
156 This step involves building structural elements, such as embankments, canals and channels of known geometry. 
157
158  * CALCULATION CASES :
159
160 When the calculation case is defined, the objects to be meshed are selected and any issues concerning
161 the bathymetric coverage (overlaps/gaps) are resolved.
162
163 This is a description of a typical sequence;
164 moving backwards and forwards between the various steps is perfectly possible and will certainly occur.
165
166 Preliminary data requirements
167 =============================
168
169 * Pour les fichiers image : disposer de fichiers images des fonds carto ou photo et avoir repéré dans le système de travail
170   les coordonnées de 2 ou 3 points bien répartis sur l’image (suffisament éloignés pour améliorer la précision).
171   Avec trois points, on peut faire une transformation affine de l'image, pour le cas improbable ou celle-ci ne
172   correspondrait pas à une projection verticale.
173
174 * Disposer des données de bathy au format ASCII.
175
176 Pour l’instant les fichiers de bathymetrie doivent porter l’extension .xyz (3 colonnes x,y,z) ou .asc
177 (format de type grille a pas régulier, tel que fourni dans la BD Alti de l'IGN, par exemple).
178
179 * Si l'on dispose de profils en travers pour le lit mineur, il peuvent être fournis au format .xyz
180   avec une ligne blanche séparant chaque profil, ou au format SinusX décrit plus loin.
181
182 Import d'images
183 ================
184
185 Il est possible d’importer des plans, cartes, et photos dans le module Hydro dans le dossier Images de l’arbre de l'étude.
186 L’idée est de partir d’images satellitaires et/ou de cartes de la zone à mailler,
187 géoréférencées dans le même système de coordonnées que l’ensemble des données (Lambert93 par exemple).
188 Il est possible de récupérer l’intersection de deux images, de les fusionner, de restreindre une image à partir d’une polyline.
189
190 Les manipulations d'images sont introduites dans l'exercice plus bas.
191
192 Choix d'un repère local
193 =======================
194
195 **Il est vivement conseillé de changer l’origine du système de coordonnées local**
196 pour éviter de manipuler de très grands nombres et avoir plus de précisions dans les différents calculs, notamment pour le maillage.
197
198 Pour cela il faut utiliser le menu *Hydro/change local CS* et renseigner les coordonnées de la nouvelle origine.
199
200 Import de Bathymetries
201 =======================
202
203 Le mode opératoire est expliqué dans l'exercice plus bas.
204
205  * **remarque** : Si les altitudes sont inférieures à 0, la bathymétrie peut être cachée par les cartes ou photos
206    (qui sont à Z = 0 par convention). Si l'on a besoin de voir simultanément la bathymétrie et les images,
207    on peut, par exemple, soit passer en vue de dessous, soit éditer la bathymetrie (menu contextuel "edit imported bathymetry")
208    pour inverser les z, le temps de contrôler la superposition des cartes et de la bathymétrie
209    (ne pas oublier d'enlever l'inversion de z après !).
210
211 Récupération de données de bathymétrie d'un ancien maillage
212 -----------------------------------------------------------
213
214 Pour les différentes opérations ci-dessous, le mode opératoire précis reste à détailler. Les scripts Python cités
215 ne sont pas fournis avec cette version, is nécesitent des adaptations au cas par cas.
216
217  * Il est possible de récupérer un ancien maillage d’un cas d’étude, en le transformant  avec un convertisseur
218    intégré dans SALOME-HYDRO du format selafin (.slf) au format .med (format dédié pour la plate-forme Salomé en général).
219
220  * A partir de l’ancien maillage, il peut être nécessaire d’appliquer une translation (par exemple +2 000 000)
221    à la position y des nœuds pour passer en système de géoréférencement connu (par exemple LambertIIEtendu).
222
223  * 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
224    (position x du nœud, position y du nœud, Champ Z associé).
225
226  * Ce fichier .xyz est converti en Lambert93 grâce au logiciel libre Circé (sous Windows).
227
228  * Ensuite les positions des nœuds des bords sont récupérées à l’aide d’un script Python qui parcourt les nœuds,
229    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
230    dans le module HYDRO.
231
232  * On peut isoler de cette façon le contour de l’emprise, des piles de ponts, et les îles éventuelles.
233
234 Import d'objets de type lignes
235 ==================================
236
237 Le format SinusX (ASCII) décrit en annexe permet de décrire plusieurs types de lignes et de profils.
238 Les fichiers au format SinusX qui respectent les conventions décrites en annexe peuvent être importés
239 dans SALOME HYDRO.
240
241 polylignes
242 -----------
243
244 définition : lignes dans le plan XY, généralement utilisées pour définir des contours, des zones.
245
246 profils
247 ----------
248
249 Deux types de profils : géoréférencés ou non.
250
251 Les profils géoréférencés sont définis dans XYZ, les autres dans XZ (XY).
252 Utilité : section de digue, de canal, de rivière.
253
254 On définit une seule section pour un canal ou une digue, une série de profils pour une rivière.
255
256 Pour une digue, la valeur Z=0 correspond à la ligne de crête, pour un canal, c'est la ligne de fond.
257
258 On considère uniquement des profils symétriques (par rapport à la ligne de crête ou de fond).
259
260
261 Streams
262 --------
263
264 Rivière décrite par une succession de profils en travers, ordonnés via une ligne amont-aval qui passe par ces profils.
265 Cette ligne peut être l'axe hydraulique, mais ce n'est pas obligatoire.
266
267 Les fichiers de stream peuvent être des fichiers XYZ pour lequels chaque profil est séparé par une ligne vide.
268
269
270 Dessin de lignes
271 =================
272
273 Les contours de type polyligne sont nécessaires à la création de la géométrie.
274 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...
275
276 On peut afficher la bathymetrie ou les cartes lors de la saisie des contours pour se repérer.
277
278 polylines
279 ---------
280
281 Dans SALOME les polylignes sont de deux types :
282
283  *  polylignes (ligne brisée constituée d'une série de segments droits, pour décrire un objet géométrique)
284
285  *  splines (suite d’arcs qui donne une courbe à dérivée continue,
286     pour décrire une courbure naturelle, qui s’adaptera à la finesse de la discrétisation).
287
288 L’utilisation de splines permet de définir des contours sans que le maillage qui s’appuie dessus
289 ne s’accroche à tous les points de la ligne : seule la forme générale compte.
290
291 Le mode opératoire est détaillé dans l'exercice ci-dessous.
292
293 Il est possible de créer des lignes combinant polylignes et splines.
294 Voir plus loin le pararaphe de manipulation des polylignes.
295
296 profils de digue ou canal
297 --------------------------
298
299 On peut importer ou dessiner ce type de profils.
300 Le mode opératoire du dessin est détaillé dans l'exercice ci-dessous.
301
302 profils de rivière
303 ------------------
304
305 Seul l'import de ces profils est prévu.
306
307 Création d'objets "naturels" type "zone immersible"
308 ===================================================
309
310 Une **zone immersible** est une zone qui sera maillée. Les iles qui ne sont pas submersibles peuvent être exclues du maillage.
311 Dans SALOME HYDRO, on distingue les îles du reste en désactivant leur attribut **Submersible**.
312
313 Créer une zone immersible consiste à créer une face géométrique à partir d’un des contours dessinés précédemment.
314 On renseigne donc pour cela la polyline (obligatoire) sur laquelle va reposer la face et la bathymétrie (facultative)
315 que l’on souhaite associer à cette zone géographique.
316
317  * Remarque : la bathymétrie est facultative dans la création des objets naturels, notamment dans le cas des îles.
318
319  * Remarque : Il est  possible de changer l’ordre d’affichage des différents objets naturels et artificiels qui sont tous par convention
320    dans le plan z=0, pour remettre "dessus" les petits objets.
321
322 Création d'objets "naturels" type "stream"
323 ==========================================
324
325 Le mode opératoire est détaillé dans l'exemple plus bas.
326
327 Création d'objet "artificiel" type digue ou canal
328 =================================================
329
330 Le mode opératoire est détaillé dans l'exemple plus bas.
331
332 Obstacles
333 ============
334
335 Objets géométriques complexes (bâtiments...) importés depuis GEOM,
336 pour constituer des zones non submersibles ("iles" ou assimilés).
337 Il faut mettre ces objets dans le repère local avant des les importer.
338
339 Tables de coefficients de Strickler, Land Cover maps
340 ====================================================
341
342 Il est possible définir une carte des coefficients de Strickler (frottements sur le fond) couvrant le domaine d'étude.
343
344 Des cartes décrivant la nature des sols (Land cover Map) peuvent être récupérées sur différents sites.
345 Il est notamment possible de télécharger et d'éditer dans un outil de SIG (Systeme d'Information Géographique)
346 comme *qgis* les cartes "Corine Land Cover".
347 Ces cartes s'appuient sur une nomenclature standard des différents types de territoire.
348
349 On définit en parallèle une table des coefficients de Strickler qui donne le coefficient pour chaque type défini dans la nomenclature.
350 Les coefficients de Strickler sont en général ajustés pour une étude donnée, pour recaler le modèle.
351
352 Les Land Cover Map peuvent être importées depuis qgis ou créées "from scratch" dans SALOME-HYDRO.
353 Il est également possible d'éditer ces cartes dans SALOME-HYDRO : ajout, suppression, regroupement, modification de zones...
354
355 Constitution d'un cas de calcul
356 ================================
357
358 Lors de la constitution d'un cas de calcul, il est possible de ne sélectionner que certains des objets définis précedemment.
359 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
360 de détails comme des piles de ponts, par exemple).
361
362 L'emprise du domaine est définie par un contour polygonal particulier.
363
364 Le chevauchement des différents objets crée des zones "en conflit" pour lesquelles il faut faire des choix pour le calcul de
365 la bathymétrie.
366
367 Le résultat du découpage en zones des différents objets se chevauchant constitue l'opération dite de **partition**.
368
369 On peut regrouper des zones en régions homogènes dans la structure du maillage visée,
370 pour s’affranchir des contours que l'on ne veut pas garder en tant que lignes de contraintes.
371
372 Dans le cas de calcul, il est possible d'identifier certaines lignes qui serviront de support aux conditions limites.
373
374 Le resultat est exporté dans le module de géométrie.
375
376 Le mode opératoire est détaillé dans l'exemple plus bas.
377
378 Géométrie: Module GEOM
379 ======================
380
381 Une fois le cas de calcul terminé et exporté il apparaît dans le module GEOM.
382
383 Il faut activer ce module pour pouvoir visualiser et modifier le cas exporté.
384
385 Il est conseillé de faire un *show only* sur la géométrie :
386 dans l'arbre, se placer sur le cas de calcul dans la géométrie et menu contextuel clic droit *show only*. 
387
388 Dans GEOM, on voit notre cas de calcul sous le nom <nom de cas>_N auquel est attaché le (ou les) contour(s)
389 choisis au moment au moment de la définition du cas de calcul.
390
391 Il se peut qu’on ait besoin d'identifier certaines parties :
392
393  * Faces : pour mailler de façon différentes certaines zones
394
395  * Segments : pour définir les conditions aux limites.
396
397 Le mode opératoire est détaillé dans l'exemple plus bas.
398
399  * remarque : Il est possible d'utiliser le module de géométrie pour définir un certain nombre de
400    contraintes sur le maillage. par exemple, on peut définir des points fixes de notre maillage
401    (qui vont par exemple correspondre à des points de mesure).
402    **Toute modification de la géométrie se traduit par la création d'un nouvel objet et la perte des groupes
403    définis dans l'objet initial. Il faut donc créer les groupes en dernier, sur la géométrie finale,
404    et, si possible éviter les modifications qui font perdre les définitions automatiques du module HYDRO.**
405
406 Maillage: Module SMESH
407 =======================
408
409 On se réferera aux formations SALOME pour l'utilisation du module SMESH.
410
411 Le mode opératoire pour SALOME-HYDRO est détaillé dans l'exemple plus bas.
412
413 Interpolation en Z
414 ===================
415
416 principes
417 ---------
418
419 En hydrodynamique il est primordial de connaître la valeur de la bathymétrie en chaque nœud de calcul.
420
421 Le calcul de la bathymétrie est fait zone par zone, a chaque zone est associé un mode de calcul de la bathymétrie :
422
423  * à partir des nuages de points
424
425  * à partir des profils de rivière
426
427  * à partir de l'axe et de la section des digues et canaux
428
429  * à partir de la CAO des obstacles
430
431 Pour les nuages de points, on dispose dans HYDROSOLVER d’un utilitaire générant un script Python
432 qui permet d’interpoler la bathymétrie sur le maillage.
433 Ce script utilise un algorithme qui prend soit la valeur du Z du point le plus proche, soit la valeur Z interpolée
434 sur une triangulation préalable du nuage.
435
436 Le mode opératoire est détaillé dans l'exemple plus bas.
437
438 Mise en données Physico-numérique pour TELEMAC
439 ===============================================
440
441 Cette mise en données fait intervenir le module HYDROSOLVER pour l'assemblage du cas de calcul.
442
443 description des conditions limites
444 ----------------------------------
445
446 Chaque zone de condition limite correspond à un groupe nommé dans le maillage.
447 Les types de conditon limites associés à un groupe sont définis dans un fichier.
448 Dans le module HYDROSOLVER, un outil permet d'associer des types de condition limites aux groupes concernés ans le maillage, 
449
450
451 édition du fichier Cas
452 ----------------------
453
454 Les paramètres de calcul sont définis dans le fichier Cas avec la syntaxe TELEMAC 2D (avec un éditeur de texte standard).
455
456 inventaire des fichiers utilisés par TELEMAC 2D
457 -----------------------------------------------
458
459 A compléter, voir l'exemple ci-dessous.
460
461 Lancement et suivi du calcul
462 ============================
463
464 Le module HYDROSOLVER permet de lancer TELEMAC 2D.
465
466 Le mode opératoire est détaillé dans l'exemple plus bas.
467
468 Dépouillement des résultats
469 ===========================
470
471 Le module PARAVIS est utilisé pour l'exploitation des résultats.
472 On se réferera aux formations SALOME pour l'utilisation du module PARAVIS.