Salome HOME
tutorial: sections on river
[modules/hydro.git] / doc / salome / tutorial / preliminaires.rst
index 64cdf378f15a137db6d9e360cdac338fa80a1596..50554b276f69bab98f06ae0ff8e762db543189bf 100644 (file)
    along with SALOME HYDRO module.  If not, see <http://www.gnu.org/licenses/>.
 
 #########################################
-Notions préliminaires
+Notions préliminaires 
 #########################################
 
  * **Géoréférencement** : Le système de projection à utiliser dépend de 
    la localisation géographique de l'étude et doit être choisi et noté
    pour faciliter la reprise de l'étude. En France métropolitaine, la
    projection de référence est Lambert 93.
+   Toutes les données importées dans SALOME HYDRO doivent être dans le même réferentiel.
+   SALOME HYDRO ne propose pas de convertisseur. 
    
  * **Repère Local** : Les coordonnées planes, **toujours exprimées en mètres**,
    dans la projection utilisée correspondent souvent à des grands nombres.
@@ -34,4 +36,413 @@ Notions préliminaires
    Pour améliorer la précision numérique dans les différentes étapes de
    l'étude (géométrie, maillage, calcul...),
    **il est très fortement recommandé de prendre un repère local**.
+   SALOME HYDRO affiche les coordonnées dans les deux repères (local et global)
+   et assure les translations automatiquement à l'import et à l'export.
+
+ * **ligne de contrainte** : Ligne sur laquelle le maillage va s'appuyer.
+   Dans SALOME, ces lignes sont définies dans la Géométrie (module GEOM) en tant que "edge".
+   Toutes les lignes que l'on construit dans le module HYDRO ne sont pas forcément gardées dans la géométrie.
+
+ * **axe hydraulique** : Ligne d'écoulement d'une rivière.
+   Souvent obtenue en reliant les points bas d'une succession de profils en travers.
+
+ * **ligne de crête** : Ligne reliant les points les plus hauts d'une digue.
+
+ * **partition** : Il s'agit d'une partition de l'espace en **zones** et **régions**.
+   Les concepts de zones et de régions sont introduits par la pratique dans l'exercice plus bas.
+   Les frontières d'une région correspondent aux lignes de contrainte du maillage. Les régions peuvent
+   être découpées en plusieurs zones. Une zone correspond à un mode de calcul de la bathymétrie.
+   
+
+################################################
+Principales étapes d'une étude avec SALOME-HYDRO
+################################################
+
+.. |etapesEtude| image:: /_static/etapesEtude.png
+   :align: middle
+
+SALOME contient l’ensemble des modules nécessaires au lancement d’une étude Telemac.
+
+L’application SALOME-HYDRO concentre les modules HYDRO et HYDRO-SOLVER au sein de la plate-forme SALOME      
+et intègre le système Telemac2D.
+
+La figure ci-dessous résume les étapes générales et les outils utilisés au sein de la plate-forme SALOME. 
+
+  |etapesEtude|
+
+L’étude se déroulera en passant par les différents modules de SALOME :
+
+ * HYDRO
+
+ * GEOM
+
+ * MESH
+
+ * HYDROSOLVER
+
+ * PARAVIS
+
+Fonctionnement :
+
+ * HYDRO : on importe des images et/ou des plans
+
+ * HYDRO : on crée ou importe des lignes de contour d'**objets naturels** (rivières, iles...) 
+   et **artificiels** (digues, canaux, obstacles...), 
+
+ * HYDRO : on importe des champs de bathymétrie / altimétrie, ou des séries de profils de rivière, 
+
+ * HYDRO : on constitue des objets naturels et artificiels, 
+
+ * HYDRO : on constitue un **cas de calcul** en choisissant les objets utiles au cas, 
+   on regroupe les **zones** (une zone correspond à un mode de calcul particulier de la bathymétrie)
+   en **régions** (Les frontières des régions correspondent aux lignes de contrainte du maillage,
+   ce sont les faces de la géométrie finale SALOME),
+
+ * HYDRO : on exporte le cas vers GEOM,
+
+ * GEOM : on reprend le cas dans GEOM, pour compléter l'identification des groupes liés aux différentes régions du domaine 
+   et des conditions limites,
+
+ * SMESH : on choisit les algorithmes et hypothèses de maillage, on calcule le maillage et exporte le fichier MED du maillage,
+
+ * HYDRO : on calcule l'interpolation en Z, a partir du fichier MED et du cas de calcul, 
+
+ * HYDROSOLVEUR : on définit le paramétrage physico numérique du calcul (fichier cas), 
+
+ * HYDROSOLVEUR : on exécute le calcul,
+
+ * PARAVIS : on dépouille les résultats
+
+Dans le module HYDRO lui-même, la logique d’enchaînement des étapes est la suivante 
+(voir les différents types d’objets manipulés dans l’arbre de gauche) :
+
+Il s’agit ici de la description d’un déroulement type, des allers-retours entre les différentes étapes
+sont tout à fait possibles et se produiront certainement.
+
+ * IMAGES : 
+
+L’idée est de partir d’images satellitaires et/ou de cartes de la zone à mailler 
+pour situer les différents éléments de l’étude., Ces images devront être géoréférencées 
+dans le même système de coordonnées que l’ensemble des données (Lambert93 par exemple). 
+Il peut s’agir de capture d’écran du géoportail par exemple.
+
+ * BATHYMETRIE :
+
+Les bathymétries constituées de nuages de points et/ ou de profils qui constituent le modèle de terrain 
+sur lequel va s’appuyer le maillage sont importées dans le projet.
+
+ * POLYLINES :
+
+Les polylignes (importées et/ou construites dans SALOME) permettent de définir les contours des différents objets
+naturels et artificiels qui vont intervenir dans le cas de calcul. Ce sont des lignes fermées dans le cas général.
+Certaines de ces lignes constitueront les lignes de contrainte du maillage.
+Les polylignes splines permettent de définir des contours sans que le maillage qui 
+s’y appuiera ne doive utiliser strictement les points de la ligne. Seule la forme générale compte. 
+On peut tracer les lignes à la souris ou les importer à partir d’un fichier.
+
+ * NATURAL OBJECTS :
+
+Il s’agit des éléments constitués par exemple de l’emprise d’un domaine, d’îles, de lacs...
+On sait en général leur associer une bathymétrie.
+
+ * ARTIFICIAL OBJECTS :
+
+Il s’agit de construire des éléments tels que des digues ou des canaux de géométrie connue.
+
+ * CALCULATION CASES :
+
+Lors de la définition du cas de calcul on sélectionne les objets à mailler et on résout les conflits 
+de recouvrement des bathymétries.
+
+données préalables
+==================
+
+* Pour les fichiers image : disposer de fichiers images des fonds carto ou photo et avoir repéré dans le système de travail 
+  les coordonnées de 2 ou 3 points bien répartis sur l’image (suffisament éloignés pour améliorer la précision).
+  Avec trois points, on peut faire une transformation affine de l'image, pour le cas improbable ou celle-ci ne
+  correspondrait pas à une projection verticale.
+* Disposer des données de bathy au format ASCII.
+
+Pour l’instant les fichiers de bathymetrie doivent porter l’extension .xyz (3 colonnes x,y,z) ou .asc
+(format de type grille a pas régulier, tel que fourni dans la BD Alti de l'IGN, par exemple).
+
+Import d'images
+================
+
+Il est possible d’importer des plans, cartes, et photos dans le module Hydro dans le dossier Images de l’arbre de l'étude.
+L’idée est de partir d’images satellitaires et/ou de cartes de la zone à mailler, 
+géoréférencées dans le même système de coordonnées que l’ensemble des données (Lambert93 par exemple).
+Il est possible de récupérer l’intersection de deux images, de les fusionner, de restreindre une image à partir d’une polyline.
+
+Les manipulations d'images sont introduites dans l'exercice plus bas.
+
+Choix d'un repère local
+=======================
+
+Il est vivement conseillé de changer l’origine du système de coordonnées local 
+pour éviter de manipuler de très grands nombres et avoir plus de précisions dans les différents calculs, notamment pour le maillage. 
+
+Pour cela il faut utiliser le menu *Hydro/change local CS* et renseigner les coordonnées de la nouvelle origine.
+
+Import de Bathymetries
+=======================
+
+Le mode opératoire est expliqué dans l'exercice plus bas.
+
+ * **remarque** : Si les altitudes sont inférieures à 0, la bathymétrie peut être cachée par les cartes ou photos
+   (qui sont à Z = 0 par convention). Si l'on a besoin de voir simultanément la bathymétrie et les images,
+   on peut, par exemple, soit passer en vue de dessous, soit éditer la bathymetrie (menu contextuel "edit imported bathymetry")
+   pour inverser les z, le temps de contrôler la superposition des cartes et de la bathymétrie
+   (ne pas oublier d'enlever l'inversion de z après !).
+
+Récupération de données de bathymétrie d'un ancien maillage 
+-----------------------------------------------------------
+
+Pour les différentes opérations ci-dessous, le mode opératoire précis reste à détailler. Les scripts Python cités
+ne sont pas fournis avec cette version, is nécesitent des adaptations au cas par cas.
+
+ * Il est possible de récupérer un ancien maillage d’un cas d’étude, en le transformant  avec un convertisseur 
+   intégré dans SALOME-HYDRO du format selafin (.slf) au format .med (format dédié pour la plate-forme Salomé en général).
+
+ * A partir de l’ancien maillage, il peut être nécessaire d’appliquer une translation (par exemple +2 000 000) 
+   à la position y des nœuds pour passer en système de géoréférencement connu (par exemple LambertIIEtendu). 
+
+ * 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 
+   (position x du nœud, position y du nœud, Champ Z associé).
+ * Ce fichier .xyz est converti en Lambert93 grâce au logiciel libre Circé (sous Windows).
+
+ * Ensuite les positions des nœuds des bords sont récupérées à l’aide d’un script Python qui parcourt les nœuds,
+   constate si ils sont au bord et crée un fichier dans lequel chaque bord récupéré est mis en forme pour un import direct
+   dans le module HYDRO.
+ * On peut isoler de cette façon le contour de l’emprise, des piles de ponts, et les îles éventuelles.
+
+Import d'objets de type lignes
+==================================
+
+Le format SinusX (ASCII) décrit en annexe permet de décrire plusieurs types de lignes et de profils.
+Les fichiers au format SinusX qui respectent les conventions décrites en annexe peuvent être importés
+dans SALOME HYDRO.
+
+polylignes
+-----------
+
+définition : lignes dans le plan XY, généralement utilisées pour définir des contours, des zones.
+
+profils
+----------
+
+Deux types de profils : géoréférencés ou non.
+
+Les profils géoréférencés sont définis dans XYZ, les autres dans XZ (XY).
+Utilité : section de digue, de canal, de rivière.
+
+On définit une seule section pour un canal ou une digue, une série de profils pour une rivière.
+
+Pour une digue, la valeur Z=0 correspond à la ligne de crête, pour un canal, c'est la ligne de fond.
+
+On considère uniquement des profils symétriques (par rapport à la ligne de crête ou de fond).
+
+
+Streams
+--------
+
+Rivière décrite par une succession de profils en travers, ordonnés via une ligne amont-aval qui passe par ces profils.
+Cette ligne peut être l'axe hydraulique, mais ce n'est pas obligatoire.
+
+Les fichiers de stream peuvent être des fichiers XYZ pour lequels chaque profil est séparé par une ligne vide.
+
+
+Dessin de lignes
+=================
+
+Les contours de type polyligne sont nécessaires à la création de la géométrie. 
+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...
+On peut afficher la bathymetrie ou les cartes lors de la saisie des contours pour se repérer. 
+
+polylines
+---------
+
+Dans SALOME les polylignes sont de deux types :
+
+ *  polylignes (ligne brisée constituée d'une série de segments droits, pour décrire un objet géométrique)
+
+ *  splines (suite d’arcs qui donne une courbe à dérivée continue, 
+    pour décrire une courbure naturelle, qui s’adaptera à la finesse de la discrétisation).
+
+L’utilisation de splines permet de définir des contours sans que le maillage qui s’appuie dessus
+ne s’accroche à tous les points de la ligne : seule la forme générale compte.
+
+Le mode opératoire est détaillé dans l'exercice ci-dessous.
+
+profils de digue ou canal
+--------------------------
+
+On peut importer ou dessiner ce type de profils.
+Le mode opératoire du dessin est détaillé dans l'exercice ci-dessous.
+
+profils de rivière
+------------------
+
+Seul l'import de ces profils est prévu.
+
+Création d'objets "naturels" type "zone immersible"
+===================================================
+
+Une **zone immersible** est une zone qui sera maillée. Les iles qui ne sont pas submersibles peuvent être exclues du maillage.
+Dans SALOME HYDRO, on distingue les îles du reste en désactivant leur attribut **Submersible**.
+
+Créer une zone immersible consiste à créer une face géométrique à partir d’un des contours dessinés précédemment. 
+On renseigne donc pour cela la polyline (obligatoire) sur laquelle va reposer la face et la bathymétrie (facultative) 
+que l’on souhaite associer à cette zone géographique.
+
+ * Remarque : la bathymétrie est facultative dans la création des objets naturels, notamment dans le cas des îles. 
+
+ * Remarque : Il est  possible de changer l’ordre d’affichage des différents objets naturels et artificiels qui sont tous par convention
+   dans le plan z=0, pour remettre "dessus" les petits objets.
+
+Création d'objets "naturels" type "stream"
+==========================================
+
+Le mode opératoire est détaillé dans l'exemple plus bas.
+
+Création d'objet "artificiel" type digue ou canal
+=================================================
+
+Le mode opératoire est détaillé dans l'exemple plus bas.
+
+Obstacles
+============
+
+Objets géométriques complexes (bâtiments...) importés depuis GEOM, 
+pour constituer des zones non submersibles ("iles" ou assimilés).
+Il faut mettre ces objets dans le repère local avant des les importer.
+
+Tables de coefficients de Strickler, Land Cover maps
+====================================================
+
+A compléter, la prise en compte des coefficients de strickler et des Land Cover Maps n'est pas finalisée dans la version 1.0 de mars 2016.
+
+Constitution d'un cas de calcul
+================================
+
+Lors de la constitution d'un cas de calcul, il est possible de ne sélectionner que certains des objets définis précedemment.
+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 
+de détails comme des piles de ponts, par exemple).
+
+L'emprise du domaine est définie par un contour polygonal particulier.
+
+Le chevauchement des différents objets crée des zones "en conflit" pour lesquelles il faut faire des choix pour le calcul de
+la bathymétrie.
+
+Le résultat du découpage en zones des différents objets se chevauchant constitue l'opération dite de **partition**.
+On peut regrouper des zones en régions homogènes dans la structure du maillage visée, 
+pour s’affranchir des contours que l'on ne veut pas garder en tant que lignes de contraintes.
+
+Dans le cas de calcul, il est possible d'identifier certaines lignes qui serviront de support aux conditions limites.
+
+Le resultat est exporté dans le module de géométrie.
+
+Le mode opératoire est détaillé dans l'exemple plus bas.
+
+Géométrie: Module GEOM
+======================
+
+Une fois le cas de calcul terminé et exporté il apparaît dans le module GEOM.
+
+Il faut activer ce module pour pouvoir visualiser et modifier le cas exporté.
+
+Dans GEOM, on voit notre cas de calcul sous le nom <nom de cas>_N auquel est attaché le (ou les) contour(s) 
+choisis au moment au moment de la définition du cas de calcul.
+
+Il se peut qu’on ait besoin d'identifier certaines parties :
+
+ * Faces : pour mailler de façon différentes certaines zones
+
+ * Segments : pour définir les conditions aux limites.
+
+Le mode opératoire est détaillé dans l'exemple plus bas.
+
+ * remarque : Il est possible d'utiliser le module de géométrie pour définir un certain nombre de
+   contraintes sur le maillage. par exemple, on peut définir des points fixes de notre maillage 
+   (qui vont par exemple correspondre à des points de mesure).
+   **Toute modification de la géométrie se traduit par la création d'un nouvel objet et la perte des groupes
+   définis dans l'objet initial. Il faut donc créer les groupes en dernier, sur la géométrie finale,
+   et, si possible éviter les modifications qui font perdre les définitions automatiques du module HYDRO.**
    
+Maillage: Module SMESH
+=======================
+
+On se réferera aux formations SALOME pour l'utilisation du module SMESH.
+
+Le mode opératoire pour SALOME HYDRO est détaillé dans l'exemple plus bas.
+
+Interpolation en Z
+===================
+
+principes
+---------
+
+En hydrodynamique il est primordial de connaître la valeur de la bathymétrie en chaque nœud de calcul.
+
+Le calcul de la bathymétrie est fait zone par zone, a chaque zone est associé un mode de calcul de la bathymétrie :
+
+ * à partir des nuages de points
+
+ * à partir des profils de rivière
+
+ * à partir de l'axe et de la section des digues et canaux
+
+ * à partir de la CAO des obstacles
+
+Pour les nuages de points, en version 1.0 on dispose d’un script qui permet d’interpoler la bathymétrie sur le maillage. 
+Ce script utilise un algorithme qui prend juste la valeur du Z du point le plus proche. 
+  
+L'amélioration de ce script est prévue dans les prochaines versions.
+
+Plusieurs approches possibles, quand la bathymétrie n'est pas assez dense par rapport au maillage :
+
+ * densifier artificiellement la bathymétrie (interpolation linéaire, outils et scripts à proposer)
+ * utiliser TELEMAC avec le mot clé FICHIER DES FONDS (il faut regrouper les bathymétries dans un fichier unique).
+  
+L'amélioration du script est prévue en 2016.
+
+Le mode opératoire est détaillé dans l'exemple plus bas.
+
+Mise en données Physico-numérique pour TELEMAC
+===============================================
+
+Cette mise en données fait intervenir le module HYDROSOLVEUR pour l'assemblage du cas de calcul.
+
+description des conditions limites
+----------------------------------
+
+Chaque zone de condition limite correspond à un groupe nommé dans le maillage.
+Les types de conditon limites associés à un groupe sont définis dans un fichier dont la syntaxe est donnée en exemple plus bas.
+
+édition du fichier Cas
+----------------------
+
+Les paramètres de calcul sont définis dans le fichier Cas avec la syntaxe TELEMAC 2D (avec un éditeur de texte standard).
+
+inventaire des fichiers utilisés
+--------------------------------
+
+A compléter, voir l'exemple ci-dessous.
+
+Lancement et suivi du calcul
+============================
+
+Le module HYDROSOLVEUR permet de lancer TELEMAC 2D.
+
+Le mode opératoire est détaillé dans l'exemple plus bas.
+
+Dépouillement des résultats
+===========================
+
+Le module PARAVIS est utilisé pour l'exploitation des résultats. 
+On se réferera aux formations SALOME pour l'utilisation du module PARAVIS.