1 ############################################################################
3 # this Python script is testing the profil functionality using the FIELD
4 # constructor via a MED driver.
6 ############################################################################
8 from libMEDMEM_Swig import *
11 #test 1 --- zzzz121b_without_tr6.med RESUZERODEPL____________________ 1 1
12 #test 2 --- zzzz121b_without_tr6.med RESUZEROERRE_ELGA_NORE__________ 1 1
13 #test 3 --- maill.00.med Indicateur_d_erreur_00 2 2
15 medFile = "zzzz121b_without_tr6.med"
16 #medFile = "maill.00.med"
18 fieldName = "RESUZERODEPL____________________"
19 #fieldName = "RESUZEROERRE_ELGA_NORE__________"
20 #fieldName = "Indicateur_d_erreur_00"
22 # default value, may be changed according to what field is stored in medFile
23 ##iterationNumber = -1
32 #befor running this script, please be sure about the path the file fileName
34 filePath=os.environ["MED_ROOT_DIR"]
35 filePath=filePath+"/share/salome/resources/"
37 medFile = filePath + medFile
39 def analyseField(field):
40 fieldName = field.getName()
41 fieldType = field.getValueType()
42 fieldDesc = field.getDescription()
43 fieldIterationNumber = field.getIterationNumber()
44 fieldOrderNumber = field.getOrderNumber()
45 fieldTime = field.getTime()
46 fieldNbOfComp = field.getNumberOfComponents()
47 print "The field ",fieldName," with the description ",fieldDesc," typed ",fieldType
48 print "Iteration number ",fieldIterationNumber," OrderNumber ",fieldOrderNumber," Time ",fieldTime
49 print "It has ",fieldNbOfComp,"components"
50 for k in range(fieldNbOfComp):
52 fieldCompName = field.getComponentName(kp1)
53 fieldCompDesc = field.getComponentDescription(kp1)
54 fieldCompUnit = field.getMEDComponentUnit(kp1)
55 print " * Component:",kp1
56 print " Name:",fieldCompName
57 print " Description:",fieldCompDesc
58 print " Unit:",fieldCompUnit
60 fieldSupport = field.getSupport()
61 fieldMeshName = fieldSupport.getMeshName()
62 fieldSupportOnAll = fieldSupport.isOnAllElements()
63 fieldNbEntities = fieldSupport.getNumberOfElements(MED_ALL_ELEMENTS)
64 fieldEntityType = fieldSupport.getEntity()
65 fieldSupportNumber = range(1,fieldNbEntities+1)
66 if (not fieldSupportOnAll):
67 fieldSupportNumber = fieldSupport.getNumber(MED_ALL_ELEMENTS)
69 print " fieldSupportNumber ", fieldSupportNumber
70 fieldInterlacingType = field.getInterlacingType()
71 print "It relies on the mesh named ",fieldMeshName
72 print "its interlacing type ",fieldInterlacingType
73 print "and it is on ",fieldNbEntities," entities of the type ",fieldEntityType
74 if (fieldInterlacingType == MED_FULL_INTERLACE):
75 for i in range(fieldNbEntities):
76 value = field.getRow(fieldSupportNumber[i])
77 print " * ",fieldSupportNumber[i]," --- ",value
80 elif (fieldInterlacingType == MED_FULL_INTERLACE):
81 for i in range(fieldNbOfComp):
82 value = field.getColumn(fieldSupportNumber[i])
83 print " * ",fieldSupportNumber[i]," --- ",value
88 field = FIELDDOUBLE(MED_DRIVER, medFile, fieldName,
89 iterationNumber, orderNumber)
93 print "END of the Pyhton script ..... Ctrl D to exit"