Dans le dialogue, nous nommons le cas : *garonne_1*.
***Nous choisissons comme limite le domaine**,
-nous prenons le mode manuel (ce mode sera expliqué plus loin),
+nous prenons le **mode manuel** (ce mode sera expliqué plus loin),
nous sélectionnons les trois objets présents, pour les inclure dans le cas.
Il faut valider cette étape en appuyant sur le bouton *next*.
Le dialogue suivant permet d'affecter des coefficients de frottement à différentes zones du domaine,
à l'aide d'une table de coefficients de Strickler, et d'un découpage en zones `land cover map`.
Il faut avoir préalablement importé et/ou édité cette table de Strickler et ce `land cover map`.
-Nous sautons cette étape dans le cadre de notre étude simple. Cette étape sera développée plus tard.
+Nous sautons cette étape dans le cadre de notre étude simple. Cette étape est étudiée plus loin.
Il faut valider cette étape en appuyant sur le bouton *next*.
Il faut valider cette dernière étape en appuyant sur le bouton *Finish*.
-Le cas est publié dans l'arbre d'étude.Nous sélectionnons chaque région pour lui donner un nom significatif (menu contextuel).
+Le cas est publié dans l'arbre d'étude.Nous sélectionnons chaque région pour lui donner un nom significatif (menu contextuel *Rename*).
Pour identifier la région, il faut s'aider en examinant les zones qu'elle contient.
La vue graphique affiche les zones. En développant l'arbre d'étude au niveau de chaque région,
# General information about the project.
project = u'SALOME HYDRO'
-copyright = u'2015-2016, EDF'
+copyright = u'2015-2017, EDF'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
#
# The short X.Y version.
#version = '@SALOMEHYDRO_VERSION@'
-version = '7.8.0'
+version = '8.2.0'
# The full version, including alpha/beta/rc tags.
#release = '@SALOMEHYDRO_VERSION@'
-release = '7.8.0- module HYDRO -1.1-2016.07.04'
+release = '8.2.0- module HYDRO -2.0-2017.04.14'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
A compléter. Voir la formation Paravis.
+.. attention::
+ admonition spécifique : attention
+
+ texte inclus
+
+.. caution::
+ admonition spécifique : caution
+
+ texte inclus
+
+.. danger::
+ admonition spécifique : danger
+
+ texte inclus
+
+
+
.. only:: html
:ref:`ref_exempleInondation`
Outils complémentaires : qgis et CloudCompare
###############################################
-qgis et CloudCompare sont fournis à coté de SALOME HYDRO.
+qgis et CloudCompare sont fournis à coté de SALOME-HYDRO.
A partir de SALOME 8, l'installation de qgis et/ou CloudCompare est fournie dans un produit séparé.
A EDF cela dépend de la plateforme :
et, en tous cas, avant d'exporter des éléments du module HYDRO, notamment la géométrie de calcul.
**Il est recommandé de fixer le repère local tôt dans l'étude, dès que l'étendue du domaine de calcul
est connue**.
+
+ * Après un changement de repère local, if faut mettre à jour les données de l'arbre qui apparaissent en bleu italique
+ avec le menu contextuel *update*, puis recentrer la vue avec la commande *Fit All*.
Dump Python
===========
:width: 16pt
:height: 16pt
-SALOME HYDRO est une plateforme métier dédiée aux études d'hydraulique à surface
+SALOME-HYDRO est une plateforme métier dédiée aux études d'hydraulique à surface
libre, avec les codes TELEMAC et MASCARET. La plateforme s'appuie sur les modules
génériques de SALOME (géométrie, maillage, supervision de calculs, post traitement...)
auxquels ont été ajoutés deux modules spécifiques du métier :
* Taper l’adresse : https://salome.der.edf.fr/
- * Chercher la dernière version de SALOME_HYDRO dans la rubrique : Télécharger.
+ * Chercher la dernière version de SALOME-HYDRO dans la rubrique : Télécharger.
* On récupère un fichier *xxx*.run
* Lancer l’installation en tapant ./*xxx*.run
- * Réponse aux questions d’installation (répertoire : a votre choix, langue : **impérativement anglais**, toutes les autres questions : oui par défaut)
+ * Réponse aux questions d’installation (répertoire : à votre choix, langue : **impérativement anglais**, toutes les autres questions : oui par défaut)
-Salome_Hydro est installé. Il y a un icône sur le bureau.
+Salome-Hydro est installé. Il y a un icône sur le bureau.
Il est possible de glisser-déplacer l'icône dans un éditeur ouvert (gedit ou équivalent) pour remplacer la ligne *Terminal=false* par *Terminal=true*.
Ceci permet d'avoir la trace d'exécution, pour faciliter le diagnostic de certains problèmes. Ce n'est pas obligatoire.
Dans le terminal, il est possible de récupérer les traces d'exécution en cas de problème.
+* **remarque** : il est possible de donner des options à la commande salome.
+ Par exemple, l'option -k ferme toutes les instances de SALOME précédentes et libère les ressources associées.
+ On peut obtenir de l'aide avec l'option -h ::
+
+ <appli_XXX>/salome -h
+
manipulation des vues dans SALOME
====================================
Le zoom est centré par défaut.
Activation avec la molette de la souris : pour pouvoir activer le zoom avec la molette de la souris :
file / préférences (sélectionner le module SALOME) / 3D viewer / zooming style / relative au curseur.
-Un zoom relatif au curseur est centré sur la partie au tour de la position du curseur
+Un zoom relatif au curseur est centré sur la partie autour de la position du curseur
alors qu’un zoom centré prend en compte toute la zone.
Pour zoomer sur une donnée de l’arbre :
-Sélectionner la donnée de l’arbre.
+Sélectionner la donnée de l’arbre, afficher cette donnée (clic droit et *show* ou *show only*)
Dans la barre d’outils en haut choisir le bouton *Fit All* |fit_all|.
Rotation
Le script utilise une association des régions du cas de calcul HYDRO aux groupes de noeuds correspondants dans le maillage.
Une commande du module HYDROSOLVER facilite la définition de cette association.
-Il faut maintenant activer le module HYDROSolveur, via la liste défilante des modules, ou son icône dans le bandeau : |HYDROSolver|.
+Il faut maintenant activer le module HYDROSOLVER, via la liste défilante des modules, ou son icône dans le bandeau : |HYDROSolver|.
Nous utilisons la commande *Generate interpolz.py* du menu *Hydro*.
Il faut sélectionner le cas de calcul dans la rubrique *HYDRO / CALCULATION CASE* de l'arbre d'étude.
Son nom apparaît dans la première ligne *Calculation cas* du dialogue.
-Le chemin compplet du script à créer doit être renseigné dans la rubrique *Output path*.
+Le chemin complet du script à créer doit être renseigné dans la rubrique *Output path* (le nom du script doit se terminer par .py).
Il faut désigner le fichier du maillage de départ construit à l'étape précédente dans rubrique *MED file*.
* garonne_1F.med : coordonnée Z à sa valeur calculée, et champ "BOTTOM" avec la valeur Z aux noeuds
Pour exécuter le script, il faut que le module HYDRO soit bien actif dans l'étude.
-Si l'on reprend une étude précédemment sauvegardée, il faut avoir activé le module HYDRO avant
-de lancer le script (il suffit de sélectionner HYDRO au moins une fois,
+**Si l'on reprend une étude précédemment sauvegardée, il faut avoir activé le module HYDRO avant
+de lancer le script** (il suffit de sélectionner HYDRO au moins une fois,
pour que les données stockées dans le fichier d'étude soient lues).
Nous exécutons le script avec la commande du menu *File / Load Script...*.
-Le script bloque l'interface graphique le temps de son exécution. Il affiche une trace d'exécution dans la console
+Le script bloque l'interface graphique le temps de son exécution qui dépend de la taille du maillage
+et des nuages de point de bathymétrie. Il affiche une trace d'exécution dans la console
Python qui est affichée par défaut dans les modules GEOM et SMESH.
Il est aussi possible d'adapter manuellement le script ci-dessous :
.. |CasPytelFinCalcul| image:: /_static/CasPytelFinCalcul.png
:align: middle
-Il faut maintenant activer le module HYDROSolveur, via la liste défilante des modules, ou son icône dans le bandeau : |HYDROSolver|.
-Le module HYDROSolveur prend en charge les calculs Telemac et Mascaret ainsi que leur couplages.
+Il faut maintenant activer le module HYDROSOLVER, via la liste défilante des modules, ou son icône dans le bandeau : |HYDROSolver|.
+Le module HYDROSOLVER prend en charge les calculs Telemac et Mascaret ainsi que leur couplages.
Création du Cas de Calcul PYTEL
===============================
# General information about the project.
project = u'module HYDRO'
-copyright = u'2015-2016, EDF'
+copyright = u'2015-2017, EDF'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
-version = '7.6'
+version = '8.2'
# The full version, including alpha/beta/rc tags.
-release = '7.6-2015.12.18'
+release = '8.2-2017.04.14'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#html_file_suffix = None
# Output file base name for HTML help builder.
-htmlhelp_basename = 'module_HYDRO_V76'
+htmlhelp_basename = 'module_HYDRO_V82'
# -- Options for LaTeX output --------------------------------------------------
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
- ('index', 'moduleHYDRO_V76.tex', project,
+ ('index', 'moduleHYDRO_V82.tex', project,
u'EDF', 'manual'),
]
l'hypothèse *Local Length*, et prenons une longueur de 100 (mètres). Il est utile de renommer l'hypothèse à ce stade.
**remarque** : Les hypothèses et algorithmes peuvent être partagés entre plusieurs maillages et sous maillages,
-ce qui permet de modifier en un seul endroit tout ce qui doit rester cohérent. du coup, il est utile d'avoir des noms
-significatifs pour les identifier.
+ce qui permet de modifier en un seul endroit tout ce qui doit rester cohérent. du coup, **il est utile d'avoir des noms
+significatifs pour les identifier**.
|Capture_HypothesisLocalLength|
Nous validons la définition du sous maillage avec le bouton *Apply and Close*.
-La longueur que nous avons défini s'applique à la fois longitudinalement et transversalement. Pour contrôler le
+La longueur que nous avons définie s'applique à la fois longitudinalement et transversalement. Pour contrôler le
nombre de mailles transversales, il faut un nouveau sous maillage, appliqué au groupe d'edges *SectionsGaronne*.
Nous créons donc un sous maillage sur *SectionsGaronne*, en prenant cette fois comme algorithme *Wire Discretisation*
Orientation des mailles
-----------------------
-Pour les maillages surfaciques XY, **SALOME oriente par défaut les triangles dans le sens contraire à ce qu'attend TELEMAC**.
-SALOME oriente les triangles avec la normale sortante vers le bas. On peut le vérifier avec la couleur des mailles
+Pour les maillages surfaciques XY, **SALOME peut orienter par défaut les triangles dans le sens contraire à ce qu'attend TELEMAC**,
+selon le sens de saisie des différentes lignes. SALOME peut donc orienter les triangles d'une face
+avec la normale sortante vers le bas. On peut le vérifier avec la couleur des mailles
(bleu plus foncé sur l'envers que sur l'endroit) ou en utilisant la commande *Orientation of Faces* du menu contextuel
de la vue 3D du maillage. Cette commande dessine une flèche par triangle. Sur l'envers de la face, on ne voit qu'un point.
Pour voir les flèches, il faut changer l'angle de vue.
Il faut définir en entrée le chemin du fichier MED utilisé, et en sortie, le chemind du fichier des zones de conditions limites.
L'entree *Boundary condition file* ne sert que pour lire un fichier existant.
-Il faut selectionner le type de condition limite sur les zones amont, aval, bord gauche et droit, et ne rien mettre sur les autres groupes.
+Il faut sélectionner le type de condition limite sur les zones amont, aval, bord gauche et droit, et ne rien mettre sur les autres groupes.
|genereCondlim|
along with SALOME HYDRO module. If not, see <http://www.gnu.org/licenses/>.
####################################
-Conseils, pièges a eviter
+Conseils, pièges à éviter
####################################
Ce paragraphe sera repris en fonction des retours utilisateur.
- angles aigus aux limites du domaines : risque de création de triangles surcontaints, ce qui implique de les détecter
et d'inverser des diagonales.
+
+- traiter les nuages de points trop volumineux avant de les importer dans SALOME-HYDRO, par exemple en utilisant
+ l'outil *cloudCompare* pour faire une décimation du nuage selon la courbure de celui-ci.
+
+- enregistrer très régulièrement l'étude, en la renommant de façon à conserver des étapes successives.
+ Cela peut s'avérer très utile en cas d'erreur intempestive...
+
+- ne pas utiliser de caractères spéciaux (espaces, accents...) dans les noms des objets.
+
+- donner des noms significatifs aux différents objets (ils sont vite très nombreux dans une étude réaliste),
+ aini qu'aux hypothèses de maillage.
+
+- il est important de bien choisir où commence une ligne fermée de type spline :
+ Ce premier point reste présent jusqu'au maillage, et peut poser une contrainte inutile si il est mal placé.
+ Dans le dessin d'un lit mineur, on fait généralement un contour fermé débortdant du domaine d'étude. Il est judicieux
+ de mettre ce premier point hors du domaine.
+
+- dans la construction d'un domaine d'étude contenant un fleuve, il faut veiller à couper celui-ci perpendiculairement
+ à son axe, pour pouvoir définir des conditions aux limites correctes.
- utilisation du type spline ou du type polyline ?
ce type de ligne pour les objets artificiels composés de segments droits, et chaque fois
que l'on a besoin de lignes brisées. Les points sont conservés dans le maillage.
+ * Les deux types de lignes peuvent être combinés : voir le chapitre sur la manipulation de polylignes.
+
.. only:: html
:ref:`ref_notionsPrealables`
La première partie du dialogue de création permet de nommer la polyligne.
Il est important de donner des noms significatifs aux objets, nous pourrons être amenés à en manipuler un grand nombre.
+
+* **remarque** : attention à ne pas utiliser d'espaces ou d'accents pour les noms d'objets : problèmes potentiels
+ à différents niveaux dont les scripts Python.
+
Il est toujours possible de renommer les objets après coup :
|createPolyligneDialogue1|
* **remarque** : Les polylignes sont de deux types :
* *spline* : une seule ligne continue, a dérivée continue, passant par tous les points.
- On privilégie ce type de ligne pour toutes les lignes courbes, les points de définition ne
- seront pas repris dans le maillage, ce qui donne une plus grande souplesse sur le contrôle
+ **On privilégie ce type de ligne pour toutes les lignes courbes, les points de définition ne
+ seront pas repris dans le maillage**, ce qui donne une plus grande souplesse sur le contrôle
du raffinement de maillage.
* *polyline* : une seule ligne continue, composée de segments droits. Il faut utiliser
|addition_mode|
-Nous cliquons alors sur la carte, en suivant le contour du fleuve. Il faut commencer à une extrémité
-(amont ou aval du domaine). Chaque clic dépose un point, et le contour fermé se dessine progressivement.
+Nous cliquons alors sur la carte, en suivant le contour du fleuve. **Il faut commencer à une extrémité
+(amont ou aval du domaine)**. Chaque clic dépose un point, et le contour fermé se dessine progressivement.
Il est possible d'annuler un ou plusieurs des derniers points, avec les boutons undo / redo :
|undoPoly|
- * **remarque** : Il est important de choisir ou commence une ligne fermée : le point correspondant est le
- seul qui reste imposé dans le maillage. Dans le cas d'un fleuve, autant mettre ce point hors du domaine.
+ * **remarque** : **Il est important de choisir ou commence une ligne fermée : le point correspondant est le
+ seul qui reste imposé dans le maillage. Dans le cas d'un fleuve, autant mettre ce point hors du domaine.**
|ajoutPointsPolyligne|
Une fois le fleuve dessiné, nous poursuivons avec le dessin du contour de la bathymétrie du lit majeur, garonne_point_L93,
puis la définition du contour du domaine de calcul, qui doit couper les deux autres lignes en amont et en aval.
-Il est préférable que le domaine de calcul coupe le fleuve perpendiculairement à son axe, de façon à
+**Il est préférable que le domaine de calcul coupe le fleuve perpendiculairement à son axe, de façon à
définir correctement les conditions limites amont et aval. Il faut aussi éviter de créer des angles aigus en limite
-du domaine, ce qui risquerait de favoriser l'apparition de triangles surcontraints lors du maillage (ce qui peut se
+du domaine, ce qui risquerait de favoriser l'apparition de triangles surcontraints lors du maillage** (ce qui peut se
corriger par une détection et une inversion de diagonale).
.. only:: html
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.
+ **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.
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)
+ 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.
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.
+
+ * **Land Cover Map** : Carte d'occupation des sols, qui donne la nature des terrains, selon une codification
+ *Corine Land Cover*.
+
+ * **Table de Strickler** : Donne le *coefficient de Stricker* (frottement au sol) par type de Zone *Corine Land Cover*.
+ Ces coefficients sont à ajuster au cas par cas, selon le type de calcul.
################################################
* 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 importe ou crée une carte des occupations des sols (Land Cover Map)
+ et une table donnant les coefficients de Strickler par type de zone (frottements au sol),
* 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),
+ ce sont les faces de la géométrie finale SALOME), on associe au cas la Land Cover Map et la table de Strickler,
* HYDRO : on exporte le cas vers GEOM,
* 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,
+ * HYDROSOLVER : on génère et exécute le script Python qui permet le calcul de l'interpolation en Z aux noeuds du maillage,
+ à partir du fichier MED et du cas de calcul,
- * HYDROSOLVEUR : on définit le paramétrage physico numérique du calcul (fichier cas),
+ * HYDROSOLVER : on génère et exécute le script Python qui permet l'affectation des coefficients de Strickler aux noeuds du maillage,
+ à partir du fichier MED et du cas de calcul,
- * HYDROSOLVEUR : on exécute le calcul,
+ * HYDROSOLVER : on définit le paramétrage physico numérique du calcul (fichier cas),
+
+ * HYDROSOLVER : on exécute le calcul,
* PARAVIS : on dépouille les résultats
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).
+* Si l'on dispose de profils en travers pour le lit mineur, il peuvent être fournis au format .xyz
+ avec une ligne blanche séparant chaque profil, ou au format SinusX décrit plus loin.
+
Import d'images
================
Choix d'un repère local
=======================
-Il est vivement conseillé de changer l’origine du système de coordonnées 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.
* 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
+ 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
dans le module HYDRO.
* On peut isoler de cette façon le contour de l’emprise, des piles de ponts, et les îles éventuelles.
Le mode opératoire est détaillé dans l'exercice ci-dessous.
+Il est possible de créer des lignes combinant polylignes et splines.
+Voir plus loin le pararaphe de manipulation des polylignes.
+
profils de digue ou canal
--------------------------
Il faut activer ce module pour pouvoir visualiser et modifier le cas exporté.
+Il est conseillé de faire un *show only* sur la géométrie :
+dans l'arbre, se placer sur le cas de calcul dans la géométrie et menu contextuel clic droit *show only*.
+
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.
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.
+Le mode opératoire pour SALOME-HYDRO est détaillé dans l'exemple plus bas.
Interpolation en Z
===================
* à 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.
+Pour les nuages de points, on dispose dans HYDROSOLVER d’un utilitaire générant un script Python
+qui permet d’interpoler la bathymétrie sur le maillage.
Ce script utilise un algorithme qui prend soit la valeur du Z du point le plus proche, soit la valeur Z interpolée
sur une triangulation préalable du nuage.
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.
+Cette mise en données fait intervenir le module HYDROSOLVER 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.
+Les types de conditon limites associés à un groupe sont définis dans un fichier.
+Dans le module HYDROSOLVER, un outil permet d'associer des types de condition limites aux groupes concernés ans le maillage,
+
é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
---------------------------------
+inventaire des fichiers utilisés par TELEMAC 2D
+-----------------------------------------------
A compléter, voir l'exemple ci-dessous.
Lancement et suivi du calcul
============================
-Le module HYDROSOLVEUR permet de lancer TELEMAC 2D.
+Le module HYDROSOLVER permet de lancer TELEMAC 2D.
Le mode opératoire est détaillé dans l'exemple plus bas.