1 ###################################################################################
3 # This Python script is testing the writing in Med format V2.1 V2.2
5 # You can check if the analysis of the families is OK.
7 ###################################################################################
9 from libMEDMEM_Swig import *
13 #befor running this script, please be sure about the path the files
15 filePath=os.environ["MED_ROOT_DIR"]
16 filePath=filePath+"/share/salome/resources/"
19 medFiles.append("geomMesh21.med")
20 medFiles.append("geomMesh22.med")
21 nbOfFiles = len(medFiles)
23 for i in range(nbOfFiles):
25 medFile = filePath + medFile
31 for i in range(nbOfFiles):
34 rootFile = string.split(medFile,".")[0]
35 medFileOut21 = rootFile + "Out21.med"
36 medFileOut22 = rootFile + "Out22.med"
38 print "Mounting in memory of the mesh ",meshName," from the file ",medFile
39 mesh = MESH(MED_DRIVER,medFile,meshName)
42 print "Families analysis of the mesh ",meshName," from the file ",medFile
45 for entity in [MED_NODE,MED_CELL,MED_FACE,MED_EDGE]:
46 nbFam = mesh.getNumberOfFamilies(entity)
47 if (entity == MED_NODE) & (nbFam > 0):
48 print "This mesh has",nbFam,"Node Family(ies)"
50 elif (entity == MED_CELL) & (nbFam > 0):
51 print "This mesh has",nbFam,"Cell Family(ies)"
53 elif (entity == MED_FACE) & (nbFam > 0):
54 print "This mesh has",nbFam,"Face Family(ies)"
56 elif (entity == MED_EDGE) & (nbFam > 0):
57 print "This mesh has",nbFam,"Edge Family(ies)"
61 for j in range(nbFam):
63 family = mesh.getFamily(entity,j+1)
64 familyName = family.getName()
65 familyBool = family.isOnAllElements()
67 print " -this famyly named ",familyName," is on all entities"
70 familyNumber = family.getNumber(MED_ALL_ELEMENTS)
71 print " -this famyly named ",familyName," has ",len(familyNumber)," entities"
77 medFileVersion = getMedFileVersionForWriting()
79 if (medFileVersion == V22):
80 setMedFileVersionForWriting(V21)
84 print " adding a Med file V2.1 format driver to the mesh with the file ",medFileOut21
85 idMedV21 = mesh.addDriver(MED_DRIVER,medFileOut21,mesh.getName())
88 print " writing the mesh in Med file V2.1 format"
91 medFileVersion = getMedFileVersionForWriting()
92 if (medFileVersion == V21):
93 setMedFileVersionForWriting(V22)
97 print " adding a Med file V2.2 format driver to the mesh with the file ",medFileOut22
98 idMedV22 = mesh.addDriver(MED_DRIVER,medFileOut22,mesh.getName())
101 print " writing the mesh in Med file V2.2 format"
108 for i in range(nbOfFiles):
109 medFile = medFiles[i]
110 rootFile = string.split(medFile,".")[0]
111 medFileOut21 = rootFile + "Out21.med"
112 medFileOut22 = rootFile + "Out22.med"
114 medFiles2.append(medFileOut21)
115 medFiles2.append(medFileOut22)
118 nbOfFiles = len(medFiles2)
120 for i in range(nbOfFiles):
121 medFile = medFiles2[i]
122 mesh = MESH(MED_DRIVER,medFile,meshName)
124 print "Families analysis of the mesh ",meshName," from the file ",medFile
126 for entity in [MED_NODE,MED_CELL,MED_FACE,MED_EDGE]:
127 nbFam = mesh.getNumberOfFamilies(entity)
128 if (entity == MED_NODE) & (nbFam > 0):
129 print "This mesh has",nbFam,"Node Family(ies)"
131 elif (entity == MED_CELL) & (nbFam > 0):
132 print "This mesh has",nbFam,"Cell Family(ies)"
134 elif (entity == MED_FACE) & (nbFam > 0):
135 print "This mesh has",nbFam,"Face Family(ies)"
137 elif (entity == MED_EDGE) & (nbFam > 0):
138 print "This mesh has",nbFam,"Edge Family(ies)"
142 for j in range(nbFam):
144 family = mesh.getFamily(entity,j+1)
145 familyName = family.getName()
146 familyBool = family.isOnAllElements()
148 print " -this famyly named ",familyName," is on all entities"
151 familyNumber = family.getNumber(MED_ALL_ELEMENTS)
152 print " -this famyly named ",familyName," has ",len(familyNumber)," entities"
160 print "END of the Pyhton script ..... Ctrl D to exit"