Salome HOME
tentative generation pdf tutoriel
[modules/hydro.git] / doc / salome / tutorial / interpolationZ.rst
index acd3272d331d91db4f048dafb997f7921bad48de..ce2477663282c5e96ec6da2f01a27404d75021fd 100644 (file)
 Interpolation en Z
 #########################################
 
-blabla.
+.. |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 noeud 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 editer, puis exécuter.
+
+Voici le script::
+
+  # -*- coding: utf-8 -*-
+
+  # ===== Description du cas, a éditer =====
+  #=========================================
+
+  # --- nom du cas dans HYDRO
+  nomCas = 'garonne_1'
+
+  # --- fichier med 2D(x,y) du cas, produit par SMESH
+  fichierMaillage = '/tmp/garonne_1.med'
+
+  # --- dictionnaire: (clé = nom de groupe med, valeur= nom de région)
+  dicoGroupeRegion= dict(litMineur  = 'garonne_1_litMineur',
+                         riveDroite = 'garonne_1_riveDroite',
+                         riveGauche = 'garonne_1_riveGauche',
+                        )
+  # --- valeur de Z à prendre quand le noeud n'est pas trouvé dans la région (détection de problèmes)                       
+  zUndef = 90
+
+  # ==== Partie Générique du traitement ====
+  #=========================================
+
+  import string
+  import sys
+  import salome
+
+  salome.salome_init()
+  theStudy = salome.myStudy
+  theStudyId = salome.myStudyId
+
+  from salome.hydrotools.interpolZ import interpolZ, createZfield2
+
+  # --- Z interpolation Z sur la bathymetrie/altimetrie aux noeuds du maillage
+  statz = interpolZ(nomCas, fichierMaillage, dicoGroupeRegion, zUndef)
+
+  # --- ajout d'un champ aux noeud, de nom "BOTTOM", content les valeurs Z
+  createZfield2(fichierMaillage)
+
+
+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 : coordonnée Z à sa valeur calculée 
+* garonne_1F.med : coordonnée Z à sa valeur calculée, et champ "BOTTOM" avec la valeur Z aux noeuds
+
+Il faut recopier le script et l'adapter en fonction des noms utilisés dans le cas de calcul 
+et pour le maillage.
+
+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 éxécutons le script avec la commande du menu *File / Load Script...*.
+Le script bloque l'interface graphique le temps de son exécution. Il affiche une trace d'exécution dans la console
+Python qui est affichée par défaut dans les modules GEOM et SMESH.
+
+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_1L.med*.
+En dépliant l'objet *garonne_1L.med* dans l'arbre d'étude, nous trouvons le maillage *HYDRO_Garonne_1* et le champ *BOTTOM*.
+Le menu contextuel du champ propose la commande *visualize*.
+
+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 icone 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'icone |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 <CTRL> et les boutons de la souris, ou la molette pour le zoom. 
+
+Voici la vue des groupes correspondant aux régions :
+
+  |Capture_meshZ|
+  
   :ref:`ref_exempleInondation`