From: Paul RASCLE Date: Fri, 11 Dec 2015 12:36:27 +0000 (+0100) Subject: tutoriel interpolation en Z X-Git-Tag: SALOME_HYDRO_V1.0~44 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=a4564c5e99e5a85106562ba19e9a72671091b00e;p=modules%2Fhydro.git tutoriel interpolation en Z --- diff --git a/doc/salome/tutorial/casCalcul.rst b/doc/salome/tutorial/casCalcul.rst index fe07d035..e7ca0520 100644 --- a/doc/salome/tutorial/casCalcul.rst +++ b/doc/salome/tutorial/casCalcul.rst @@ -50,6 +50,9 @@ Constitution du cas de calcul .. |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. @@ -88,6 +91,9 @@ 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. @@ -121,6 +127,9 @@ Il est possible de regénérer les couleurs des zones (bouton *regenerate colors |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. diff --git a/doc/salome/tutorial/interpolationZ.rst b/doc/salome/tutorial/interpolationZ.rst index acd3272d..be678ff1 100644 --- a/doc/salome/tutorial/interpolationZ.rst +++ b/doc/salome/tutorial/interpolationZ.rst @@ -20,7 +20,88 @@ Interpolation en Z ######################################### -blabla. +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, +rangés dans le répertoire du fichier d'origine, avec des suffixes différents : + +* 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 : identique au précédent +* garonne_1L.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 +---------------------------------- + +Visualisation dans le module SMESH +---------------------------------- + + -  :ref:`ref_exempleInondation`