Salome HOME
version in tutorial
[modules/hydro.git] / doc / salome / tutorial / interpolationZ.rst
1 ..
2    Copyright (C) 2015-2016 EDF
3
4    This file is part of SALOME HYDRO module.
5
6    SALOME HYDRO module is free software: you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation, either version 3 of the License, or
9    (at your option) any later version.
10
11    SALOME HYDRO module is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with SALOME HYDRO module.  If not, see <http://www.gnu.org/licenses/>.
18
19 #########################################
20 Interpolation en Z
21 #########################################
22
23 .. |Bottom| image:: /_static/Bottom.png
24    :align: middle
25
26 .. |Capture_meshZ| image:: /_static/Capture_meshZ.png
27    :align: middle
28
29
30 .. |occ_view_scaling| image:: /_static/occ_view_scaling.png
31    :align: middle
32    :width: 16pt
33    :height: 16pt
34
35
36 Le maillage que nous avons généré à l'étape précédente ne contient pas d'information d'altitude.
37 Pour alimenter le code TELEMAC avec cette information, il faut rajouter au maillage un champ contenant la
38 coordonnée Z au noeuds du maillage.
39
40 Le mode de calcul de la coordonnée Z a été décrit zone par zone dans la définition du cas de calcul,
41 dans le module HYDRO.
42
43 Calcul de l'interpolation en Z aux noeuds du maillage
44 =====================================================
45
46 La constitution du champ d'altitude se fait au moyen d'un script Python, qu'il faut éditer, puis exécuter.
47
48 Voici le script :
49
50 .. literalinclude:: interpolZ.py
51     :lines: 1-
52
53 Le script produit plusieurs fichiers dont le nom se déduit du nom du fichier maillage d'origine
54 avec des suffixes différents, rangés dans le répertoire du fichier d'origine :
55
56 * garonne_1.med  : fichier d'origine (coordonnée z = 0)
57 * garonne_1.xyz  : fichier xyz (ASCII) des altitudes aux noeuds
58 * garonne_1Z.med : étape intermédiaire du script
59 * garonne_1F.med : coordonnée Z à sa valeur calculée, et champ "BOTTOM" avec la valeur Z aux noeuds
60
61 Il faut recopier le script et l'adapter en fonction des noms de régions utilisés dans le cas de calcul
62 et des noms de groupes de noeuds dans le maillage.
63
64 L'interpolation sur les nuages de points peut se faire de deux manières, selon que les nuages sont plus
65 denses que le maillage, ou l'inverse.
66 Pour des nuages de points très denses, il suffit de prendre l'altitude du point le plus proche du nuage.
67 Quand le maillage est plus dense que le nuage, il vaut mieux prendre l'altitude linéarisée, obtenue par
68 une triangulation préalable du nuage de points. Cette dernière méthode est plus précise
69 mais un peu plus coûteuse.
70
71 Pour exécuter le script, il faut que le module HYDRO soit bien actif dans l'étude.
72 Si l'on reprend une étude précédemment sauvegardée, il faut avoir activé le module HYDRO avant
73 de lancer le script (il suffit de sélectionner HYDRO au moins une fois,
74 pour que les données stockées dans le fichier d'étude soient lues).
75 Nous exécutons le script avec la commande du menu *File / Load Script...*.
76 Le script bloque l'interface graphique le temps de son exécution. Il affiche une trace d'exécution dans la console
77 Python qui est affichée par défaut dans les modules GEOM et SMESH.
78
79 Visualisation de l'interpolation en Z aux noeuds du maillage
80 ============================================================
81
82
83 Visualisation avec le module MED
84 --------------------------------
85
86 Le module MED offre une visualisation simple des champs d'un maillage MED.
87 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*.
88 En dépliant l'objet *garonne_1F.med* dans l'arbre d'étude, nous trouvons le maillage *HYDRO_Garonne_1* et le champ *BOTTOM*.
89 Le menu contextuel du champ propose la commande *visualize*.
90
91 Le champ s'affiche dans la vue 3D. Le menu contextuel de la vue 3D propose la commande *Representation / Surface with Edges*
92
93   |Bottom|
94
95 Visualisation dans le module SMESH
96 ----------------------------------
97
98 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,
99 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*.
100
101 Nous affichons ce maillage dans le module SMESH, avec la commande *show*.
102 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.
103
104 *Rappel* : pour manipuler l'objet dans la vue 3D, il faut utiliser la touche <CTRL> et les boutons de la souris, ou la molette pour le zoom.
105
106 Voici la vue des groupes correspondant aux régions :
107
108   |Capture_meshZ|
109
110 .. only:: html
111
112    :ref:`ref_exempleInondation`