From 184b868669894a644c7dcc51606cfdfbd410067a Mon Sep 17 00:00:00 2001 From: Paul RASCLE Date: Mon, 14 Dec 2015 09:46:57 +0100 Subject: [PATCH] =?utf8?q?le=20maillage=20g=C3=A9n=C3=A9r=C3=A9=20avec=20M?= =?utf8?q?edCoupling=20ne=20contenait=20pas=20les=20groupes?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- doc/salome/tutorial/interpolationZ.rst | 3 +-- src/HYDROTools/interpolZ.py | 14 +++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/doc/salome/tutorial/interpolationZ.rst b/doc/salome/tutorial/interpolationZ.rst index 0538697f..ce247766 100644 --- a/doc/salome/tutorial/interpolationZ.rst +++ b/doc/salome/tutorial/interpolationZ.rst @@ -92,8 +92,7 @@ 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 : identique au précédent -* garonne_1L.med : coordonnée Z à sa valeur calculée, et champ "BOTTOM" avec la valeur Z aux noeuds +* 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. diff --git a/src/HYDROTools/interpolZ.py b/src/HYDROTools/interpolZ.py index efe490a2..d803355b 100644 --- a/src/HYDROTools/interpolZ.py +++ b/src/HYDROTools/interpolZ.py @@ -109,7 +109,7 @@ def createZfield1(fichierMaillage): # ----------------------------------------------------------------------------- -from MEDLoader import MEDLoader, MEDCouplingFieldDouble, ON_NODES, DataArrayDouble +from MEDLoader import MEDLoader, MEDCouplingFieldDouble, ON_NODES, DataArrayDouble, MEDFileMesh def createZfield2(fichierMaillage): """ @@ -117,24 +117,24 @@ def createZfield2(fichierMaillage): Add a field on nodes, named "BOTTOM", of type double, containing z coordinates of nodes. createZfield2 is used after interpolZ. createZfield1 is base on MEDLoader interface. There is an alternate method based on Med file, equivalent (createZfield1). - The file F.med produced by interpolz must exist, and is modified. fichierMaillage : 2D (x,y) med file produced by SMESH and used by interpolZ. - return L.med : med file containing the field "BOTTOM" + return F.med : med file containing the field "BOTTOM" """ noms = string.split(fichierMaillage,'.') basename = string.join(noms[:-1], '.') fichierZMaillage = basename + 'Z.med' - fichierLMaillage = basename + 'L.med' - print fichierLMaillage + fichierFMaillage = basename + 'F.med' + print fichierFMaillage mymesh = MEDLoader.ReadUMeshFromFile(fichierZMaillage,0) fieldOnNodes=MEDCouplingFieldDouble.New(ON_NODES) fieldOnNodes.setName("BOTTOM") fieldOnNodes.setMesh(mymesh) fieldOnNodes.setArray(mymesh.getCoords()[:,2]) - - MEDLoader.WriteField(fichierLMaillage,fieldOnNodes,True) + mm=MEDFileMesh.New(fichierZMaillage) + mm.write(fichierFMaillage,2) + MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fichierFMaillage,fieldOnNodes) # ----------------------------------------------------------------------------- -- 2.39.2