From: Paul RASCLE Date: Sat, 29 Apr 2017 13:16:57 +0000 (+0200) Subject: preparation tutoriel anglais X-Git-Tag: Salome_8_3_Hydro_1_1rc1~41 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=c4bf52049ce8f63866e3e4cff87d630a5804587c;p=modules%2Fhydro.git preparation tutoriel anglais --- diff --git a/doc/salome/tutorial/CMakeLists.txt b/doc/salome/tutorial/CMakeLists.txt index 190ec4fd..800cb33c 100644 --- a/doc/salome/tutorial/CMakeLists.txt +++ b/doc/salome/tutorial/CMakeLists.txt @@ -56,7 +56,7 @@ ADD_CUSTOM_TARGET(BUILD_HTML ALL DEPENDS ${RSTFILES} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) - + ADD_CUSTOM_TARGET(BUILD_PDF ALL COMMAND ${CMAKE_COMMAND} -E make_directory latex COMMAND ${SPHINX_EXECUTABLE} -c ${CMAKE_BINARY_DIR}/doc/salome/tutorial -b latex ${ALLSPHINXOPTS} latex @@ -71,3 +71,6 @@ INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ ) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/moduleHYDRO_tutoriel.pdf DESTINATION ${SALOME_INSTALL_DOC}/gui/HYDRO_tutorial) + +ADD_SUBDIRECTORY(english) + diff --git a/doc/salome/tutorial/english/CMakeLists.txt b/doc/salome/tutorial/english/CMakeLists.txt new file mode 100644 index 00000000..ffe414ea --- /dev/null +++ b/doc/salome/tutorial/english/CMakeLists.txt @@ -0,0 +1,73 @@ +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + +SET(RSTFILES + index.rst + english_casCalcul.rst + english_depouillementCalcul.rst + english_donneesPrealables.rst + english_format_sinusx.rst + english_geometrie.rst + english_import.rst + english_importBathy.rst + english_installationLancementSalome.rst + english_interpolationZ.rst + english_lancementCalcul.rst + english_landCoverMap.rst + english_maillage.rst + english_manipsPolys.rst + english_miseEnDonneesTelemac.rst + english_objetsArtificiels.rst + english_objetsNaturels.rst + english_piegesAEviter.rst + english_polylignes.rst + english_preliminaires.rst + english_sinusX_Format.rst + english_streams.rst +) + +SET(SPHINXOPTS ) +SET(SOURCEDIR ${CMAKE_CURRENT_SOURCE_DIR}) +SET(PAPEROPT_a4 -D latex_paper_size=a4) +SET(ALLSPHINXOPTS -d doctrees ${PAPEROPT_a4} ${SPHINXOPTS} ${SOURCEDIR}) + +# install user's documentation + +SALOME_CONFIGURE_FILE(conf.py.in conf.py) + +ADD_CUSTOM_TARGET(BUILD_HTML2 ALL + COMMAND ${CMAKE_COMMAND} -E make_directory html + COMMAND ${CMAKE_COMMAND} -E make_directory doctrees + COMMAND ${SPHINX_EXECUTABLE} -c ${CMAKE_BINARY_DIR}/doc/salome/tutorial/english -b html ${ALLSPHINXOPTS} html + DEPENDS ${RSTFILES} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +) + +ADD_CUSTOM_TARGET(BUILD_PDF2 ALL + COMMAND ${CMAKE_COMMAND} -E make_directory latex + COMMAND ${SPHINX_EXECUTABLE} -c ${CMAKE_BINARY_DIR}/doc/salome/tutorial/english -b latex ${ALLSPHINXOPTS} latex + COMMAND make -C latex all-pdf + DEPENDS ${RSTFILES} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +) + +INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ + DESTINATION ${SALOME_INSTALL_DOC}/gui/HYDRO_English_tutorial + PATTERN ".buildinfo" EXCLUDE +) + +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/moduleHYDRO_tutoriel.pdf DESTINATION ${SALOME_INSTALL_DOC}/gui/HYDRO_English_tutorial) diff --git a/doc/salome/tutorial/english/conf.py.in b/doc/salome/tutorial/english/conf.py.in new file mode 100644 index 00000000..0e35d912 --- /dev/null +++ b/doc/salome/tutorial/english/conf.py.in @@ -0,0 +1,223 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2013 EDF +# +# This file is part of SALOME HYDRO module. +# +# SALOME HYDRO module is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# SALOME HYDRO module is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with SALOME HYDRO module. If not, see . + + +# HYDRO module documentation build configuration file, created by +# sphinx-quickstart. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.append(os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +#extensions = ['sphinx.ext.extlinks'] +extensions = ['sphinx.ext.viewcode','sphinx.ext.pngmath'] + +# Add any paths that contain templates here, relative to this directory. +#templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'SALOME HYDRO' +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 = '@SALOMEHYDRO_VERSION@' +version = '8.2.0' +# The full version, including alpha/beta/rc tags. +#release = '@SALOMEHYDRO_VERSION@' +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. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of documents that shouldn't be included in the build. +#unused_docs = [] + +# List of directories, relative to source directory, that shouldn't be searched +# for source files. +exclude_trees = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. Major themes that come with +# Sphinx are currently 'default' and 'sphinxdoc'. +html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['../_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_use_modindex = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = '' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'module_HYDRO_tutorial' + + +# -- Options for LaTeX output -------------------------------------------------- + +latex_elements = { +# The paper size ('letter' or 'a4'). +#latex_paper_size = 'a4' +'papersize': 'a4paper', + +# The font size ('10pt', '11pt' or '12pt'). +#latex_font_size = '10pt' + +# Latex figure (float) alignment +'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'moduleHYDRO_tutoriel.tex', u'module HYDRO Documentation', + u'EDF', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# Additional stuff for the LaTeX preamble. +#latex_preamble = '' +latex_preamble = """\usepackage{pdfpages} +\setcounter{tocdepth}{2}""" + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_use_modindex = True diff --git a/doc/salome/tutorial/english/english_casCalcul.rst b/doc/salome/tutorial/english/english_casCalcul.rst new file mode 100644 index 00000000..397cb90b --- /dev/null +++ b/doc/salome/tutorial/english/english_casCalcul.rst @@ -0,0 +1,165 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Constitution du cas de calcul +######################################### + +.. |createCalculationCase1| image:: /../_static/createCalculationCase1.png + :align: middle + +.. |createCalculationCase2| image:: /../_static/createCalculationCase2.png + :align: middle + +.. |createCalculationCase3| image:: /../_static/createCalculationCase3.png + :align: middle + +.. |createCalculationCase4| image:: /../_static/createCalculationCase4.png + :align: middle + +.. |createCalculationCase5| image:: /../_static/createCalculationCase5.png + :align: middle + +.. |createCalculationCase6| image:: /../_static/createCalculationCase6.png + :align: middle + +.. |createCalculationCase7| image:: /../_static/createCalculationCase7.png + :align: middle + +.. |createCalculationCase8| image:: /../_static/createCalculationCase8.png + :align: middle + +.. |createCalculationCase9| image:: /../_static/createCalculationCase9.png + :align: middle + +.. |createCalculationCase10| image:: /../_static/createCalculationCase10.png + :align: middle + +Création du cas +=============== + +Nous allons créer un *Cas de Calcul*, c'est à dire la configuration des objets que nous allons retenir dans notre étude. + +Nous avons créé 3 objets : le lit mineur, le lit majeur, et le domaine d'étude. + +Pour créer un *cas de calcul*, nous utilisons le menu contextuel de la rubrique *CALCULATION CASE*. + + |createCalculationCase1| + +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 sélectionnons les trois objets présents, pour les inclure dans le cas. + +Il faut valider cette étape en appuyant sur le bouton *next*. + + |createCalculationCase2| + +Le dialogue propose de sélectionner des groupes à conserver : +il s'agit des contours des différents objets pris en compte dans le cas. +Ces groupes peuvent se révéler utiles par la suite pour définir des conditions aux limites, ou contrôler le maillage. +Le fait de les conserver permet de les retrouver sous leur nom dans les différentes étapes du calcul. + +Nous sélectionnons les trois groupes proposés, pour les garder dans le cas. + +Il faut valider cette étape en appuyant sur le bouton *next*. + + |createCalculationCase3| + +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 est étudiée plus loin. + +Il faut valider cette étape en appuyant sur le bouton *next*. + + |createCalculationCase4| + +Choix du calcul de la Bathymetrie pour les zones de chevauchement +================================================================= + +L'étape suivante montre le résultat de la *partition* des différentes zones retenues dans le cas de calcul. +Les surfaces initiales ont été découpées selon les lignes de chevauchement. + +Le panneau de droite montre autant de *régions* que de faces découpées : chaque région contient une face découpée ou *zone*. + +Certaines zones sont colorées en rouge : ces zones sont les zones de chevauchement des faces initiales. +La liste des objets initiaux apparaît dans la deuxième colonne. + +Pour ces zones, plusieurs définitions de bathymétrie sont possibles. Elles sont listées en troisième colonne. +Tant que l'on n'a pas défini quelle règle prendre pour calculer la bathymétrie sur la zone, elle est déclarée *en conflit*. + + |createCalculationCase5| + +Il faut sélectionner successivement chaque zone en conflit, pour choisir le mode de calcul de la bathymétrie +pour la zone. +La sélection s'opère dans le menu déroulant associé à la zone. + +Les choix possibles sont : + + * une bathymétrie parmi celles proposées + + * le minimum local de l'ensemble des bathymétries listées + + * le maximum local de l'ensemble des bathymétries listées + + |createCalculationCase6| + +Quand la résolution des conflits est terminée, il ne doit plus rester de zone rouge. + +Il est possible de régénérer les couleurs des zones (bouton *regenerate colors*) si nécessaire. + + |createCalculationCase7| + +Regroupement des zones en régions +================================= + +Nous regroupons ensuite plusieurs zones dans des régions. Pourquoi ? + +Une zone correspond à un mode de calcul de la bathymétrie. +Le contour de cette zone n'est pas forcément intéressant en tant que *ligne de contrainte* du maillage. +Quand on regroupe plusieurs zones contiguës dans une même région, seul le contour de la région sera gardé en +tant que *ligne de contrainte* du maillage. + +Nous regroupons donc les deux zones de la rive gauche ensemble, et faisons de même avec les deux zones de la rive Droite, +pour obtenir trois régions. + +Pour déplacer une zone, il faut faire un *drag & drop* de cette zone d'une région à une autre. + +Il faut valider cette étape en appuyant sur le bouton *next*. + + |createCalculationCase8| + +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 *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, +il est possible de sélectionner les zones pour les mettre en surbrillance. + +En principe, il n'est pas nécessaire de renommer les zones elles mêmes, mais seulement les régions. +Ce sont les régions que l'on utilisera par la suite à l'aide de leur nom. Une étude réaliste peut en contenir plusieurs dizaines. + + |createCalculationCase10| + + +  + :ref:`ref_exempleInondation` + diff --git a/doc/salome/tutorial/english/english_depouillementCalcul.rst b/doc/salome/tutorial/english/english_depouillementCalcul.rst new file mode 100644 index 00000000..6deda48c --- /dev/null +++ b/doc/salome/tutorial/english/english_depouillementCalcul.rst @@ -0,0 +1,27 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Dépouillement du calcul TELEMAC +######################################### + +A compléter. Voir la formation Paravis. + +.. only:: html +  + :ref:`ref_exempleInondation` diff --git a/doc/salome/tutorial/english/english_donneesPrealables.rst b/doc/salome/tutorial/english/english_donneesPrealables.rst new file mode 100644 index 00000000..bf749cf7 --- /dev/null +++ b/doc/salome/tutorial/english/english_donneesPrealables.rst @@ -0,0 +1,47 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +Outils complémentaires : qgis et CloudCompare +############################################### + +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 : + +* sur Calibre 7 qgis et cloudCompare sont fournis à part, +* sur Calibre 9, cloudCompare est installé avec SALOME, qgis à part. + +Connaissant le répertoire d'installation des produits ( ** ) :: + + /salome shell CloudCompare + +ou:: + + /salome shell qgis + + +Pour CloudCompare sur Calibre 9, on peut aussi, depuis SALOME, utiliser le menu *tools / plugins / Salome shell session* +pour ouvrir un shell dans l'environnement SALOME. + +Dans ce shell, la commande *CloudCompare* lance le logiciel. + +  +.. only:: html +  + :ref:`ref_notionsPrealables` diff --git a/doc/salome/tutorial/english/english_format_sinusx.rst b/doc/salome/tutorial/english/english_format_sinusx.rst new file mode 100644 index 00000000..9e01c771 --- /dev/null +++ b/doc/salome/tutorial/english/english_format_sinusx.rst @@ -0,0 +1,565 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +###################################### +Interprétation du format SinusX +###################################### + +Structure du fichier et types de lignes +======================================= + +Le fichier ASCII est structuré en blocs de données. + +Les lignes commençant par *B* sont des délimiteurs de bloc. + +Les lignes commençant par *CN* ou *CP* complètent la définition du bloc. + +Les autres lignes commençant par *C* sont des commentaires. + +Les lignes commençant par des nombres sont les points du bloc. + +On peut décrire des semis de points, des courbes xyz, des profils, des courbes de niveau. + +Selon le format, les courbes peuvent être reliées ou non, fermées ou non. +En pratique, une courbe non reliée est une sorte de semis de point... + +Le module HYDRO de SALOME prend en compte des points xyz, des courbes dans le plan XoY (z=0), +des courbes dans le plan XoZ (profils). +Pour traiter les courbes dans l'espace (Z quelconque, variable ou non),on peut faire 3 types +de traitements lors de l'import dans le module HYDRO : + +* projeter en z=0 pour avoir une courbe reliée dans le plan XoY. +* créer une ligne dans le plan XoZ (abscisse curviligne de la courbe XoY, altitude). +* importer les points x,y,z non reliés comme Bathymétrie/altimétrie. + +Le premier import est le plus important et doit être fait systématiquement. + +Le second est utile pour des courbes xyz, quand Z est variable. + +Le troisième n'est pas facile à utiliser directement dans le module HYDRO, au delà de la simple visualisation +des champs de points de Bathymétrie/altimétrie en 3D. Pour l'interpolation d'altitude au noeuds du maillage, +on a besoin du contour du champ de Bathymetrie/altimétrie dans le plan XoY. +Ce contour n'a pas vraiment de sens pour une ligne. +Par contre, en combinant les points de plusieurs lignes (par exemple une série de courbes de niveau) +dans un même nuage de points, on peut reconstituer une Bathymétrie/altimétrie. + +Délimiteur de bloc +================== + +:: + + B type x1 y1 z1 dx dy dz rapport + +type +---- + +* type = S semis de point +* type = C courbe xyz +* type = P profil xyz +* type = N courbe de niveau + +x1 y1 z1 dx dy dz rapport +------------------------- + +Origine et deltas pour convertir les mesures de la table à digitaliser en mètres. + +On n'en tient pas compte à l'import. + +exemples de lignes B +-------------------- + +:: + + B S +4.290000E+05 +2.420000E+05 +0.000000E+00 +1.500000E+03 +2.000000E+03 +1.000 + B N +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.000000E+00 +1.000000E+00 +1.000000E+00 1 + B C +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.000000E+00 +1.000000E+00 +1.000000E+00 1 + B C +0.000000E+00 +0.000000E+00 +0.000000E+00 +3.200000E+04 +2.400000E+04 +1.000 + B C -3.333333E+03 +4.875000E+04 +0.000 A000E+00 +3.333330E+02 +1.666670E+02 +1.000000E+00 0.659154 + B C -3.333330E+03 +4.875000E+04 +0.000 A000E+00 +3.333330E+02 +1.666670E+02 +1.000000E+00 0.658869 + +export +------ + +:: + + B type 0.0 0.0 0.0 1.0 1.0 1.0 1.0 + +ou plutôt, à préférer + +:: + + B type + + +Nom du bloc +=========== + +:: + + CN le_nom_du_bloc + +Import +------ + +Remplacer les espaces par '_' (exemple : courbe 1 --> courbe_1) + +Export +------ + +Les noms des objets dans le module HYDRO. Éviter les espaces et caractères accentués dans les noms. + +Liaison Fermeture +================= + +Définition historique +--------------------- + +:: + + CP fermé relié + +Deux booleens indiquant si la courbe est fermée, et si les points sont reliés + +*exemple* : CP 0 1 : courbe ouverte, points reliés. + +En pratique, on ne doit pas avoir besoin de points non reliés, sauf les semis. + +Proposition d'interprétation et export +-------------------------------------- + +:: + + CP fermé spline + +Deux booleens indiquant si la courbe est fermée, et si elle est de type spline ou ligne brisée. +Il faudra corriger manuellement les jeux de données existant pour les courbes fermées, et les polygones. + +Plan de définition +================== + +:: + + CP numeroPlan + +Le numéro du plan vaut 0, 1 ou 2 (0 : plan XoY, 1 : plan YoZ, 2 : plan XoZ) + +La plupart des blocs sont dans le plan XoY : CP 0 + +On peut utiliser les plans 1 ou 2 pour définir des profils / section dans un plan normal à l'axe hydraulique, +avec deux coordonnées utiles. En pratique, on utilisera systématiquement le plan 2. + +Paramètres complémentaires selon le type de blocs +================================================= + +type = S semis de point +----------------------- + +Sans objet + +type = C courbe xyz +------------------- + +:: + + CP (16 indicateurs réels) + +Inutilisé - pas interprété à l'import. + +Soit on fait un export compatible:: + + CP 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 + +Soit on ne met rien : préférable. + +type = P profil xyz +------------------- + +Définition historique +~~~~~~~~~~~~~~~~~~~~~ + +:: + + CP Zref Xref dz dx + +Je n'ai pas compris comment c'était utilisé en altitude... + +interprétation proposée pour un profil dans le plan *XoZ* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +En pratique profil dans un plan vertical avec la donnée des 2 extrémités géoreférencées. +On suppose que la troisième coordonnée des points est à 0. + +:: + + CP Xorig Yorig Xfin Yfin + +(Xorig, Yorig) et (Xfin, Yfin) extrémités géoréférencées du profil. + +On passe d'un point (x,z) au point géoréférencé (ref +x*dx, yref +x*dy, z), avec (dx,dy) vecteur horizontal +normé calculé à partir des 2 extrémités géoréférencées. + +interprétation proposée pour un profil dans le plan *XoY* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +On suppose que les points sont déjà géoréférencés, avec leurs 3 coordonnées valides. + +On peut regrouper plusieurs profils dans SALOME HYDRO pour créer un objet rivière ('stream') + +type = N courbe de niveau +------------------------- + +:: + + CP altitude + +Altitude de la courbe de niveau. On retrouve la valeur dans la coordonnée Z de chaque point. + +import : prendre cette valeur en référence, +ignorer la coordonnée Z des points (toujours la même valeur dans les exemples) ? + +Lignes de Commentaires +====================== + +:: + + C texte quelconque + +ignoré à l'import + +on peut mettre en tête de fichier des informations d'export à définir, par exemple : + +C SALOME HYDRO version xxx + +C nom de l'étude SALOME + +C date + +Lignes de points +================ + +:: + + X Y Z touche texte + +touche +------ + +inutilisé, ignorer + +texte +----- + +un label associé au point : inutilisé, ignorer + +import +------ + +Pour les courbes de niveau, on peut ignorer Z, il est défini au niveau du bloc. + +Quand deux points consécutifs ont les mêmes coordonnées, il faut ignorer le deuxième point. +(cas rencontré dans des jeux de données). + +export +------ + +Selon la nature des courbes, on met à zéro la coordonnée inutile. + +remarque : les courbes de niveau importées sont transformées en courbes dans le plan Z=0 +et regroupées en semis de points. On perd l'information courbe de niveau dans SALOME et on ne saura pas +les exporter en tant que courbe de niveau avec l'altitude renseignée. + +Pour les courbes projetées dans le plan XoY:: + + X Y 0.0 + +Pour les courbes projetées dans le plan XoZ:: + + X 0.0 Z + +Pour les profils géoréférencés XoY:: + + X Y Z + +exemple de courbe XYZ +===================== + +Ici, il s'agit en réalité d'une courbe de niveau Z=9.0, mais elle n'est pas définie comme telle. + +import +------ + +:: + + B C -3.333330E+03 +4.875000E+04 +0.000000E+00 +3.333330E+02 +1.666670E+02 +1.000000E+00 0.658992 + CN trait_cote_ile + CP 1 1 + CP +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 + CP 0 + C + 211563.340 133489.165 9.000 A + 211604.013 133517.519 9.000 A + 211645.047 133544.734 9.000 A + 211684.597 133585.430 9.000 A + 211716.859 133584.277 9.000 A + 211777.488 133597.853 9.000 A + 211828.211 133609.896 9.000 A + 211896.886 133618.448 9.000 A + 211945.422 133633.990 9.000 A + 211996.891 133649.326 9.000 A + 212044.447 133622.576 9.000 A + 212067.681 133584.157 9.000 A + 212056.937 133521.369 9.000 A + 212007.716 133482.464 9.000 A + 211959.462 133428.999 9.000 A + 211925.576 133392.362 9.000 A + 211885.762 133376.207 9.000 A + 211817.310 133404.427 9.000 A + 211783.848 133416.811 9.000 A + 211742.545 133413.025 9.000 A + 211681.493 133421.775 9.000 A + 211644.814 133436.616 9.000 A + 211597.633 133447.736 9.000 A + 211569.826 133461.954 9.000 A + + +``B C -3.3...`` + bloc de type C (courbe xyz), parametres de digitalisation ignorés + +``CN ...`` + nom du bloc = trait_cote_ile + +``CP 1 1`` + courbe fermée, spline + +``CP +0.0...`` + ignoré + +``CP 0`` + plan XoY (ça doit toujours être le plan 0) + +``C ...`` + les commentaires sont ignorés + +``211563.340 133489.165 9.000 A`` + point x, y, z. Les informations supplémentaires sont ignorées. + +Si toutes les valeurs Z du bloc sont à zéro, les valeurs Z sont ignorées. +Si au moins une valeur Z du bloc est différente de zéro, alors les points alimentent un semis +regroupant les différentes courbes du fichier. + +export +------ + +Courbe projetée dans le plan XoY sous forme de courbe de niveau à Z=0. +C'est une courbe fermée, spline. + +:: + + B N + CN trait_cote_ile + CP 1 1 + CP 0.0 + CP 0 + C + 211563.340 133489.165 0.000 + 211604.013 133517.519 0.000 + 211645.047 133544.734 0.000 + 211684.597 133585.430 0.000 + 211716.859 133584.277 0.000 + 211777.488 133597.853 0.000 + 211828.211 133609.896 0.000 + 211896.886 133618.448 0.000 + 211945.422 133633.990 0.000 + 211996.891 133649.326 0.000 + 212044.447 133622.576 0.000 + 212067.681 133584.157 0.000 + 212056.937 133521.369 0.000 + 212007.716 133482.464 0.000 + 211959.462 133428.999 0.000 + 211925.576 133392.362 0.000 + 211885.762 133376.207 0.000 + 211817.310 133404.427 0.000 + 211783.848 133416.811 0.000 + 211742.545 133413.025 0.000 + 211681.493 133421.775 0.000 + 211644.814 133436.616 0.000 + 211597.633 133447.736 0.000 + 211569.826 133461.954 0.000 + + +exemple de courbe de niveau +=========================== + +Ici, on a repris l'exemple précédent en changeant le type de courbe : B N au lieu de B C +et indication de l'altitude dans l'en tête : CP 9.0. + +import +------ + +:: + + B N -3.333330E+03 +4.875000E+04 +0.000000E+00 +3.333330E+02 +1.666670E+02 +1.000000E+00 0.658992 + CN trait_cote_ile + CP 1 1 + CP 9.0 + CP 0 + C + 211563.340 133489.165 9.000 A + 211604.013 133517.519 9.000 A + 211645.047 133544.734 9.000 A + 211684.597 133585.430 9.000 A + 211716.859 133584.277 9.000 A + 211777.488 133597.853 9.000 A + 211828.211 133609.896 9.000 A + 211896.886 133618.448 9.000 A + 211945.422 133633.990 9.000 A + 211996.891 133649.326 9.000 A + 212044.447 133622.576 9.000 A + 212067.681 133584.157 9.000 A + 212056.937 133521.369 9.000 A + 212007.716 133482.464 9.000 A + 211959.462 133428.999 9.000 A + 211925.576 133392.362 9.000 A + 211885.762 133376.207 9.000 A + 211817.310 133404.427 9.000 A + 211783.848 133416.811 9.000 A + 211742.545 133413.025 9.000 A + 211681.493 133421.775 9.000 A + 211644.814 133436.616 9.000 A + 211597.633 133447.736 9.000 A + 211569.826 133461.954 9.000 A + + +``B N -3.3...`` + bloc de type N (courbe de niveau), paramètres de digitalisation ignorés + +``CN ...`` + nom du bloc = trait_cote_ile + +``CP 1 1`` + courbe fermée, spline + +``CP 9.0`` + altitude de la courbe. + +``CP 0`` + plan XoY + +``C ...`` + les commentaires sont ignorés + +``211563.340 133489.165 9.000 A`` + point x, y, z. Les informations supplémentaires sont ignorées. + +Les valeurs Z des points sont ignorées. On alimente le semis de points +avec les points de la courbe avec z forcé à 9.0. + +export +------ + +Courbe projetée dans le plan XoY sous forme de courbe à Z=0. +C'est une courbe fermée, spline. + +:: + + B N + CN trait_cote_ile + CP 1 1 + CP 0.0 + CP 0 + C + 211563.340 133489.165 0.000 + 211604.013 133517.519 0.000 + 211645.047 133544.734 0.000 + 211684.597 133585.430 0.000 + 211716.859 133584.277 0.000 + 211777.488 133597.853 0.000 + 211828.211 133609.896 0.000 + 211896.886 133618.448 0.000 + 211945.422 133633.990 0.000 + 211996.891 133649.326 0.000 + 212044.447 133622.576 0.000 + 212067.681 133584.157 0.000 + 212056.937 133521.369 0.000 + 212007.716 133482.464 0.000 + 211959.462 133428.999 0.000 + 211925.576 133392.362 0.000 + 211885.762 133376.207 0.000 + 211817.310 133404.427 0.000 + 211783.848 133416.811 0.000 + 211742.545 133413.025 0.000 + 211681.493 133421.775 0.000 + 211644.814 133436.616 0.000 + 211597.633 133447.736 0.000 + 211569.826 133461.954 0.000 + + +Courbe projetée dans le plan XoZ selon l'abscisse curviligne. +C'est une courbe ouverte de type spline, définie par convention dans le plan XoZ. + +:: + + B P + CN altitude_trait_cote_ile + CP 0 1 + CP 0.0 0.0 0.0 0.0 + CP 2 + C + 0.0 9.0 + ... + x 9.0 + +*Les extrémités ne sont pas géoréférencées, on s'appuie sur une autre courbe XoY*. +Pour distinguer les profils XoZ non géoréférencés de ceux qui le sont (par leur extrémités), +on utilise une valeur particulière du champ CP avec des coordonnées nulles:: + + CP 0.0 0.0 0.0 0.0 + +Les valeurs x des abscisses curvilignes sont exprimées en mètre le long de la courbe, +ou sont normalisées entre 0 et 1. **A revoir** + +Synthèse +======== + +Dans le module HYDRO de SALOME, lors de l'importation des fichiers SinusX existant, + +- les semis de points sont transformés en Bathymétries. +- les courbes de niveau sont transformées en courbes à Z=0 et profils dans le plan XoZ, + non géoréférencés (abscisse curviligne, z). +- les courbes xyz sont transformées en courbes à Z=0 et en profils dans le plan XoZ, + non géoréférencés (abscisse curviligne, z). +- les profils XoZ géoréférencés par les coordonnées des extrémités sont convertis + en profils où tous les points sont définis par leurs 3 coordonnées X, Y, Z (profils XoY). +- les profils XoZ non géoréférencés sont importés tels que + (utilisés comme ligne d'altitude pour une autre ligne dans le plan XoY, + ou comme section pour un canal, une digue...) +- les profils XoY sont conservés tels quels (tous les points sont définis par leurs 3 coordonnées X, Y, Z). +- l'ensemble des points des courbes de niveau (avec Z différent de 0) et des courbes xyz servent + à créer un champ de Bathymétrie. + +Lors de l'export, + +- les polylignes sont exportées en courbes de niveau Z=0, ouvertes ou fermées, spline ou ligne brisée. + (Que fait-on des sections ? Utiliser un commentaire de début de section sur le point ?) +- les profils sont exportés en tant que profils (à approfondir) +- Doit on exporter les bathymétries au format SinusX ou au format xyz ? (ne diffère que par la présence d'un en tête). + + +.. only:: html +  + :ref:`ref_formatsSpecs` diff --git a/doc/salome/tutorial/english/english_geometrie.rst b/doc/salome/tutorial/english/english_geometrie.rst new file mode 100644 index 00000000..2fdcf71d --- /dev/null +++ b/doc/salome/tutorial/english/english_geometrie.rst @@ -0,0 +1,96 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Étape géométrique +######################################### + +.. |publieGeom| image:: /../_static/publieGeom.png + :align: middle + +.. |activeGeom| image:: /../_static/activeGeom.png + :align: middle + +.. |facesGeom| image:: /../_static/facesGeom.png + :align: middle + +.. |contoursGeomLitMineurDomaine| image:: /../_static/contoursGeomLitMineurDomaine.png + :align: middle + +.. |creeGroupeGeom| image:: /../_static/creeGroupeGeom.png + :align: middle + +Quand le cas de calcul est prêt, il faut l'exporter dans le module de géométrie, GEOM, +à l'aide du menu contextuel sur le nom du cas de calcul : *Export Calculation Case*. + +L'entrée *HYDRO_Garonne_1* apparaît dans l'arbre de l'étude, sous *Geometry*. + + |publieGeom| + +Nous activons le module GEOM, soit dans le menu Déroulant sous la barre de menus, +soit via l'icône de la barre des modules, soit via le menu contextuel *Activate Geometry Module* +sous le nom de l'objet *HYDRO_Garonne_1* dans l'arbre. + + |activeGeom| + +En développant l'objet *HYDRO_Garonne_1*, nous retrouvons plusieurs groupes créés automatiquement +lors de la création du cas de calcul: les trois faces correspondant aux régions, de même nom, +ainsi que groupes d'edges, *garonne_1_litMineur_Outer* et *garonne_1_domaineEtendu_Outer*. + +Pour voir les groupes de faces, nous les sélectionnons et *show only* dans le menu contextuel. +La commande *auto color* du menu contextuel de *HYDRO_Garonne_1* permet de différentier les faces. + + |facesGeom| + +Les deux groupes d'edges représentent les rives du lit mineur et le contour du domaine. + + |contoursGeomLitMineurDomaine| + +Pour réaliser le maillage, nous avons besoin d'identifier les deux sections amont et aval du lit mineur, +sous formes de groupes d'edges. +Pour créer des groupes dans un objet, il est préférable de commencer par l'afficher seul (*show only*). + +Nous créons pour cela un groupe de type *edges*, de nom *SectionsGaronne*, contenant les deux extrémités du lit Mineur. + +Nous utilisons la commande *Create Group* dans le menu contextuel. +La boite de dialogue permet de créer 4 types de groupes : points, edges, faces, volumes. +Nous sélectionnons le type *edges* : 2ème bouton radio dans la rubrique *Shape Type*. + +Nous nommons le groupe : *SectionsGaronne*. + +Nous sélectionnons les deux extremités du lit mineur dans la vue graphique. +Pour sélectionner plusieurs éléments, il faut utiliser la touche **. +En appuyant sur le bouton *add*, les numéros des sous géométries (sub-Shape) apparaissent dans le dialogue. + +Il faut valider par *Apply and Close*. + + |creeGroupeGeom| + +Ces groupes apparaissent dans l'arbre d'étude, sous l'objet *HYDRO_Garonne_1*. + +Nous créons également deux groupes de type *edges*,de nom *aval* et *amont* pour distinguer les deux types de conditions limites, +en utilisant les mêmes sous géométries, séparément. + +Il faut de même créer deux groupes d'edges pour fermer le contour. nommés *bordDroiteDomaine* et *bordGaucheDomaine*, contenant +les frontières continues du domaine, coté rive droite et côté rive gauche. + +Nous pouvons maintenant réaliser le maillage de cette géométrie. +  +.. only:: html +  + :ref:`ref_exempleInondation` diff --git a/doc/salome/tutorial/english/english_import.rst b/doc/salome/tutorial/english/english_import.rst new file mode 100644 index 00000000..c1642896 --- /dev/null +++ b/doc/salome/tutorial/english/english_import.rst @@ -0,0 +1,200 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Import des images et fonds de plan +######################################### + +.. |Hydro_module_button| image:: /../_static/HYDRO.png + :align: middle + :width: 16pt + :height: 16pt + +.. |Hydro_module_launch| image:: /../_static/LaunchHYDRO.png + :align: middle + +.. |import_image| image:: /../_static/importImage.png + :align: middle + +.. |import_image2| image:: /../_static/importImage2.png + :align: middle + +.. |selection_A| image:: /../_static/selectionA.png + :align: middle + +.. |selection_B| image:: /../_static/selectionB.png + :align: middle + +.. |selection_B2| image:: /../_static/selectionB2.png + :align: middle + +.. |fit_all| image:: /../_static/fitall.png + :align: middle + +.. |import_image_B| image:: /../_static/importImageB.png + :align: middle + +.. |deux_images| image:: /../_static/deuxImages.png + :align: middle + +.. |zoom_style| image:: /../_static/zoomStyle.png + :align: middle + +Chargement du module HYDRO +========================== + +Pour activer le module HYDRO, il faut le sélectionner dans la liste défilante des modules +ou cliquer sur son icône dans le bandeau : |Hydro_module_button|. + + |Hydro_module_launch| + + +Import et géoréférencement d'une première image +=============================================== + +Pour construire le contour de la rivière, nous allons importer plusieurs images. +Ici il s'agit de cartes que l'on peut télécharger à partir de sites comme `Géoportail`_ +ou le site de l'IGN. Géoportail offre la possibilité de trouver les coordonnées de points dans +une image, nécessaires au géoréférencement. + +.. _Géoportail: http://www.geoportail.gouv.fr/accueil + +Pour importer une image, nous utilisons le menu contextuel (clic droit) de la rubrique *IMAGES* dans l'arbre de +l'étude SALOME: + + |import_image| + +La première image se trouve dans le répertoire d'installation de l'application SALOME HYDRO :: + + /bin/salome/test/HYDRO/garonne_ign_01.png + +L'image est affichée, avec deux points *A* et *B* qui vont être repositionnés à des emplacements +dont on connaît les coordonnées dans le repère Lambert 93, choisis assez éloignés l'un de l'autre +pour garder une bonne précision. + + |import_image2| + +Voici les deux points particuliers dont on a préalablement repéré les coordonnées avec Géoportail : + + |selection_A| + +coordonnées (471562, 6367750): un point en dessous à gauche de la marque *92*. + + |selection_B| + +coordonnées (489400, 6377020): le centre de la croix à coté de *Hautevignes*. + + * **remarque** : Pour contrôler le zoom sur la carte, on utilise la touche avec le bouton gauche + de la souris. Pour se déplacer sur la carte, il faut utiliser la touche avec le bouton du milieu + de la souris. + +Nous sélectionnons successivement le point A, puis le point B, en utilisant les boutons +*Activate point A selection* puis *Activate point B selection*. +Après avoir sélectionné les deux points, le dialogue de géoréférencement ressemble à ceci : + + |selection_B2| + +Pour les coordonnées x,y de chaque point, la première colonne donne les coordonnées du pixel de l'image, +la deuxième colonne donne les coordonnées géographiques. + +Nous validons le géoréférencement avec le bouton *Apply and Close*. +Il faut s'assurer que l'icône "oeil" à gauche du nom de l'image dans l'arbre est bien active, et recentrer l'image +à l'aide du bouton *fit all* : |fit_all|. + +L'image obtenue est légèrement inclinée vers la droite. + + * **remarque** : dans cette vue, le zoom peut se faire à l'aide de la molette de la souris. + Le zoom peut être centré sur la position de la souris, ou au centre de l'image. C'est une option accessible dans le menu + *File/préférences* sous la rubrique *SALOME*, onglet *3D viewer*, *zooming style* : + + |zoom_style| + +Quand on promène la souris sur la carte, les coordonnées du curseur s'affichent dans la barre d'état +en bas à gauche de l'application. + + * **remarque** : il faut prendre l'habitude de **sauver l'étude en cours régulièrement** + (menu *File/Save* ou *File/Save as*). Il est également conseillé de sauvegarder les différentes + étapes de l'étude dans des fichiers différents : *il est arrivé, dans certaines circonstances difficiles + à reproduire, que l'étude soit sauvée de manière incomplète.* Les cas où ce problème est survenu + correspondent à des rechargements d'études comprenant des données de plusieurs modules, et pour lesquels + le module HYDRO n'a pas été activé avant la sauvegarde. On se prémunit contre se risque de sauvegarde + incomplète en activant le module HYDRO avant de sauvegarder l'étude. + +Import d'une deuxième image, géoréférencée à partir la première +=============================================================== + +La deuxième image est au même endroit que la première :: + + /bin/salome/test/HYDRO/garonne_ign_02.png + +Pour la géoréférencer, nous utilisons l'option *choose points on the reference image* du dialogue. +Après avoir sélectionné la première image comme référence, nous voyons les deux images l'une en dessus de l'autre. +Nous sélectionnons d'abord un point A au même emplacement sur les deux images, puis un point B. +Il faut prendre deux points les plus éloignés possible, et zoomer suffisamment pour être précis. +Le dialogue ressemble alors à ceci : + + |import_image_B| + +Après avoir validé le dialogue, puis affiché les deux images et recentré la vue, nous obtenons : + + |deux_images| + +Définition d'un repère local +============================ + +Le repère local permet la manipulation de petits nombres. **Le changement de repère améliore +beaucoup la précision des étapes de géométrie, de maillage et de calcul**. Notamment, le fait +de garder des grands nombres peut rendre impossible l'obtention d'un maillage de bonne qualité. + +Dans le menu *HYDRO/Change Local CS*, nous saisissons les coordonnées de la nouvelle origine. + +Pour notre exemple, nous prenons pour origine le point (430 000, 6 350 000) situé +au sud ouest de notre domaine d'étude. + +Après avoir validé le changement de repère, nous constatons que les coordonnées du curseur +qui s'affichent dans la barre d'état en bas à gauche de l'application sont fournies dans +les deux repères (local et global). + + * **remarque** : ce changement de repère peut être fait plusieurs fois, à différents moments + de l'étude, car tout ce qui a déjà été importé est transposé par l'application, + mais il est préférable de le faire assez tôt pour minimiser les risques d'erreur ou d'incohérence, + 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 +=========== + +Toutes les opérations effectuées à l'interface graphique ont leur équivalent en script Python. +On peut faire un dump de l'étude dans un script avec le menu *File/Dump Study*. +Le script Python obtenu permet, en partant d'une étude SALOME vierge, de reconstruire les données +de l'étude. ce script est, bien sûr, éditable. + +On peut faire le dump après la définition du repère local, et comparer le fichier obtenu avec :: + + /bin/salome/test/HYDRO/h003_changeLCS.py + +On pourra vérifier la bonne exécution du dump en repartant d'une étude vierge (redémarrer SALOME, +*new document*, ou seulement *new document*), puis menu *File/Load Script* et activation du module HYDRO. + +.. only:: html + + :ref:`ref_exempleInondation` diff --git a/doc/salome/tutorial/english/english_importBathy.rst b/doc/salome/tutorial/english/english_importBathy.rst new file mode 100644 index 00000000..2b639329 --- /dev/null +++ b/doc/salome/tutorial/english/english_importBathy.rst @@ -0,0 +1,65 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +####################### +Import de bathymétrie +####################### + +.. |import_bathy1| image:: /../_static/bathy1.png + :align: middle + +Le module HYDRO permet l'importation de types de fichiers de bathymétrie, correspondant +aux extensions .xyz et .asc. Ce sont des fichiers texte ASCII. +Les fichiers .xyz comprennent un point par ligne, avec les coordonnées x y z. +les fichiers .asc correspondent à un maillage cartésien structuré en x, y. +Après un entête donnant le nombre de lignes, de colonnes, les coordonnées +du coin sud ouest, le pas en x et en y, on trouve la matrice des altitudes z. +Il est également possible d'importer des bathymétries contenues dans des fichiers au +format SinusX, qui sera décrit plus loin. + +Nous allons importer deux fichiers pour les besoins de notre étude. +Ils se trouvent dans le répertoire d'installation de l'application SALOME HYDRO :: + + /bin/salome/test/HYDRO/cloud_02.xyz + + /bin/salome/test/HYDRO/garonne_point_L93.xyz + +Le fichier *cloud_02.xyz* est un extrait de données IGN sur une matrice régulière avec un point tout les 75 m, en accès libre. +Le fichier *garonne_point_L93.xyz* correspond à une étude antérieure, couvre le lit majeur du fleuve sur la région, +et est potentiellement plus précis que le précédent, au moins sur le lit mineur. + +Pour importer ces fichiers, nous utilisons le menu contextuel de la rubrique *BATHYMETRIES* +dans l'arbre de l'étude SALOME. Le dialogue d'import permet de sélectionner le fichier à importer +et de changer son nom dans l'arbre d'étude. +Nous validons l'import avec le bouton *Apply and Close*. + +pour afficher la bathymétrie, il faut cliquer sur l'oeil en face de son nom, et recentrer l'image +à l'aide du bouton *fit all*. + +Les points sont colorés selon leur altitudes, et les plages de couleurs sont ajustées en fonction +du minimum et du maximum de l'ensemble des champs affichés. La légende correspondante est +systématiquement affichée. + +Nous devrions obtenir une vue ressemblant à ceci : + + |import_bathy1| + +  +.. only:: html +  + :ref:`ref_exempleInondation` diff --git a/doc/salome/tutorial/english/english_installationLancementSalome.rst b/doc/salome/tutorial/english/english_installationLancementSalome.rst new file mode 100644 index 00000000..ce5b47b1 --- /dev/null +++ b/doc/salome/tutorial/english/english_installationLancementSalome.rst @@ -0,0 +1,129 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + + +########################################## +SALOME installation and start-up procedure +########################################## + +.. |fit_all| image:: /../_static/fitall.png + :align: middle + +Installation +============ + + * Open an account (e.g.: I88928) + + * Open a web browser (blue button at the top right or Applications/Internet/Navigation Web Iceweasel) + + * Type the address: https://salome.der.edf.fr/ + + * Look for the latest version of SALOME_HYDRO in the folder: Downloads (Téléchargements) + + * Extract the *xxx*.run file + + * Save (the file is automatically saved in /Downloads (Téléchargements)) + + * Open a terminal (at the top of the screen: Accessories (Accessoires)/Terminal) + + * Type cd Téléchargements (Downloads) + + * Type ls: you should see the *xxx*.run + + * (if necessary, make it executable: chmod +x *xxx*.run) + + * Start the installation by typing ./*xxx*.run + + * Answer the installation questions (directory: of your choice; **language: must be English**; + for all remaining questions: yes by default) + +Salome-Hydro is now installed and appears as an icon on the desktop. +The icon can be dragged and dropped into an open editor (gedit or equivalent) +to replace the *Terminal=false* line by *Terminal=true*. +This provides an execution trace, facilitating the diagnosis of certain application problems. +It is not a compulsory step. + +The installation is in English because the translation into French is incomplete. + +Starting SALOME +=============== + +Double-click the SALOME icon on the desktop, or, knowing the installation folder of SALOME ( ** ), +in a terminal :: + + /salome + +It is possible to get execution log in case of problem, in the terminal. + +* **remark** : the *salome* command accepts options. + For instance, -k option closes all previous SALOME instances and releases all associated resources. + To get help, use -h option :: + + /salome -h + +View handling in SALOME +======================= + +For those users unfamiliar with SALOME, the following paragraphs describe the main 2D and 3D view-handling commands, as well as techniques to select and display objects in the study tree (Object Browser). + +Display data in the view window: +-------------------------------- + +By clicking the eye icon next to the object in the Object Browser window. + +By right clicking on the object in the tree on the left (in the Object Browser window), +which brings up a list of options:: + + /show/ show only / hide / hide only / hide all / + +Zoom +---- + +Ctrl + left click + +The zoom is centred by default. Activation of zoom using the scroll (mouse) wheel: +to enable use of the scroll wheel to control the zoom, this option must be activated: +file /preferences (select the SALOME module) /3D viewer /zooming style /relative to the cursor. +A zoom relative to the cursor pans in to the area around the cursor position +while a centred zoom pans out to takes account of the whole zone. + +To zoom in on a data item in the tree: + +Select the item from the tree. In the toolbar at the top of the window, +select the Fit All button + +Rotation +-------- + +Ctrl + right click + +Translation (horizontal/vertical movements) +------------------------------------------- + +Ctrl + mouse wheel + +Viewers +------- + +SALOME proposes several viewers: + +VTK for the 3D views (MESH module) and OCC for the 2D views (for the geometry). +These can be found via tabs that appear on the screen. + +The different elements of the study are not all displayed equally well in all the viewers! + diff --git a/doc/salome/tutorial/english/english_interpolationZ.rst b/doc/salome/tutorial/english/english_interpolationZ.rst new file mode 100644 index 00000000..a8370c5c --- /dev/null +++ b/doc/salome/tutorial/english/english_interpolationZ.rst @@ -0,0 +1,143 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Interpolation en Z +######################################### + +.. |HYDROSolver| image:: /../_static/HYDROSolver.png + :align: middle + :width: 16pt + :height: 16pt + +.. |genereInterpolz| image:: /../_static/genereInterpolz.png + :align: middle + +.. |Bottom| image:: /../_static/Bottom.png + :align: middle + +.. |Capture_meshZ| image:: /../_static/Capture_meshZ.png + :align: middle + + +.. |occ_view_scaling| image:: /../_static/occ_view_scaling.png + :align: middle + :width: 16pt + :height: 16pt + + +Le maillage que nous avons généré à l'étape précédente ne contient pas d'information d'altitude. +Pour alimenter le code TELEMAC avec cette information, il faut rajouter au maillage un champ contenant la +coordonnée Z au noeuds du maillage. + +Le mode de calcul de la coordonnée Z a été décrit zone par zone dans la définition du cas de calcul, +dans le module HYDRO. + +Calcul de l'interpolation en Z aux noeuds du maillage +===================================================== + +La constitution du champ d'altitude se fait au moyen d'un script Python, qu'il faut préparer, puis exécuter. + +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 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 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*. + +La valeur *Undefined Z* est utilisée quand le module HYDRO ne sait pas calculer l'altitude en un point. +C'est utilisé a postériori pour détecter d'éventuels problèmes de définition des zones de calcul dans le cas de calcul. + +L'interpolation sur les nuages de points peut se faire de deux manières, selon que les nuages sont plus +denses que le maillage, ou l'inverse. +Pour des nuages de points très denses, il suffit de prendre l'altitude du point le plus proche du nuage. +Quand le maillage est plus dense que le nuage, il vaut mieux prendre l'altitude linéarisée, obtenue par +une triangulation préalable du nuage de points. Cette dernière méthode est plus précise +mais un peu plus coûteuse. + +Il faut sélectionner les bons noms de régions en correspondance avec les noms des groupes de noeuds des faces, +en laissant la sélection à *None* pour les autres groupes. + + |genereInterpolz| + +Le script produit plusieurs fichiers dont le nom se déduit du nom du fichier maillage d'origine +avec des suffixes différents, rangés dans le répertoire du fichier d'origine : + +* garonne_1.med : fichier d'origine (coordonnée z = 0) +* garonne_1.xyz : fichier xyz (ASCII) des altitudes aux noeuds +* garonne_1Z.med : étape intermédiaire du script +* 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, +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 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 : + +Il faut recopier le script et l'adapter en fonction des noms de régions utilisés dans le cas de calcul +et des noms de groupes de noeuds dans le maillage. + +.. literalinclude:: ../interpolZ.py + :lines: 1- + +Visualisation de l'interpolation en Z aux noeuds du maillage +============================================================ + + +Visualisation avec le module MED +-------------------------------- + +Le module MED offre une visualisation simple des champs d'un maillage MED. +Il faut activer le module MED, puis utiliser le menu *File/Add Data Source* ou l'icône équivalente, et retrouver le fichier *garonne_1F.med*. +En dépliant l'objet *garonne_1F.med* dans l'arbre d'étude, nous trouvons le maillage *HYDRO_Garonne_1* et le champ *BOTTOM*. + +Il faut sélectionner le champ et utiliser l'icone *scalar map*. + +Le champ s'affiche dans la vue 3D. Le menu contextuel de la vue 3D propose la commande *Representation / Surface with Edges* + + |Bottom| + +Visualisation dans le module SMESH +---------------------------------- + +A la fin de l'exécution du script d'interpolation, le maillage *HYDRO_Garonne_1* est apparu une seconde fois dans l'arbre d'étude, +sous la première instance, avec une icône différente. S'il n'y est pas, le menu contextuel de l'arbre d'étude propose la commande *Refresh*. + +Nous affichons ce maillage dans le module SMESH, avec la commande *show*. +Pour mieux voir le relief, il faut modifier l'échelle en Z avec l'icône |occ_view_scaling| de la vue 3D. Ici, il suffit de prendre un facteur 3 pour Z. + +*Rappel* : pour manipuler l'objet dans la vue 3D, il faut utiliser la touche et les boutons de la souris, ou la molette pour le zoom. + +Voici la vue des groupes correspondant aux régions : + + |Capture_meshZ| + +.. only:: html + + :ref:`ref_exempleInondation` diff --git a/doc/salome/tutorial/english/english_lancementCalcul.rst b/doc/salome/tutorial/english/english_lancementCalcul.rst new file mode 100644 index 00000000..2ede6ce2 --- /dev/null +++ b/doc/salome/tutorial/english/english_lancementCalcul.rst @@ -0,0 +1,155 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Lancement du calcul TELEMAC +######################################### + +.. |HYDROSolver| image:: /../_static/HYDROSolver.png + :align: middle + :width: 16pt + :height: 16pt + +.. |case_pytel| image:: /../_static/case_pytel.png + :align: middle + :width: 16pt + :height: 16pt + +.. |CreateCasePytel| image:: /../_static/CreateCasePytel.png + :align: middle + +.. |SelectCommandPytel| image:: /../_static/SelectCommandPytel.png + :align: middle + +.. |CasPytel| image:: /../_static/CasPytel.png + :align: middle + +.. |CasPytelRepTravail| image:: /../_static/CasPytelRepTravail.png + :align: middle + +.. |CasPytelFichierCas| image:: /../_static/CasPytelFichierCas.png + :align: middle + +.. |CasPytelEntreeMedIncomplete| image:: /../_static/CasPytelEntreeMedIncomplete.png + :align: middle + +.. |CasPytelSave| image:: /../_static/CasPytelSave.png + :align: middle + +.. |CasPytelArbre| image:: /../_static/CasPytelArbre.png + :align: middle + +.. |CasPytelComputeCase| image:: /../_static/CasPytelComputeCase.png + :align: middle + +.. |CasPytelCalcul| image:: /../_static/CasPytelCalcul.png + :align: middle + +.. |CasPytelFinCalcul| image:: /../_static/CasPytelFinCalcul.png + :align: middle + +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 +=============================== + +Pytel permet de lancer une exécution simple du code Telemac. +Nous créons un cas de Calcul Pytel avec la commande *Create case for Pytel execution* |case_pytel| disponible dans le menu *hydro* +ou dans une icône du bandeau. + +* **Remarque** : Les icônes du bandeau relatives au module en cours (en haut à droite) ne sont pas forcément visibles : + le menu popup (clic droit) dans le bandeau montre les groupes d'icônes affichés et ceux qui ne le sont pas, et permet de les gérer. + +Un nouvelle fenêtre apparaît dans la vue principale : le Viewer *Eficas Pytel*. +Son bandeau propose des commandes pour créer, ouvrir, enregistrer, éditer des cas de calcul Pytel. + + |CreateCasePytel| + +Il faut redéfinir ici les principaux fichiers utiles au cas, cela reprend et complète ce qui a été défini à l'étape précédente, +quelques redites. + +Nous créons un nouveau cas Pytel avec la commande *New* du bandeau du Viewer *Eficas Pytel*. +Dans la nouvelle vue, nous sélectionnons la commande PYTEL dans le panneau central. + + |SelectCommandPytel| + +Dans le panneau de gauche, l'arbre du cas commence à se construire : +Les entrées rouges sont invalides, les vertes sont valides, les jaunes sont incomplètes. +Une entrée invalide dans l'arbre est répercute sont statut récursivement jusqu'à la racine. +Il faut donc corriger ou compléter toutes les feuilles terminales de l'arbre en rouge ou jaune pour créer un cas valide. + +Le panneau central indique les commandes optionnelles disponibles. + + |CasPytel| + +Nous sélectionnons la commande optionnelle *Répertoire de travail*. + +Ce répertoire contiendra les fichiers intermédiaires utiles au calcul. +Il faut saisir un répertoire **existant, différent du répertoire contenant les fichiers d'origine** et valider. +On peut créer un sous repertoire *work* dans le répertoire des données du cas, par exemple. + +La commande passe en vert dans l'arbre. + + |CasPytelRepTravail| + +Nous sélectionnons la commande obligatoire *Fichier Cas* dans l'arbre, en rouge, +retrouvons le fichier existant et validons. + + |CasPytelFichierCas| + +La commande passe en vert dans l'arbre. + +Nous cliquons sur Pytel dans l'arbre pour voir les commandes optionnelles *Entree MED* et *Sortie MED*. + +Nous cliquons sur *Entree MED*. + +La commande apparaît dans l'arbre, en jaune, pour indiquer qu'elle est incomplète. + + |CasPytelEntreeMedIncomplete| + +Il faut compléter les deux rubriques en rouge avec les noms des fichiers de conditions limites et le fichier de maillage contenant le champ d'altimétrie. + +Nous ferons de même pour le fichier de Sortie MED. On peut donner ici un nom de fichier inexistant. + +Une fois que tout est complet et valide, nous enregistrons le cas avec le bouton *Save* de la Fenêtre Eficas. + + |CasPytelSave| + +Le cas apparaît dans l'arbre d'étude. + + |CasPytelArbre| + +Lancement du Cas de calcul PYTEL +================================ + +Pour lancer le calcul Telemac, nous utilisons le menu popup du Cas, la commande *Compute Case*. + + |CasPytelComputeCase| + +Le calcul se déroule, la log s'affiche dans une fenêtre. + + |CasPytelCalcul| + +A la fin du calcul on peut fermer la fenêtre. + + |CasPytelFinCalcul| +  +.. only:: html +  + :ref:`ref_exempleInondation` diff --git a/doc/salome/tutorial/english/english_landCoverMap.rst b/doc/salome/tutorial/english/english_landCoverMap.rst new file mode 100644 index 00000000..52a6e225 --- /dev/null +++ b/doc/salome/tutorial/english/english_landCoverMap.rst @@ -0,0 +1,149 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Land Cover Map +######################################### + + +.. |stricklerTable_1| image:: /../_static/stricklerTable_1.png + :align: middle + +.. |importLandCoverMap| image:: /../_static/importLandCoverMap.png + :align: middle + +.. |importLandCoverMap_2| image:: /../_static/importLandCoverMap_2.png + :align: middle + +.. |importLandCoverMap_3| image:: /../_static/importLandCoverMap_3.png + :align: middle + +.. |casLandCoverMap| image:: /../_static/casLandCoverMap.png + :align: middle + +.. |BottomFriction| image:: /../_static/BottomFriction.png + :align: middle + + +Import d'une Land Cover Map +=========================== +Nous allons reprendre l'exemple précedent "garonne_1" pour ajouter une carte des coefficients de Strickler. +La carte à importer peur être téléchargée et éditée préalablement dans qgis. Les *Corine Land Cover* couvrent généralement +un grand territoire et sont très détaillées. + +**Remarque :** Pour que ces cartes ne soient pas trop lourdes à manipuler dans SALOME HYDRO, +il est préférable de les découper dans qgis de façon à les restreindre autant que possible au domaine d'étude. +On définira un polygone de découpe englobant le domaine d'étude, en vérifiant que l'on ne perd pas de zone lors de la découpe +(Une carte découpée est fournie avec ce tutoriel). La carte comprend une base de données qui donne, pour chaque zone, +le code de type de territoire associé, selon la nomenclature *Corine Land Cover*. + +Avant d'importer la carte, il faut disposer d'une table définissant les codes *Corine Land Cover*, la couleur de représentation +des types de zones, les coefficients de Strickler associés. + +Une table par défaut est proposée dans SALOME-HYDRO, visible dans l'arbre d'étude, dans la rubrique *STRICKLER TABLES*, sous le nom +*Strickler table_1*. Il est possible de l'éditer avec le menu contextuel *Edit Strickler table*. +La plupart des champs sont éditables, +**notamment les coefficients de Strickler qu'il faudra de toutes façon adapter pour une étude réaliste**. + + |stricklerTable_1| + +Le champ *Attribute Name* doit correspondre au champ de codification des types de zones dans la base de donnée +associée au *Corine Land Cover* importé : *CODE_06* correspond aux cartes de 2006, *CODE_12* aux cartes de 2012. +Ce champ n'est pas éditable dans le dialogue ci-dessus. + +Dans l'exemple fourni, la carte date de 2006, il nous faut donc une autre table de Strickler. +Ces tables sont enregistrées dans des fichiers texte éditables. +Nous chargeons une table 2006 fournie dans le répertoire d'installation de l'application SALOME HYDRO +avec la commande *Import Strickler table* du menu contextuel de la rubrique *STRICKLER TABLES* :: + + /share/salome/resources/hydro/def_strickler_table_06.txt + +Il faut effacer la table précédente *Strickler table_1*, pour que la nouvelle table soit correctement utilisée +lors de l'import de la Land Cover Map (menu contextuel *Delete*). + +Nous pouvons maintenant charger la Land Cover Map. +Nous utilisons pour cela la commande *Import land cover map from file(s)* du menu contextuel de la rubrique +*LAND COVER MAPS* :: + + /bin/salome/test/HYDRO/HYDRO/CLC_decoupe.shp + +La carte comprend déjà un grand nombre de polygones noirs (plus de 600) dont on peut voir le contour en les selectionnant. +La découpe déborde très largement de la zone d'étude. On voit les zones "oubliées" lors de la découpe dans qgis, +sur les bords. Elles sont hors de la zone d'étude. + + |importLandCoverMap| + +En pratique, on sélectionne tous les polygones ( A dans la liste), avant d'appuyer sur le bouton *Next>*. +Il y a plusieurs attributs trouvés dans la base importée. Nous selectionnons l'attribut qui nous intéresse, +le type de zone : *CODE_06*, avant d'appuyer sur le bouton *Next>*. +Les codes de zones sont correctement associés à leur définition fournie dans la nouvelle table de Strickler. + + |importLandCoverMap_2| + +Nous appuyons sur le bouton *Finish*. Le traitement prend quelques dizaines de secondes. +La Land Cover Map ne s'affiche pas automatiquement : commande *show* du menu contextuel de l'objet *CLC_decoupe* +dans la rubrique *LAND COVER MAPS*. On peut voir le cas de calcul sous la carte, en transparence. + + |importLandCoverMap_3| + +Création, édition de Land Cover Map +=================================== + +Il est possible de créer de toutes pièces une Land Cover Map, à l'aide de polygones créés dans SALOME-HYDRO +ou importés. + +Le menu contextuel de la Land Cover Map offre des possibilités d'édition des zones : +ajouter, enlever, découper, regrouper, changer le type. + +Nous ne détaillons pas ces opérations ici. + +Utilisation d'une Land Cover Map dans le cas de calcul +====================================================== + +Pour exploiter la Land Cover Map, il faut éditer le cas de calcul. +Nous éditons le cas de calcul *garonne_1* avec la commande *edit calculation case* du menu contextuel du cas de calcul. +Il faut avancer jusqu'au panneau *Land cover map* avec les boutons *Next>* et sélectionner le Land Cover Map et la +table de Strickler + + |casLandCoverMap| + +Nous poursuivons avec les boutons *Next>* et *Finish* pour valider le cas. + + +Création d'un champ de STrickler aux noeuds du maillage +======================================================= + +Telemac exploite un champ des coefficients de Strickler aux noeuds du maillage. Ce champ a pour nom *BOTTOM_FRICTION*. +Ce champ est ajouté au fichier MED du maillage, comme le champ d'altitude aux noeuds. + +Il faut adapter manuellement le script ci-dessous : + +Il faut recopier le script ci-dessous et l'adapter en fonction du cas de calcul +et des noms de de fichiers en entrée et en sortie. +Il est possible d'utiliser le même fichier MED en entrée et en sortie. + +.. literalinclude:: ../interpolStrickler.py + :lines: 1- + +Nous pouvons voir le champ résultat avec le module MED, comme pour le champ d'altitude. + + |BottomFriction| +  +.. only:: html +  + :ref:`ref_casParticuliers` diff --git a/doc/salome/tutorial/english/english_maillage.rst b/doc/salome/tutorial/english/english_maillage.rst new file mode 100644 index 00000000..cba983cf --- /dev/null +++ b/doc/salome/tutorial/english/english_maillage.rst @@ -0,0 +1,255 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Création du maillage +######################################### + +.. |mesh_init| image:: /../_static/mesh_init.png + :align: middle + :width: 16pt + :height: 16pt + +.. |mesh_edit| image:: /../_static/mesh_edit.png + :align: middle + :width: 16pt + :height: 16pt + +.. |mesh_hypo_edit| image:: /../_static/mesh_hypo_edit.png + :align: middle + :width: 16pt + :height: 16pt + +.. |vtk_view_fitall| image:: /../_static/vtk_view_fitall.png + :align: middle + :width: 16pt + :height: 16pt + +.. |vtk_view_top| image:: /../_static/vtk_view_top.png + :align: middle + :width: 16pt + :height: 16pt + + +.. |Capture_CreateMesh| image:: /../_static/Capture_CreateMesh.png + :align: middle + +.. |Capture_HypothesisConstruction| image:: /../_static/Capture_HypothesisConstruction.png + :align: middle + +.. |Capture_CreateSubMesh| image:: /../_static/Capture_CreateSubMesh.png + :align: middle + +.. |Capture_HypothesisLocalLength| image:: /../_static/Capture_HypothesisLocalLength.png + :align: middle + +.. |Capture_HypothesisNbSegments| image:: /../_static/Capture_HypothesisNbSegments.png + :align: middle + +.. |Capture_WarningOrder| image:: /../_static/Capture_WarningOrder.png + :align: middle + +.. |Capture_OrderingSubMeshes| image:: /../_static/Capture_OrderingSubMeshes.png + :align: middle + +.. |Capture_MeshComputationSucceed| image:: /../_static/Capture_MeshComputationSucceed.png + :align: middle + +.. |Capture_CreateGroupsFromGeometry| image:: /../_static/Capture_CreateGroupsFromGeometry.png + :align: middle + + +Lorsque la géométrie est prête, nous activons le module de maillage, *SMESH*. + +Introduction au fonctionnement de SMESH +======================================= + +Pour spécifier le maillage, on définit en général un algorithme par défaut avec son paramétrage : +dans SMESH, on parle des *hypothèses* de l'algorithme. + +Cet algorithme et ces hypothèses s'appliquent partout sauf modification portant sur une partie de +la géométrie (*sub shape*). + +On peut donc créer des sous maillages sur une face ou un groupe de faces, +une edge ou un groupe d'edges, pour définir des algorithmes et/ou des hypothèses spécifiques. + +Lors du maillage, la géométrie de la pièce à mailler est explorée en partant de la dimension 1 (edges), +puis la dimension 2 (faces), et enfin la dimension 3 (volumes). Ici nous n'avons pas de volumes. + +Les maillages de dimension 1 sont donc prioritaires sur ceux de dimension 2 et s'imposent à eux. + +Certains algorithmes gèrent simultanément plusieurs dimensions (dans notre cas, edges et faces). +Quand ces algorithmes tolèrent que l'on impose le maillage de certaines edges, +la définition de sous maillages de la ou des faces concernées sera prise en compte, sinon non. +De même, suivant l'algorithme choisi pour une face, l'onglet 1D du dialogue de maillage est actif on non. + +Il en résulte que, dans certains cas, pour certaines *sub shapes*, plusieurs algorithmes et/ou hypothèses +sont définis, et il faut alors établir des priorités. Ces situations sont détectées automatiquement +et l'utilisateur se voit proposer des choix. + +Algorithmes et Hypothèses de base pour la géométrie +==================================================== + +Ici, nous allons spécifier un maillage triangle par défaut sur l'ensemble du domaine, et particulariser +le maillage du lit mineur, pour obtenir des triangles allongés dans le sens de l'écoulement. + +Nous sélectionnons la géométrie *HYDRO_garonne_1* dans l'arbre d'étude, et lançons la définition du maillage : +menu *Mesh/Create Mesh* ou icône |mesh_init|. + +Dans le dialogue *Create Mesh*, nous choisissons l'algorithme de maillage *Netgen 1D-2D* qui va s'appliquer +par défaut sur l'ensemble de la géométrie. + + |Capture_CreateMesh| + +Il faut préciser les hypothèses de maillage : + +Nous cliquons sur le bouton actif dans la ligne *Hypothesis* pour choisir un type d'hypothèses, +et choisissons *Netgen 2D Parameters*. + +Nous prenons une taille maximum d'arète de 200 (mètres), et minimale de 50. Pour le taux de progression +de la taille des triangles, *Fineness*, nous prenons *Very Fine*, pour préserver la qualité des triangles. + + |Capture_HypothesisConstruction| + +Après avoir validé le dialogue d'hypothèses, nous validons la définition du maillage avec le bouton *Apply and Close*. + +Le maillage apparaît sous le nom *Mesh_1* dans l'arbre avec une icône indiquant son statut : *non généré, ou incomplet*. + +Il est possible de renommer le maillage, soit directement, soit via le dialogue d'édition, à partir du menu contextuel. + +Toujours à partir du dialogue d'édition |mesh_edit|, il est possible changer l'algorithme, +ou de modifier les hypothèses : |mesh_hypo_edit|. + +Sous maillages +============== + +Nous sélectionnons le maillage dans l'arbre d'étude et créons un sous maillage (menu contextuel *Create Sub Mesh*). + +Dans le dialogue qui s'affiche, il faut renseigner la géométrie, en cliquant dans l'arbre d'étude sur la face *litMineur* +contenue dans *HYDRO_garonne_1*. Pour cette sélection, il faut que la flèche du dialogue sur la ligne *Geometry* soit active. +Elle l'est par défaut. + +Il est utile de renommer tout de suite le sous-maillage (première ligne du dialogue). + +Nous choisissons l'algorithme *Quadrangle (Medial Axis projection)*. Cet algorithme reconstruit un axe hydraulique fictif, +découpe la rivière en quadrangles, normalement à l'axe hydraulique. + + |Capture_CreateSubMesh| + +Il reste à définir la longueur des quadrangles, leur nombre dans la section de la rivière. +Dans l'onglet *1D* du dialogue du sous maillage *litMineur*, nous choisissons l'algorithme *Wire Discretisation* +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**. + + |Capture_HypothesisLocalLength| + +Nous validons la définition du sous maillage avec le bouton *Apply and Close*. + +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* +et comme hypothèse *Nb. Segments*, avec 8 segments distribués régulièrement. + + |Capture_HypothesisNbSegments| + +Nous validons la définition du sous maillage avec le bouton *Apply and Close*. +Il faut établir une priorité entre deux définitions : + + |Capture_WarningOrder| |Capture_OrderingSubMeshes| + +Nous sélectionnons *SectionsGaronne* pour le faire remonter en tête de liste. + +Génération du maillage +====================== + +Après avoir validé, le maillage est prêt pour être généré. +Pour générer le maillage, il faut le sélectionner, et utiliser le menu contextuel *Compute*. +Une boite d'information s'affiche à la fin du calcul et donne des statistiques élémentaires. + +|Capture_MeshComputationSucceed| + +L'icône du maillage a changé dans l'arbre d'étude, et indique l'état *généré correctement*. + +Le maillage n'est pas encore fini pour nos besoins, mais nous pouvons déjà le voir. +Pour l'afficher, *show* puis *FitAll* |vtk_view_fitall| et vue de dessus |vtk_view_top| (*-OZ*) +dans la barre d'icônes du viewer 3D. + +Pour découper les quadrangles, nous utilisons le menu *Modification/Cutting of Quadrangles*. +Dans le dialogue, nous cochons *apply to all*, *use diagonal 1-3* puis *preview* : +la modification proposée apparaît, +il est possible de zoomer avec la molette de la souris pour vérifier. +Nous validons par *Apply and Close*. + +Contrôle du maillage +==================== + +Il faut vérifier que le maillage est conforme aux besoins de TELEMAC. + +Orientation 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. + +Pour réorienter les faces, nous utilisons le menu *Modification / Orientation* et cochons l'option *Apply to All*. +Après validation, les faces changent de couleur (bleu plus clair). + +Triangles surcontraints +----------------------- + +Il faut éviter deux types de conditions limites différentes sur deux arêtes d'un triangle, et, plus généralement, +éviter que deux arêtes aient des conditions limites imposées (aucun degré de liberté sur le triangle). + +Parfois, les mailleurs créent de tels triangles dans les coins du maillage. C'est le cas de Netgen dans les angles aigus. +Quand on peut, il faut éviter de créer des angles aigus aux limites du domaine. + +Les triangles surcontraints se détectent avec la commande de menu *Controls / Face Controls / Over-constrained faces*. +Pour corriger cela, il faut utiliser la commande de menu *Modification / Diagonal Inversion* et sélectionner +l'edge interne du triangle en cause. + +Création des groupes, Enregistrement du maillage +================================================ + +Les groupes de noeuds et d'éléments sont utiles pour 'étape d'interpolation de la bathymétrie, +et pour la définition des conditions limites. + +Pour définir les groupes dans le maillage, nous utilisons la commande *Create Groups from Geometry* +du menu contextuel du maillage. +Nous sélectionnons tous les groupes et sub Shapes de la géometrie *HYDRO_garonne_2* +et constituons successivement des groupes d'**éléments** et de **noeuds**. + + |Capture_CreateGroupsFromGeometry| + +Ces groupes apparaissent dans l'arbre d'étude sous le maillage après validation du dialogue. +Il est possible de le voir avec *show only*. L'option *Auto Color* du menu contextuel du maillage +les met en évidence. + +Pour enregistrer le maillage dans un fichier au format MED, après avoir sélectionné le maillage, +nous utilisons la commande du menu *File / Export / MED file*. + +.. only:: html + + :ref:`ref_exempleInondation` diff --git a/doc/salome/tutorial/english/english_manipsPolys.rst b/doc/salome/tutorial/english/english_manipsPolys.rst new file mode 100644 index 00000000..ddef6d54 --- /dev/null +++ b/doc/salome/tutorial/english/english_manipsPolys.rst @@ -0,0 +1,218 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Manipulations de Polylignes +######################################### + +.. |deuxSections| image:: /../_static/deuxSections.png + :align: middle + +.. |deuxExtremites| image:: /../_static/deuxExtremites.png + :align: middle + +.. |bringTogether| image:: /../_static/bringTogether.png + :align: middle + +.. |deuxPointsConfondus| image:: /../_static/deuxPointsConfondus.png + :align: middle + +.. |contourFermeDeuxSections| image:: /../_static/contourFermeDeuxSections.png + :align: middle + +.. |domaineMaritime| image:: /../_static/domaineMaritime.png + :align: middle + +.. |zonePont| image:: /../_static/zonePont.png + :align: middle + +.. |raffinement| image:: /../_static/raffinement.png + :align: middle + +.. |completeSplitDialog| image:: /../_static/completeSplitDialog.png + :align: middle + +.. |zonesSplitCreees| image:: /../_static/zonesSplitCreees.png + :align: middle + +.. |zonePontSplit| image:: /../_static/zonePontSplit.png + :align: middle + +.. |zoneAmontSplit| image:: /../_static/zoneAmontSplit.png + :align: middle + +.. |zoneAvalSplit| image:: /../_static/zoneAvalSplit.png + :align: middle + +.. |mergeZonesPont| image:: /../_static/mergeZonesPont.png + :align: middle + +.. |pilesDePont| image:: /../_static/pilesDePont.png + :align: middle + +.. |objetsPont| image:: /../_static/objetsPont.png + :align: middle + + +Nous n'avons abordé jusqu'à présent que des polylignes à une seule section. +L'utilisation de plusieurs sections dans les polylignes permet de combiner des splines et des +lignes brisées dans un même contour, par exemple. Les opérations sur les polylignes +(merge, split, copy, paste) permettent, entre autres, de créer des contours partageant un bord, +avant la création du cas de calcul. + +Limites de domaine maritime +=========================== + +Un domaine maritime est souvent limité par une ligne de côte, détaillée, et par une ligne brisée +la plus simple possible au large. + +La ligne de côte détaillée est saisie sous forme d'une spline, dans une polyligne, non fermée. + +La limite en mer est saisie dans une deuxième section de la même polyligne. + +Pour créer la deuxième section, il faut éditer la polyligne dans laquelle on a saisi la ligne de côte, +cliquer sur *insert new section* et choisir une ligne de type *polyline* non fermée. +On valide la création de section avec le bouton *Add*. + +La section 2 étant sélectionnée, le bouton *Addition mode* permet d'ajouter des points. +On crée la ligne brisée en visant approximativement les extrémités de la ligne de côte. + + |deuxSections| + +Il faut maintenant faire correspondre précisément les extrémités des deux sections pour obtenir un +contour fermé. + +Pour cela, on sélectionne simultanément les deux sections (touche shift) +et on passe en mode modification (bouton *modification mode*). + +On sélectionne simultanément les deux premiers points d'extrémité à rapprocher, +avec une selection par boite englobante à la souris +(en ayant préalablement fait un zoom si nécessaire). + + |deuxExtremites| + +Les coordonnées des deux points s'affichent, ainsi que la distance entre les deux points, +dans la colonne distance. + +On notera que le bouton de droite est devenu actif (il faut sélectionner deux sections). + + |bringTogether| + +En cliquant sur le bouton, les deux points deviennent superposés, leurs coordonnées sont mises à jour, +et la distance affichée est devenue nulle. + + |deuxPointsConfondus| + +Il faut procéder de même avec les autres extrémités à rapprocher, puis valider avec *Apply and close*. + +La polyligne représente maintenant un contour fermé composé de 2 sections de types différents. + + |contourFermeDeuxSections| + + * **remarque** : Lors de la superposition des points, l'un prend les coordonnées de l'autre. + Il n'est pas facile de maîtriser quel point reste fixe, + donc il vaut mieux éviter qu'ils soient trop éloignés pour ne pas déformer + la ligne de côte. + +Il faut ensuite transformer le contour en objet naturel. Nous avons notre domaine maritime. + + |domaineMaritime| + +Créer des sections sur un lit mineur : barrages, ponts +====================================================== + +Le lit mineur d'une rivière peut être découpé en plusieurs sections, pour permettre des +traitement spécifiques. Par exemple : + + * La zone au niveau d'un pont, pour laquelle la description explicite des piles du pont + va vraisemblablement imposer un maillage spécifique, si le reste du lit mineur est + maillé en triangles allongés dans le sens de l'écoulement. + + * Un barrage, pour lequel on souhaite par exemple écrire des conditions limites décrivant + son fonctionnement. Le barrage sera alors défini comme une zone "non inondable" + ou "insubmersible" en travers du lit mineur. + + * Une zone pour laquelle on veut particulariser le maillage. + +Créer une zone spécifique au niveau d'un pont sur le lit mineur +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Nous reprenons l'exemple précédent sur la Garonne. +Nous commençons par dessiner un rectangle en travers du lit mineur *garonne*, débordant franchement +de part et d'autre des rives. Nous nommons la polyligne correspondante *zonePont*. + + |zonePont| + +**La polyligne du lit mineur doit être suffisamment raffinée pour que le découpage soit précis, et +pour éviter des problèmes plus tard à la création du cas de calcul.** Si besoin, il faut éditer la +polyligne du lit mineur pour ajouter des points de part et d'autre des traits de coupe. +**Il faut notamment éviter qu'il n'y ait pas de point entre deux traits de coupe d'une courbe spline**. + + |raffinement| + +Nous utilisons alors la commande *Split polylignes* du menu contextuel de la polyligne *garonne*, +et nous prenons l'onglet *Complete split*. Il faut sélectionner la polyligne *zonePont* et cliquer +sur le bouton *include*, pour obtenir les deux polylignes dans la liste du dialogue. + + |completeSplitDialog| + +Après validation par *Apply and close*, nous obtenons quatre nouvelles polylines pour décrire +le lit mineur, et quatre pour décrire la zone du pont. + + |zonesSplitCreees| + +Nous allons regrouper les polylignes par paquets pour reconstituer les nouvelles zones, avec la +commande *Merge polylines*. + +La zone du pont est constituée des quatres polylignes suivantes : + + |zonePontSplit| + +La zone du lit mineur en amont est constituée de deux polylignes : + + |zoneAmontSplit| + +La zone du lit mineur en aval est constituée de deux polylignes : + + |zoneAvalSplit| + +Pour regrouper les polylignes, nous en sélectionnons une et utilisons la commande *Merge polylines* +du menu contextuel. Il faut sélectionner les quatre polylignes, cliquer sur le bouton *include*, +choisir un nom pour la nouvelle polyligne, *litMineurPont* et valider par *Apply and close*. + + |mergeZonesPont| + +Nous créons de même les polylignes *litMineurAmont* et *litMineurAval*. +Les trois nouvelles polylignes servent à définir trois zones immersibles, +*litMineur_aval*, *litMineur_amont* et *litMineur_pont*. + +Si nous voulons représenter les piles du pont dans le maillage, il faut les représenter en tant que +polylignes et définir des zones non immersibles. + + |pilesDePont| + + |objetsPont| + +Créer une zone spécifique au niveau d'un barrage sur le lit mineur +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Le principe est exactement le même que pour le pont, mais sans les piles. + +.. only:: html + + :ref:`ref_casParticuliers` diff --git a/doc/salome/tutorial/english/english_miseEnDonneesTelemac.rst b/doc/salome/tutorial/english/english_miseEnDonneesTelemac.rst new file mode 100644 index 00000000..d865e219 --- /dev/null +++ b/doc/salome/tutorial/english/english_miseEnDonneesTelemac.rst @@ -0,0 +1,90 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Mise en données TELEMAC +######################################### + +.. |genereCondlim| image:: /../_static/genereCondlim.png + :align: middle + +Une fois le maillage généré avec l'altimétrie, il reste à définir la nature des zones de conditions limites, +les valeurs des conditions limites de débit et de hauteur d'eau au cours du temps, et l'ensemble des +paramètres physiques et numériques du calcul. +Il faut se reporter au manuel de Telemac pour la définition de ces différents paramètres. + +Ces informations sont regroupées dans plusieurs fichiers de texte (ASCII) à générer ou éditer manuellement. + +**Ces différents fichiers seront rangés dans le même répertoire que le maillage.** + +Caractérisation des zones de conditions limites +=============================================== + +Les zones de conditions limites ont été définies dans les étapes précédentes, +et sont concrétisées par des groupes nommés d'éléments dans le maillage. + +Le fichier *condlim.bcd* associe à chaque groupe ses caractéristiques : +entrée, sortie, paroi... Quatre valeurs entières définissent un type de condition limite. + +La première ligne indique le nombre de conditions limites définies, il y a ensuite une ligne par condition limite. +Chaque ligne comprend 4 entiers (le type) et le nom du groupe. + +Nous pouvons générer le fichier à partir de la commande *Edit boundary conditions file* du module *HYDROSOLVER*. + +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 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| + +Le fichier résultat ressemble à ceci : + +.. literalinclude:: ../condlim.bcd + :lines: 1- + +* **Remarque** : Il n'est plus nécessaire de créer le fichier *.cli* prévu dans le manuel de Telemac, + qui liste l'ensemble des noeuds de conditions limites avec les types associés. Ce fichier est généré + automatiquement. + +Valeurs des conditions limites de débit et hauteur d'eau +======================================================== + +Le fichier *init.lqd* donne les valeurs des conditions limites de débit et de hauteur d'eau au cours du temps. +Il faut se reporter au manuel de Telemac pour sa définition précise. + +.. literalinclude:: ../init.lqd + :lines: 1- + +Paramètres physiques et numériques du calcul +============================================ + +Le fichier *init.cas* liste les autres fichiers, qui doivent être dans le même répertoire. +Il donne ensuite les différents paramètres physico-numériques nécessaires au calcul. +De même que précédemment, il faut se reporter au manuel de Telemac pour la définition de ces paramètres. + +* **Remarque importante** : pour la version 1.0 de mars 2016, la présence d'un fichier Fortran est obligatoire, + même si celui-ci ne comprend qu'une ligne de commentaire (il faut forcer la recompilation de l'éxécutable TELEMAC). + Dans le fichier *init.cas*, Il faut enlever le commentaire devant le mot clé *FICHIER FORTRAN* et créer le fichier correspondant. + +.. literalinclude:: ../init.cas + :lines: 1- +  +.. only:: html +  + :ref:`ref_exempleInondation` diff --git a/doc/salome/tutorial/english/english_objetsArtificiels.rst b/doc/salome/tutorial/english/english_objetsArtificiels.rst new file mode 100644 index 00000000..d81ec364 --- /dev/null +++ b/doc/salome/tutorial/english/english_objetsArtificiels.rst @@ -0,0 +1,183 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Objets Artificiels +######################################### + +.. |axeDigue| image:: /../_static/axeDigue.png + :align: middle + +.. |creationDigue_1| image:: /../_static/creationDigue_1.png + :align: middle + +.. |modifModeProfile| image:: /../_static/modifModeProfile.png + :align: middle + +.. |creationDigue_2| image:: /../_static/creationDigue_2.png + :align: middle + +.. |creationDigue_3| image:: /../_static/creationDigue_3.png + :align: middle + +.. |altitudeDigue| image:: /../_static/altitudeDigue.png + :align: middle + +.. |polyline3D| image:: /../_static/polyline3D.png + :align: middle + +.. |artificialDigue| image:: /../_static/artificialDigue.png + :align: middle + +.. |zoomDigue| image:: /../_static/zoomDigue.png + :align: middle + +Les objets artificiels regroupent les digues et les canaux. Ces deux types d'objets +sont construits sur le même principe : + + * une section verticale constante, + + * un axe 3D, c'est à dire une polyligne 3D selon laquelle la section est extrudée. + +L'axe 3D est construit à partir d'une polyligne dans le plan horizontal, à laquelle +on associe une ligne d'altitude définie dans un plan vertical, qui donne la cote Z +en fonction de l'abscisse curviligne de la polyligne horizontale. + +La ligne d'altitude est soit construite explicitement, soit obtenue en projetant +la polyligne horizontale sur un champ de bathymétrie. + +Lors du calcul de l'altitude aux noeuds du maillage (interpolation en Z), les noeuds situés sur la digue +sont traités spécifiquement : l'altitude du noeud est prise sur la forme géométrique 3D de +la digue telle qu'elle a été définie ci-dessus. + +Création d'une digue +==================== + +Pour définir l'axe horizontal de la digue, nous créons une polyligne non fermée, de type spline, +avec l'éditeur de polyligne (menu contextuel de la rubrique *POLYLIGNES* dans l'arbre de +l'étude SALOME). + +Nous nommons cette polyligne *axeDigue*. + + |axeDigue| + +La section de la digue se crée avec le menu contextuel *Create profile* de la rubrique *PROFILES* +dans l'arbre de l'étude SALOME. + +Nous nommons cette section *sectionDigue*. + +Il faut dessiner à main levée la forme approximative de la section, nous l'éditerons ensuite +pour mettre des cotes précises. + + |creationDigue_1| + +Pour corriger les coordonnées des noeuds, il faut se placer en mode Modification : + + |modifModeProfile| + +Les noeuds peuvent être sélectionnés en bloc en les englobant dans un rectangle, dans la vue graphique. + +Ils s'affichent dans un tableau au dessus de la vue graphique. + +En cliquant sur le titre de la colonne *index*, on réordonne les noeuds. + + |creationDigue_2| + +Pour le choix des valeurs Z, il faut savoir que l'altitude finale d'un point de la digue s'obtient +à partir de la section en ce point, en additionnant la cote du point sur la section à la +cote de la section le long du profil d'altitude. +Plus précisément, le calcul est le suivant : + + * le point **A** (x,y,0) dont on veut l'altitude est projeté sur la courbe *axeDigue* + en un point *P* (x',y',0) tel que la droite *AP* est normale à la tangente en **P** + à l'axe de la digue. Le point **P** est à une distance horizontale + *d* = distance(A,P) de la courbe *axeDigue*. + + * A partir de la coordonnée curviligne de **P** sur *axeDigue*, on récupère une valeur de Z0 + sur la ligne d'altitude. Cette valeur Z0 correspond à la cote 0 de la section. + + * Pour obtenir l'altitude finale en **P**, on calcule la cote Z1 sur la section au point d'abscisse *d*. + L'altitude finale est Z = Z0 +Z1. + + * **remarque** : ce mode de calcul suppose une section symétrique par rapport à x=0. + +Ici, la ligne d'altitude que nous allons définir correspond au sommet de la section. +Nous créons donc une section symétrique de 20 mètres de largeur, à flancs assez raides. + + |creationDigue_3| + +Il reste à créer la ligne d'altitude de la digue. Nous allons la définir explicitement +avec l'altitude des deux extrémités. + +Si l'altitude de la digue est variable, il faut avoir une idée approximative de sa longueur, +pour construire un profil d'altitude précis (il manque une fonction d'affichage de la longueur des polylignes). + +Si l'on définit plus de deux points, l'altitude est interpolée linéairement entre deux points, +et, si la courbe est plus longue que la ligne d'altitude, les valeurs de Z au delà du dernier +point sont prises à la cote de ce dernier point. + + |altitudeDigue| + +Il faut ensuite créer l'axe 3D de la dique à l'aide du menu contextuel *Create polyline 3D* +de la rubrique *POLYLINES 3D*. + + |polyline3D| + +Enfin, on utilise le menu contextuel *Create digue* (in french in the text!) +de la rubrique *ARTIFICIAL OBJECTS*. + + |artificialDigue| + +Le paramètre equidistance sert lors de l'extrusion précise de la section le long de l'axe. + + * Si la valeur est trop grande par rapport au rayon de courbure de l'axe, la section est décentrée + lors de son extrusion. + + * Si la valeur est trop faible, le temps de calcul devient long. + +On peut prendre une valeur de l'ordre de deux ou trois fois la largeur de la digue, en première +approximation. + +Pour contrôler le résultat, il faut superposer la vue de la digue et son axe. + + |zoomDigue| + +Lors de la constitution du cas de calcul avec la digue, il faut isoler la digue dans une région spécifique, +parce que l'on va la mailler de préférence en quadrangles avec l'algorithme *Quadrangle (Medial Axis projection)*. + +Pour le calcul d'altitude, comme la digue se superpose à un terrain naturel, l'option ZMAX est la plus logique dans le cas général. + + +Création d'un canal +=================== + +Le canal se construit exactement comme la digue, avec simplement un menu spécifique *Create channel* +dans la rubrique *ARTIFICIAL OBJECTS*. + +La section a une forme de cuvette, et le calcul d'altitude se fait +selon la même logique que pour la digue. + +Lors de la constitution du cas de calcul avec le canal, il faut isoler le canal dans une région spécifique, +car il sera maillé de préférence en quadrangles avec l'algorithme *Quadrangle (Medial Axis projection)*. + +Pour le calcul d'altitude, le canal s'inscrivant dans un terrain naturel, +l'option ZMIN est la plus logique dans le cas général. + +.. only:: html +  + :ref:`ref_casParticuliers` diff --git a/doc/salome/tutorial/english/english_objetsNaturels.rst b/doc/salome/tutorial/english/english_objetsNaturels.rst new file mode 100644 index 00000000..cca96db8 --- /dev/null +++ b/doc/salome/tutorial/english/english_objetsNaturels.rst @@ -0,0 +1,89 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Objets "Naturels", zones immersibles +######################################### + +.. |createImmersibleZone| image:: /../_static/createImmersibleZone.png + :align: middle + +.. |selectColor| image:: /../_static/selectColor.png + :align: middle + +.. |zonesImmersibles| image:: /../_static/zonesImmersibles.png + :align: middle + +.. |changeLayerOrder| image:: /../_static/changeLayerOrder.png + :align: middle + +.. |zoneSubmersible| image:: /../_static/zoneSubmersible.png + :align: middle + + +Nous avons créé le contour d'objets dit "naturels", par opposition à des objets "artificiels". +Cette classification correspond au mode de calcul de l'altitude Z en tout point de leur surface. + +Les objets naturels correspondent à des surfaces dont la cote Z est déterminée par un champ de bathymétrie/altitude. + +Les objets artificiels sont par exemple des digues ou des canaux, qui seront décrits par une section +constante, extrudée le long d'une ligne dont l'altitude pourra éventuellement varier. + +Il existe deux sous catégories d'objets naturels, les zones "immersibles" associées à un champ de bathymétrie/altitude +de type nuage de points (.xyz ou .asc) et les zones dites "stream" qui correspondent à des rivières décrites par une série de profils +en travers. Ces profils constituent un champ de bathymétrie sur lequel on utilisera un mode d'interpolation particulier +pour calculer la cote Z. + +Nous allons créer trois zones immersibles, définies par un contour et un champ de bathymétrie/altitude : + + * le lit mineur, défini par le contour de la *garonne*, et le champ *garonne_point_L93*, + + * le lit majeur, défini par le contour du champ *garonne_point_L93* et ce même champ, + + * le domaine d'étude, défini par son contour, et le champ *cloud_02*. + +Pour créer une zone immersible, nous utilisons le menu contextuel de la rubrique *NATURAL OBJECTS*. + + |createImmersibleZone| + +Le dialogue propose de définir le nom de la zone, et de sélectionner le contour et la bathymétrie dans les listes d'objets existant. +Il faut valider avec *apply and close*. + +Une fois la zone créée, il est possible de changer sa couleur à l'aide du menu contextuel associé au nom de l'objet. + + |selectColor| + +En affichant les trois zones, nous devrions obtenir une vue ressemblant à ceci : + + |zonesImmersibles| + +Il faut peut être réordonner l'affichage des différentes couches : dans le menu contextuel de la vue graphique, +il y a une entrée *Change Layer Order* qui permet de définir cet ordre, qui sera mémorisé à la sauvegarde de l'étude : + + |changeLayerOrder| + +Dans le menu contextuel associé à chaque zone immersible, il y a un paramètre *Submersible* coché par défaut (icône enfoncée). +Lorsque l'on veut créer une île au sens TELEMAC, c'est à dire une zone non inondable, qui fera un trou dans le maillage, +il faut décocher ce paramètre. + + |zoneSubmersible| + +  +.. only:: html +  + :ref:`ref_exempleInondation` diff --git a/doc/salome/tutorial/english/english_piegesAEviter.rst b/doc/salome/tutorial/english/english_piegesAEviter.rst new file mode 100644 index 00000000..4cb0af54 --- /dev/null +++ b/doc/salome/tutorial/english/english_piegesAEviter.rst @@ -0,0 +1,77 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +#################################### +Conseils, pièges à éviter +#################################### + +Ce paragraphe sera repris en fonction des retours utilisateur. + + +- chevauchement d'objets ou lignes très proches qui vont conduire à un maillage laid ou trop fin. + +- trop de points dans les splines, quand ils ne sont pas nécessaires. + +- tout ce qui va conduire à une complexité inutile de la partition lors de la création du cas, + et empêcher un mode automatique de regroupement des zones en régions. + +- changement de repère : il est préférable de définir un repère local au plus tôt. cf. tutoriel. + +- Les deux systèmes de coordonnées apparaissent, mais il est préférable que la transition de l’un à l’autre + se fasse simplement (on arrondit les coordonnées de la nouvelle origine). + +- cohérence des systèmes de coordonnées des données importées : par exemple tout mettre en Lambert 93 avant import. + +- 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 ? + + * *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 + du raffinement de maillage. + + * *polyline* : une seule ligne continue, composée de segments droits. Il faut utiliser + 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` diff --git a/doc/salome/tutorial/english/english_polylignes.rst b/doc/salome/tutorial/english/english_polylignes.rst new file mode 100644 index 00000000..1bc010df --- /dev/null +++ b/doc/salome/tutorial/english/english_polylignes.rst @@ -0,0 +1,181 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Création, modification de polylignes +######################################### + +.. |contour_garonne| image:: /../_static/contourGaronne.png + :align: middle + +.. |contour_lit_majeur| image:: /../_static/contourLitMajeur.png + :align: middle + +.. |icone_polyligne_xy| image:: /../_static/icon_polyline_xy.png + :align: middle + +.. |createPolyligneDialogue1| image:: /../_static/createPolyligneDialogue1.png + :align: middle + +.. |insertNewSection| image:: /../_static/insertNewSection.png + :align: middle + +.. |createPolyligneDialogue2| image:: /../_static/createPolyligneDialogue2.png + :align: middle + +.. |addition_mode| image:: /../_static/additionMode.png + :align: middle + +.. |ajoutPointsPolyligne| image:: /../_static/ajoutPointsPolyligne.png + :align: middle + +.. |modification_mode| image:: /../_static/modificationMode.png + :align: middle + +.. |undoPoly| image:: /../_static/undoPoly.png + :align: middle + +.. |modificationPolyligne2| image:: /../_static/modificationPolyligne2.png + :align: middle + +Nous allons créer trois lignes en dessinant sur les cartes et la bathymétrie. + +* Un contour fermé représentant une portion de la Garonne + (débordant du domaine d'étude défini plus loin), représenté par la surface bleu foncé ci-dessous : + + |contour_garonne| + +* Un autre contour fermé sur une portion du lit majeur du fleuve + (toujours débordant du domaine d'étude en amont et en aval), + correspondant au champ de bathymétrie garonne_point_L93. + +* Un contour fermé en lignes brisées qui délimitera notre domaine d'étude. + +Le contour du lit majeur et du domaine d'étude : + + |contour_lit_majeur| + +Dessin des rives du fleuve +========================== + +Pour créer une polyligne, nous utilisons le menu contextuel de la rubrique *POLYLIGNES* dans l'arbre de +l'étude SALOME : |icone_polyligne_xy| + +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| + +Les polylignes peuvent comprendre plusieurs sections. Nous n'en utiliserons qu'une seule, il faut la créer : + + |insertNewSection| + +Dans le dialogue relatif à la section, nous choisissons une ligne de type spline, fermée et cliquons sur le bouton add. + + |createPolyligneDialogue2| + + * **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 + du raffinement de maillage. + + * *polyline* : une seule ligne continue, composée de segments droits. Il faut utiliser + 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. + +Une fois la section créée, il faut ajouter des points en passant en mode addition : + + |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. +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.** + + |ajoutPointsPolyligne| + +Nous ajoutons des points jusqu'à revenir au point de départ après avoir décrit les deux rives. +Il est inutile de mettre trop de points, sauf à vouloir capturer les détails d'une rive très découpée. +A titre d'exemple, il faut une soixantaine de points pour la portion de fleuve qui nous intéresse. + +Quand la saisie est terminée, il faut valider avec *apply and close*. + +modification, édition de polyligne +---------------------------------- + +Si le résultat n'est pas satisfaisant, il est possible de modifier la polyligne en utilisant le menu +contextuel de la polyligne. Dans le dialogue qui s'affiche, il faut sélectionner la section, puis +cliquer sur le mode modification : + + |modification_mode| + +Il est alors possible de : + + * sélectionner un seul point en cliquant dessus, + + * sélectionner plusieurs points en les encadrant, + + * créer un point intermédiaire en cliquant sur la ligne, entre deux points. + +Le ou les points sélectionnés peuvent être déplacés avec un clic-déplacement +(le bouton gauche et maintenu enfoncé sur le déplacement). + +Les points restent sélectionnés tant qu'il n'y a pas d'autre clic ou sélection. + +Le bouton Undo permet d'annuler les dernières modifications. + +Les coordonnées des points sélectionnés sont affichées dans le dialogue. Elles sont éditables. + + |modificationPolyligne2| + +En cours d'édition, on voit deux lignes. La ligne noire, précise, n'est pas recalculée à chaque fois. +La ligne rouge est modifiée à chaque action, elle est moins précise, mais redessinée plus vite +(c'est sensible pour les lignes comprenant un grand nombre de points). + +Il est possible de recalculer la ligne sans quitter le dialogue : il faut utiliser le bouton *apply*, +puis, si l'on veut poursuivre les modifications, resélectionner la section avec un double clic, +suivi de *OK* ou *Cancel* + + * **Remarque** : On notera qu'il est possible de changer le type *spline* ou *polyline*, la fermeture, + en mode édition, avec un double clic sur la section. + +Dessin du contour du lit majeur et du domaine de calcul +======================================================= + +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 à +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 +corriger par une détection et une inversion de diagonale). +  +.. only:: html +  + :ref:`ref_exempleInondation` diff --git a/doc/salome/tutorial/english/english_preliminaires.rst b/doc/salome/tutorial/english/english_preliminaires.rst new file mode 100644 index 00000000..3675e25d --- /dev/null +++ b/doc/salome/tutorial/english/english_preliminaires.rst @@ -0,0 +1,472 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Preliminary concepts +######################################### + + * **Georeferencing**: The projection system depends on the geographic location of the study + and must be selected and stored to facilitate study follow up. The reference projection + in metropolitan France is Lambert 93. + **All data imported into SALOME HYDRO must be in the same (unique) reference frame.** + SALOME HYDRO does not propose a coordinate converter. + + * **Local reference point**: The Cartesian coordinate values, **always expressed in metres**, + in a given projection system often represent very large numbers. + The Lambert 93 coordinates of a point in continental France, for example, + are of the order (400 000, 6 500 000). + A simple shift of the origin results in a local reference point, + reducing the size of the numbers to be handled. + To improve numerical precision in the different study steps (geometry, meshing, simulation, etc.), + **the use of a local reference point is highly recommended.** + SALOME HYDRO displays coordinates in both coordinate systems (local and global) + and automatically applies the translations on import and export. + + * **Constraint line**: Line used to support and structure the mesh. + In SALOME, these lines are defined in the Geometry (GEOM module) as “edge”. + Not every line created in the HYDRO module will necessarily be kept in the geometry. + + * **Hydraulic axis**: The orientation of river flow. + Often obtained by connecting the low points of a succession of cross profiles. + + * **Crest line**: Line joining the highest points of an embankment. + + * **Partition**: This is a segmentation of the space into **regions** and **zones**. + The concepts of zones and regions are introduced in the practice exercise to follow. + The boundaries of a region correspond to the constraint lines of the mesh. + The regions can be divided into several zones with each zone corresponding + to a computational mode for the bathymetry. + + * **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. + + +################################################ +Main steps in a study using SALOME-HYDRO +################################################ + +.. |etapesEtude| image:: /../_static/etapesEtude.png + :align: middle + +SALOME contains all the modules needed to start a Telemac study. + +The SALOME-HYDRO application gathers the HYDRO and HYDRO-SOLVER modules, +which form the heart of the SALOME system, onto a single platform that integrates the Telemac2D system. + +The following figure summarises the general steps and the tools used within the SALOME platform. + + |etapesEtude| + +The study will be carried out using the following SALOME modules: + + * HYDRO + + * GEOM + + * SMESH + + * HYDROSOLVER + + * PARAVIS + +Functions/Operations: + + * HYDRO: images and/or plans are imported + + * HYDRO: contour lines of **natural features** (rivers, islands, etc.) and **artificial features** + (embankments, channels, obstacles, etc.) are created or imported + + * HYDRO: bathymetry / altitude fields or series of river profiles are loaded + + * HYDRO: object elements representing the natural and artificial features are constructed, + + * HYDRO : a Land Cover Map and a Strickler table are created or imported + + * HYDRO: a **calculation case** is created by selecting the objects relevant to the case; + the **zones** (each associated to a specific method of bathymetry calculation) are grouped into **regions** + (the boundaries of which correspond to mesh constraint lines; these are the faces of the final SALOME geometry) + + * HYDRO: the case is exported to GEOM + + * GEOM: the case is taken up in GEOM to complete the identification of the groups associated + to the different regions of the domain and the boundary conditions + + * SMESH: the mesh assumptions (“hypotheses” in the dialogs) and algorithms are chosen, + the mesh is calculated and the corresponding MED file is exported + + * HYDROSOLVER: the Z interpolation Python script giving z coordinates on mesh nodes + from the MED file and the calculation case is generated and executed + + * HYDROSOLVER: the Strickler Python script giving Strickler coefficients on mesh nodes + from the MED file and the calculation case is generated and executed + + * HYDROSOLVER: the physical and numerical parameters of the simulation are defined (case file) + + * HYDROSOLVER: the calculation is executed + + * PARAVIS: the results are analysed + +The sequential logic of the operating steps in the HYDRO module itself is as follows +(see the different types of manipulated objects in the tree on the left): + + * IMAGES: + +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 +as all the data (for example, Lambert 93). This may, for instance, be a geoportal screenshot. + + * BATHYMETRY: + +The bathymetries in the form of point cloud and/or cross profile datasets that constitute the terrain model +on which the mesh will be based are imported into the project. + + * POLYLINES: + +Polylines (imported into and/or created in SALOME) are used to define the contours of the natural and artificial +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 +for the mesh based on them to use the points on the line: only the general shape counts. Lines can be drawn with +the mouse or imported from a file.Les polylignes (importées et/ou construites dans SALOME) permettent de définir +les contours des différents objets + + * NATURAL OBJECTS: + +These are composite elements comprising, for example, land surfaces, islands, lakes, etc. +A bathymetry can generally be associated to them. + + * ARTIFICIAL OBJECTS: + +This step involves building structural elements, such as embankments, canals and channels of known geometry. + + * CALCULATION CASES : + +When the calculation case is defined, the objects to be meshed are selected and any issues concerning +the bathymetric coverage (overlaps/gaps) are resolved. + +This is a description of a typical sequence; +moving backwards and forwards between the various steps is perfectly possible and will certainly occur. + +Preliminary data requirements +============================= + +* 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). + +* 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 +================ + +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 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. + +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. + +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 +-------------------------- + +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 +==================================================== + +Il est possible définir une carte des coefficients de Strickler (frottements sur le fond) couvrant le domaine d'étude. + +Des cartes décrivant la nature des sols (Land cover Map) peuvent être récupérées sur différents sites. +Il est notamment possible de télécharger et d'éditer dans un outil de SIG (Systeme d'Information Géographique) +comme *qgis* les cartes "Corine Land Cover". +Ces cartes s'appuient sur une nomenclature standard des différents types de territoire. + +On définit en parallèle une table des coefficients de Strickler qui donne le coefficient pour chaque type défini dans la nomenclature. +Les coefficients de Strickler sont en général ajustés pour une étude donnée, pour recaler le modèle. + +Les Land Cover Map peuvent être importées depuis qgis ou créées "from scratch" dans SALOME-HYDRO. +Il est également possible d'éditer ces cartes dans SALOME-HYDRO : ajout, suppression, regroupement, modification de zones... + +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é. + +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 _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, 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. + +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 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. +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 par TELEMAC 2D +----------------------------------------------- + +A compléter, voir l'exemple ci-dessous. + +Lancement et suivi du calcul +============================ + +Le module HYDROSOLVER 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. diff --git a/doc/salome/tutorial/english/english_sinusX_Format.rst b/doc/salome/tutorial/english/english_sinusX_Format.rst new file mode 100644 index 00000000..d1f0b26f --- /dev/null +++ b/doc/salome/tutorial/english/english_sinusX_Format.rst @@ -0,0 +1,516 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +############################################## +Format SinusX for SALOME HYDRO: specifications +############################################## + +Introduction +============ + +SinuxX is an ASCII format used at EDF for for free surface flow studies with Telemac. +SinusX format as been defined a long time ago for a digitizing software used for maps, isocontours... +The sofware is not used any more, but there are still parameters related to the software +in the format specification and the data files. +The goal of this specification is provide an editable ASCII format for import and export of SALOME HYDRO module data, +and allow import of existing SinusX data files. +The parameters related to the old SinusX software will be ignored on import in SALOME HYDRO module, +and default values will be provided on export from SALOME HYDRO module, to keep a consistent format between +old and new data. +Some existing files does not follow correctly the format and must be manually corrected. For instance, +closed parameter is not handled correctly in a lot of files. + +Contents and general structure of SinusX format, correspondance with HYDRO data types +===================================================================================== + +HYDRO data types to import and export +------------------------------------- + +HYDRO module data contains Bathymetry fields and 2D or 3D polylines. 2D polylines are either polylines in the XoY plane (Z=0) +or profiles in a vertical plane. + +The bathymetry fields are a list of x,y,z points. + +The polylines, in the XoY plane, are defined by an ordered list of x,y points. the polylines are either closed or open, +spline or not. Sections are not yet taken into account here. + +The profiles are defined in a vertical plane, by an ordered list of u,z points. The profiles are georeferenced or not, +are used to describe variables sections of a river (stream object), constant sections of channel or enbankments, +or altitude lines to be combined with XoY lines in order to build 3D lines. + +All the HYDRO module objects are named. + +general structure of SinusX format +---------------------------------- + +The file is structured in blocs of data. +There are several types of blocs: + +* Scatter plot: field of Bathymetry or Altimetry, contains a list of x,y,z points +* XYZ profile: for instance a vertical profile on river, defined by a list of x,y,z points (in a vertical plane) +* isocontour: a line at a constant altitude, defined by a list of x,y,z points (with z constant) +* XYZ curve : a line in 3D, defined by a list of x,y,z points + +All Blocs begin with a line starting by 'B type ...'. + +A bloc contains several parameter lines starting with 'CN name' or 'CP parameters...'. + +Comments are lines starting with 'C ...' and are ignored. + +A bloc contains several point lines (one x,y,z point per line) after the bloc start and parameter lines. + +SinusX lines format +------------------- + +Bloc Delimiter +~~~~~~~~~~~~~~ + +:: + + B type several ignored parameters + +**type:** + +* type = S: Scatter plot +* type = C: XYZ curve +* type = P: XYZ profile +* type = N: isocontour + +There are other types in some old files. These blocs are ignored. +The parameters after the type are ignored. + +Bloc name +~~~~~~~~~ + +:: + + CN le_nom_du_bloc + +Avoid spaces and special characters (for instance accents) in name. + +Closed and spline parameters +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + CP closed spline + +Closed and spline are two booleans (0 or 1). +for instance, +:: + + CP 1 1 + +means a closed line of type spline. + +This parameter is significant only for curves, profiles and isocontour (types C, P, N) +and is present but not interpreted for Scatter plot. + +specific curve parameters, depending on curve type +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Following the type of curve (C, P, N), this parameter is different: + +**type = C: XYZ curve** + +:: + + CP real1 real2... real16 + +These 16 real parameters are ignored at import, and can be set to 0.0 at export. + +**type = P: XYZ profile** + +:: + + CP x1 y1 x2 y2 + +Folowing the plane definition parameter (see below), the values define the start and end points +or are ignored. + +If the plane definition is XoY (horizontal), all the point of the profile are fully defined with their 3 coordinates x,y,z. +All the points are supposed to be in the same vertical plane. +The x1,y1 and x2,y2 values are ignored (and set to 0.0 at export). + +If the plane definition is XoZ (vertical), the points of the profile are defined with 2 coordinates x,z (or u,z). +The y coordinate of the profile points are set to 0.0. +The two extremities are defined by origin: p1(x1,y1,0) and end: p2(x2,y2,0). +The Points of the profile are in the plane defined by the line p1,p2 and the vertical. +The x or u coordinate represents the abcissa in meters on the line p1,p2 counted from origin p1. + +If the plane definition is XoZ (vertical) and x1, y1, x2, y2 are all null, the profile is not georeferenced. + +**type = N: isocontour** + +:: + + CP altitude + +Altitude value for isocontour. This value is also in the Z coordinate of each point of the bloc, +but the Z coordinates are ignored, only the altitude parameter is taken into account. + +plane definition parameter +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + CP plane + +Plane parameter is an integer value: 0 1 ou 2. + +* 0: plane XoY +* 1: plane YoZ +* 2: plane XoZ + +Plane 0 is used for XYZ curve, XYZ profile and isocontour. + +Plane 1 is not used. + +Plane 2 is used for XYZ profile. + +Plane parameter is present but not interpreted for Scatter plots. + +Point line +~~~~~~~~~~ + +:: + + x y z ignored comments + +There are always 3 coordinates. +Everything after the coordinates is ignored. + +At export, the real values must be with a fixed format with 3 decimals. For instance:: + + 275982.120 128441.000 -7.500 + +Coordinates are in meter, in Lambert 93 projection: x, y absolutes values are less then 10000000.000. +Z abolute values are less than 10000.000. + +SinusX blocs description and format +=================================== + +Scatter plot bloc +================= + +example of scatter plot bloc +---------------------------- + +*import from existing data file:* +:: + + C + B S +0.000000E+00 +0.000000E+00 +0.000000E+00 +1.000000E+00 +1.000000E+00 +1.000000E+00 1 + CN semis_de_points + CP 0 1 + CP 0 + C an ignored comment + +2.759820E05 +1.284410E05 -7.500000E00 A + +2.759970E05 +1.284470E05 -7.500000E00 A + +2.760120E05 +1.284530E05 -7.500000E00 A + +2.759760E05 +1.283920E05 +3.000000E00 A + +2.759900E05 +1.283970E05 -2.450000E00 A + +2.760030E05 +1.284030E05 -4.000000E00 A + +2.760160E05 +1.284080E05 -5.450000E00 A + +2.760300E05 +1.284130E05 -4.250000E00 A + +2.760440E05 +1.284190E05 -7.500000E-01 A + +2.760570E05 +1.284240E05 +3.250000E00 A + +The only parameters used are the type of bloc and the name. Closed, spline parameter and plane parameter are ignored. +For each point, only the x y z value are used. + +*export:* +:: + + C + B S + CN semis_de_points + CP 0 0 + CP 0 + 275982.000 128441.000 -7.500 + 275997.000 128447.000 -7.500 + 276012.000 128453.000 -7.500 + 275976.000 128392.000 3.000 + 275990.000 128397.000 -2.450 + 276003.000 128403.000 -4.000 + 276016.000 128408.000 -5.450 + 276030.000 128413.000 -4.250 + 276044.000 128419.000 -7.500 + 276057.000 128424.000 3.250 + +example of XYZ profile +---------------------- + +profile defined by two georeferenced extremities +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +*import from existing data file:* +:: + + B P + CN profil_with_extremities + CP 0 1 + CP +2.759820E05 +1.284410E05 +2.760570E05 +1.284240E05 + CP 2 + 1.120 0.000 -1.250 + x y z values lines with y=0.0 + ... + +The profile of name *profil_with_extremties* is vertical, is an open line of type spline. +The two extremities are (+2.759820E05 +1.284410E05 0.0) and (+2.760570E05 +1.284240E05 0.0) + +*export:* +:: + + B P + CN profil_with_extremities + CP 0 1 + CP 275982.000 128441.000 276057.000 128424.000 + CP 2 + 1.120 0.000 -1.250 + x y z values lines with y=0.0 + ... + +profile not georeferenced +~~~~~~~~~~~~~~~~~~~~~~~~~ + +*import from existing data file:* +:: + + B P + CN profil_not_georeferenced + CP 0 0 + CP 0.0 0.0 0.0 0.0 + CP 2 + -10.0 0.0 0.0 + -8.0 0.0 -5.0 + 8.0 0.0 -5.0 + 10.0 0.0 0.0 + +The profile of name *profil_not_georeferenced* is vertical, is an open line of type polyline. +The 4 real parameters are null, meaning there are no georeferenced extremities. + +*export:* +:: + + B P + CN profil_not_georeferenced + CP 0 0 + CP 0.0 0.0 0.0 0.0 + CP 2 + -10.0 0.0 0.0 + -8.0 0.0 -5.0 + 8.0 0.0 5.0 + 10.0 0.0 0.0 + +profile with fully georeferenced points +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +*import from existing data file:* +:: + + B P + CN profil_fully_georeferenced + CP 0 1 + CP +1.00000E+02 +2.00000E+02 +1.00000E+01 +2.00000E+01 + CP 0 + 275982.000 128441.000 -7.500 + x y z values lines + ... + +The profile of name *profil_fully_georeferenced* is defined in plane 0 (XoY), +meaning all the points are fully georeferenced (x y z significants). +The 4 real parameters are not used. + +*export:* +:: + + B P + CN profil_fully_georeferenced + CP 0 1 + CP 0.0 0.0 0.0 0.0 + CP 0 + 275982.000 128441.000 -7.500 + x y z values lines + ... + +example of XYZ curve +-------------------- + +*import from existing data file:* +:: + + B C -3.333330E+03 +4.875000E+04 +0.000000E+00 +3.333330E+02 +1.666670E+02 +1.000000E+00 0.658992 + CN trait_cote_ile + CP 1 1 + CP +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 + CP 0 + C + 211563.340 133489.165 8.750 A + 211604.013 133517.519 9.000 A + 211645.047 133544.734 9.100 A + 211684.597 133585.430 9.150 A + 211716.859 133584.277 9.050 A + 211777.488 133597.853 8.950 A + 211828.211 133609.896 9.000 A + 211896.886 133618.448 9.200 A + 211945.422 133633.990 9.250 A + 211996.891 133649.326 9.150 A + 212044.447 133622.576 9.050 A + 212067.681 133584.157 9.000 A + 212056.937 133521.369 9.000 A + 212007.716 133482.464 9.000 A + 211959.462 133428.999 9.000 A + 211925.576 133392.362 9.000 A + 211885.762 133376.207 9.000 A + 211817.310 133404.427 9.000 A + 211783.848 133416.811 9.000 A + 211742.545 133413.025 9.000 A + 211681.493 133421.775 9.000 A + 211644.814 133436.616 9.000 A + 211597.633 133447.736 9.000 A + 211569.826 133461.954 9.000 A + +The curve of name *trait_cote_ile* is closed, of type spline, defined in plane XoY (XoY is the only possible value here). +Other parameters are not used. + +This 3D curve is converted in a polyline and a profile in HYDRO module: + +* One polyline (with z=0). +* One vertical profile (u,z) representing the altitude along the polyline defined above. + +The u parameter of the vertical profile is the curvilign abcissa (in meters) along the isocontour. + + +*export* + +See isocontour and XYZ profile not georeferenced + +example of isocontour +--------------------- + +*import from existing data file:* +:: + + B N -3.333330E+03 +4.875000E+04 +0.000000E+00 +3.333330E+02 +1.666670E+02 +1.000000E+00 0.658992 + CN trait_cote_ile + CP 1 1 + CP 9.0 + CP 0 + C + 211563.340 133489.165 9.000 A + 211604.013 133517.519 9.000 A + 211645.047 133544.734 9.000 A + 211684.597 133585.430 9.000 A + 211716.859 133584.277 9.000 A + 211777.488 133597.853 9.000 A + 211828.211 133609.896 9.000 A + 211896.886 133618.448 9.000 A + 211945.422 133633.990 9.000 A + 211996.891 133649.326 9.000 A + 212044.447 133622.576 9.000 A + 212067.681 133584.157 9.000 A + 212056.937 133521.369 9.000 A + 212007.716 133482.464 9.000 A + 211959.462 133428.999 9.000 A + 211925.576 133392.362 9.000 A + 211885.762 133376.207 9.000 A + 211817.310 133404.427 9.000 A + 211783.848 133416.811 9.000 A + 211742.545 133413.025 9.000 A + 211681.493 133421.775 9.000 A + 211644.814 133436.616 9.000 A + 211597.633 133447.736 9.000 A + 211569.826 133461.954 9.000 A + + +The isocontour of name *trait_cote_ile* is closed, of type spline, defined in plane XoY +(XoY is the only possible value here). +The constant altitude is 9.0. the Z values of the points are ignored. + +This 3D curve is converted in a polyline and a profile in HYDRO module: + +* One polyline (with z=0). +* One vertical profile (u,z) representing the altitude along the polyline defined above, with a constant Z. + +The u parameter of the vertical profile is the curvilign abcissa (in meters) along the isocontour. + +*export of an isocontour with z=0:* +:: + + B N + CN trait_cote_ile + CP 1 1 + CP 0.0 + CP 0 + C + 211563.340 133489.165 0.000 + 211604.013 133517.519 0.000 + 211645.047 133544.734 0.000 + 211684.597 133585.430 0.000 + 211716.859 133584.277 0.000 + 211777.488 133597.853 0.000 + 211828.211 133609.896 0.000 + 211896.886 133618.448 0.000 + 211945.422 133633.990 0.000 + 211996.891 133649.326 0.000 + 212044.447 133622.576 0.000 + 212067.681 133584.157 0.000 + 212056.937 133521.369 0.000 + 212007.716 133482.464 0.000 + 211959.462 133428.999 0.000 + 211925.576 133392.362 0.000 + 211885.762 133376.207 0.000 + 211817.310 133404.427 0.000 + 211783.848 133416.811 0.000 + 211742.545 133413.025 0.000 + 211681.493 133421.775 0.000 + 211644.814 133436.616 0.000 + 211597.633 133447.736 0.000 + 211569.826 133461.954 0.000 + + +See also XYZ profile not georeferenced + + +Synthesis +========= + +In SALOME HYDRO module, when importing SinusX files, + +- scatter plots are imported as Bathymetries, +- isocontours are converted as polylines (z=0) and profiles not georeferenced (lines with z=constant), +- XYZ curves are converted as polylines (z=0) and profiles not georeferenced (curvilign abcissa, z), +- XYZ profiles with georeferenced extremities are imported as is (stream profiles for instance), +- XYZ profiles with with fully georeferenced points are converted in profiles with georeferenced extremities (see stream profiles), +- XYZ profiles not georeferenced are imported as is (used for section of a channel or embankment, or altitude line...), +- **all points of XYZ curves and isocontour with z different of 0 are regrouped to build a Bathymetry field**, + (Isocontour with z=0 are not significant in that case, +- when 2 successive points have the same coordinates, the second point must be removed (there are some old data files with this problem). + +When exporting SinusX files, all the polylines and profiles can be exported in a single file: + +- polylines are exported as isocontour with z=0, (open or closed, spline or not), + *(what about sections ? add a comment after the first point of a section?)* +- profiles are exported as is, georeferenced or not... +- **bathymetries are exported on demand (volume may be huge).** + + +.. only:: html +  + :ref:`ref_formatsSpecs` diff --git a/doc/salome/tutorial/english/english_streams.rst b/doc/salome/tutorial/english/english_streams.rst new file mode 100644 index 00000000..5fee57e3 --- /dev/null +++ b/doc/salome/tutorial/english/english_streams.rst @@ -0,0 +1,93 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + +######################################### +Streams +######################################### + +.. |exemple_profil| image:: /../_static/exemple_profil.png + :align: middle + +.. |profilsEtLignedo| image:: /../_static/profilsEtLignedo.png + :align: middle + +.. |iconeImportSinusX| image:: /../_static/iconeImportSinusX.png + :align: middle + +.. |menuImportSinusX| image:: /../_static/menuImportSinusX.png + :align: middle + +.. |georeferencementProfiles| image:: /../_static/georeferencementProfiles.png + :align: middle + +.. |createStream| image:: /../_static/createStream.png + :align: middle + +.. |objetStream| image:: /../_static/objetStream.png + :align: middle + +Les objets Stream permettent de définir des cours d'eau à l'aide d'une succession de profils. +Ces profils sont des coupes verticales en travers faites à intervalles réguliers le long du cours d'eau. + + |exemple_profil| + +Pour reconstituer le cours d'eau, il faut une succession de profils (avec leur géoréférencement), et une +ligne définissant l'axe du cours d'eau. Cette ligne permet d'ordonner les profils. + + |profilsEtLignedo| + +Nous importons une série de profils géoréférencés ainsi qu'une polyligne XY définissant la ligne d'eau, +au format SinusX. +La polyligne n'a pas besoin d'être très précise, dans la mesure où elle coupe les profils. + +L'import de fichiers au format SinusX se fait à partir de la barre de menu *HYDRO*, commande *Import from SinusX* +ou du bouton correspondant dans la barre d'outils du module. + + |iconeImportSinusX| + + |menuImportSinusX| + +Nous importons successivement les fichiers *lignedo.sx* et *garonne_profiles.sx* +qui se trouvent dans le répertoire d'installation de l'application SALOME HYDRO :: + + /bin/salome/test/HYDRO + +La ligne d'eau apparaît dans la rubrique *POLYLINES* et la série de profils se retrouve +dans la rubrique *PROFILES* de l'arbre de l'étude. + +Pour créer l'objet Stream, il faut utiliser la commande *Create stream* du menu contextuel de la rubrique +*NATURAL OBJECTS*. + +Nous nommons le stream *garonne_stream*, sélectionnons la polyligne *lignedo* et récupérons la série de profils +précédemment importés (il faut les sélectionner dans l'arbre d'étude et utiliser le bouton *Add* +du dialogue *create stream*. + + |createStream| + +L'objet Stream apparait dans la vue. Il faut valider avec *Apply and Close*. + + |objetStream| + +Les profils sont nommés individuellement, et éditables. + + |georeferencementProfiles| + +.. only:: html +  + :ref:`ref_casParticuliers` + diff --git a/doc/salome/tutorial/english/index.rst b/doc/salome/tutorial/english/index.rst new file mode 100644 index 00000000..5abe5e68 --- /dev/null +++ b/doc/salome/tutorial/english/index.rst @@ -0,0 +1,138 @@ +.. + Copyright (C) 2015-2016 EDF + + This file is part of SALOME HYDRO module. + + SALOME HYDRO module is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SALOME HYDRO module is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with SALOME HYDRO module. If not, see . + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +SALOME HYDRO Tutorial +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +.. |Hydro_module_button| image:: /../_static/HYDRO.png + :align: middle + :width: 16pt + :height: 16pt + +.. |hydrosolver_module_button| image:: /../_static/HYDROSolver.png + :align: middle + :width: 16pt + :height: 16pt + +SALOME HYDRO is an open integration platform devoted to hydraulic studies with the TELEMAC and MASCARET +codes in the field of free surface flows. The platform is based on the SALOME generic modules +(geometry and mesh creation, monitoring and automated management of computations, post-processing, etc.) +to which two specific task modules have been added: + + * HYDRO |Hydro_module_button|: acquisition of field data (contours, bathymetry, etc.), + construction of the geometry for the calculation case, identification of the boundary condition regions, etc + + * HYDROSOLVER |hydrosolver_module_button|: definition of the physical model and numerical parameters of the + simulation (calculation case) parameters, computational steering. + +The tutorial provides a step-by-step guide to a carrying out a case study on river flood inundation. +The practical exercise is drawn from a real example for which plenty of data is available. + +.. _ref_installationLancementSalome: + +################################### +Introduction to SALOME +################################### + +This section briefly recalls the procedure for installing and running SALOME. + +.. toctree:: + :numbered: + :maxdepth: 3 + + english_installationLancementSalome.rst + +.. _ref_notionsPrealables: + +################################### +A few preliminary concepts +################################### + +The different steps involved in a SALOME-HYDRO study are described herein and the necessary concepts introduced. +This section also contains a series of recommendations and pitfalls to be avoided. + +This is followed by a simple exercise enabling to discover these concepts through practical experience. + +.. toctree:: + :numbered: + :maxdepth: 3 + + english_preliminaires.rst + english_piegesAEviter.rst + english_donneesPrealables.rst + +.. _ref_exempleInondation: + +################################### +A simple example of flooding +################################### + +This exercise covers the full procedure for conducting a flood study on a simple problem. + +.. toctree:: + :numbered: + :maxdepth: 3 + + english_import.rst + english_importBathy.rst + english_polylignes.rst + english_objetsNaturels.rst + english_casCalcul.rst + english_geometrie.rst + english_maillage.rst + english_interpolationZ.rst + english_miseEnDonneesTelemac.rst + english_lancementCalcul.rst + english_depouillementCalcul.rst + +.. _ref_casParticuliers: + +################################### +Some specific cases +################################### + +This chapter introduces a few concepts that were not addressed in the previous simple example. + +.. toctree:: + :numbered: + :maxdepth: 3 + + english_streams.rst + english_objetsArtificiels.rst + english_manipsPolys.rst + english_landCoverMap.rst + +.. _ref_formatsSpecs: + +################################### +Formats and specifications +################################### + +A few import-export formats are introduced herein. +The SinusX format documentation in French corresponds to the original use of the format and can be transposed to SALOME use. +**The SinusX format documentation in English provides the precise specification for the SinusX format in SALOME HYDRO. The latter documentation constitutes the reference for SALOME HYDRO.** + + +.. toctree:: + :numbered: + :maxdepth: 3 + + english_format_sinusx.rst + english_sinusX_Format.rst