The altitude field is constituted by means of the following Python script that must be generated and then run.
-In the script, the regions of the HYDRO calculation case are associated to the corrresponding nodes group of the mesh.
+In the script, the regions of the HYDRO calculation case are associated to the corrresponding faces group of the mesh.
A specific command in HYDROSOLVER module helps to build this association.
The HYDROSOLVER module is activated with a selection in the module list (combo box) or its icon in the toolbar: |HYDROSolver|.
If the mesh is denser than the cloud, it is better to use linearised interpolation, obtained by previous triangulation of the point cloud.
This last method is more accurate but slightly more costly, computationally.
-The region names must be selected in correspondance of their group nodes (representing the same geometric face),
-and, for the other node groups, the selection should be *None*.
+The region names must be selected in correspondance of their group of faces (representing the same geometric face),
+and, for the other groups, the selection should be *None*.
|genereInterpolz|
which are stored in the original file's directory:
* garonne_1.med: original file (z coordinate = 0)
- * garonne_1.xyz: xyz file (ASCII) of the altitudes at the nodes
- * garonne_1Z.med: intermediate step of the script
+ * garonne_1.xyz: xyz file (ASCII) of the altitudes at the nodes *(optional)*
* garonne_1F.med: calculated value of the Z coordinate and “BOTTOM” field with the Z-value at each node
+**Remark** : The Z coordinate on mesh nodes is not used by TELEMAC, but is useful for visual control in SMESH.
+
To run the script, the HYDRO module for the study must be active. If resuming work on a study that was previously saved,
the HYDRO module must be activated before running the script
(simply select HYDRO at least once in order for the data stored in the study file to be read).
It is also possible to edit the following script:
-The script needs to be copied and modified as needed for the region names used in the calculation case and for the named groups of mesh nodes.
+The script needs to be copied and modified as needed for the region names used in the calculation case and for the named groups of mesh faces.
.. literalinclude:: ../interpolZ.py
:lines: 1-
# --- nom du cas dans HYDRO
nomCas = 'garonne_1'
-# --- fichier med 2D(x,y) du cas, produit par SMESH
-fichierMaillage = '/tmp/garonne_1F.med'
+# --- fichier en entrée :fichier med après interpolation en Z, complété par défaut avec le champ 'BOTTOM FRICTION'
+fichierMaillage_in = '/tmp/garonne_1F.med'
from salome.hydrotools.interpolS import assignStrickler
-assignStrickler(nomCas, fichierMaillage, '/tmp/garonne_1F.med', 'BOTTOM FRICTION')
+assignStrickler(nomCas, fichierMaillage_in)
+
+"""
+# --- il est possible de mettre un fichier différent en sortie, un nom de champ différent du défaut ('BOTTOM FRICTION')
+# --- output_file_name : optionnel, fichier en sortie : le même (par défaut) ou différent
+fichierMaillage_out = fichierMaillage_in
+# --- med_field_name : optionnel, nom du champ des coefficients de Strickler, défaut = 'BOTTOM FRICTION'
+nomChamp = 'BOTTOM FRICTION'
+assignStrickler(nomCas, fichierMaillage_in, output_file_name=fichierMaillage_out, med_field_name=nomChamp)
+"""
\ No newline at end of file
theStudy = salome.myStudy
theStudyId = salome.myStudyId
-from salome.hydrotools.interpolZ import interpolZ, createZfield2
+from salome.hydrotools.interpolZ import interpolZ
# --- Z interpolation Z sur la bathymetrie/altimetrie aux noeuds du maillage
statz = interpolZ(nomCas, fichierMaillage, dicoGroupeRegion, zUndef, interpolMethod)
-
-# --- ajout d'un champ aux noeud, de nom "BOTTOM", content les valeurs Z
-createZfield2(fichierMaillage)
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.
+Le script utilise une association des régions du cas de calcul HYDRO aux groupes de faces 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|.
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,
+Il faut sélectionner les bons noms de régions en correspondance avec les noms des groupes de faces,
en laissant la sélection à *None* pour les autres groupes.
|genereInterpolz|
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_1.xyz : fichier xyz (ASCII) des altitudes aux noeuds *(optionnel)*
* garonne_1F.med : coordonnée Z à sa valeur calculée, et champ "BOTTOM" avec la valeur Z aux noeuds
+**Remarque** : La modification de la coordonnée Z des noeuds du maillage n'est pas nécessaire à TELEMAC,
+mais utile pour une visualisation de contrôle du 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,
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.
+et des noms de groupes de faces dans le maillage.
.. literalinclude:: interpolZ.py
:lines: 1-