2 Copyright (C) 2015-2016 EDF
4 This file is part of SALOME HYDRO module.
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.
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.
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/>.
19 #########################################
21 #########################################
23 .. |Bottom| image:: /_static/Bottom.png
26 .. |Capture_meshZ| image:: /_static/Capture_meshZ.png
30 .. |occ_view_scaling| image:: /_static/occ_view_scaling.png
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 noeud du maillage.
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,
43 Calcul de l'interpolation en Z aux noeuds du maillage
44 =====================================================
46 La constitution du champ d'altitude se fait au moyen d'un script Python, qu'il faut editer, puis exécuter.
50 # -*- coding: utf-8 -*-
52 # ===== Description du cas, a éditer =====
53 #=========================================
55 # --- nom du cas dans HYDRO
58 # --- fichier med 2D(x,y) du cas, produit par SMESH
59 fichierMaillage = '/tmp/garonne_1.med'
61 # --- dictionnaire: (clé = nom de groupe med, valeur= nom de région)
62 dicoGroupeRegion= dict(litMineur = 'garonne_1_litMineur',
63 riveDroite = 'garonne_1_riveDroite',
64 riveGauche = 'garonne_1_riveGauche',
66 # --- valeur de Z à prendre quand le noeud n'est pas trouvé dans la région (détection de problèmes)
69 # ==== Partie Générique du traitement ====
70 #=========================================
77 theStudy = salome.myStudy
78 theStudyId = salome.myStudyId
80 from salome.hydrotools.interpolZ import interpolZ, createZfield2
82 # --- Z interpolation Z sur la bathymetrie/altimetrie aux noeuds du maillage
83 statz = interpolZ(nomCas, fichierMaillage, dicoGroupeRegion, zUndef)
85 # --- ajout d'un champ aux noeud, de nom "BOTTOM", content les valeurs Z
86 createZfield2(fichierMaillage)
89 Le script produit plusieurs fichiers dont le nom se déduit du nom du fichier maillage d'origine
90 avec des suffixes différents, rangés dans le répertoire du fichier d'origine :
92 * garonne_1.med : fichier d'origine (coordonnée z = 0)
93 * garonne_1.xyz : fichier xyz (ASCII) des altitudes aux noeuds
94 * garonne_1Z.med : coordonnée Z à sa valeur calculée
95 * garonne_1F.med : identique au précédent
96 * garonne_1L.med : coordonnée Z à sa valeur calculée, et champ "BOTTOM" avec la valeur Z aux noeuds
98 Il faut recopier le script et l'adapter en fonction des noms utilisés dans le cas de calcul
101 Pour exécuter le script, il faut que le module HYDRO soit bien actif dans l'étude.
102 Si l'on reprend une étude précédemment sauvegardée, il faut avoir activé le module HYDRO avant
103 de lancer le script (il suffit de sélectionner HYDRO au moins une fois,
104 pour que les données stockées dans le fichier d'étude soient lues).
105 Nous éxécutons le script avec la commande du menu *File / Load Script...*.
106 Le script bloque l'interface graphique le temps de son exécution. Il affiche une trace d'exécution dans la console
107 Python qui est affichée par défaut dans les modules GEOM et SMESH.
109 Visualisation de l'interpolation en Z aux noeuds du maillage
110 ============================================================
113 Visualisation avec le module MED
114 ----------------------------------
116 Le module MED offre une visualisation simple des champs d'un maillage MED.
117 Il faut activer le module MED, puis utiliser le menu *File/Add Data Source* ou l'icône équivalente, et retrouver le fichier *garonne_1L.med*.
118 En dépliant l'objet *garonne_1L.med* dans l'arbre d'étude, nous trouvons le maillage *HYDRO_Garonne_1* et le champ *BOTTOM*.
119 Le menu contextuel du champ propose la commande *visualize*.
121 Le champ s'affiche dans la vue 3D. Le menu contextuel de la vue 3D propose la commande *Representation / Surface with Edges*
125 Visualisation dans le module SMESH
126 ----------------------------------
128 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,
129 sous la première instance, avec une icone différente. S'il n'y est pas, le menu contextuel de l'arbre d'étude propose la commande *Refresh*.
131 Nous affichons ce maillage dans le module SMESH, avec la commande *show*.
132 Pour mieux voir le relief, il faut modifier l'échelle en Z avec l'icone |occ_view_scaling| de la vue 3D. Ici, il suffit de prendre un facteur 3 pour Z.
134 *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.
136 Voici la vue des groupes correspondant aux régions :
140 :ref:`ref_exempleInondation`