]> SALOME platform Git repositories - modules/med.git/blob - src/MEDMEM_SWIG/test_profil_MedFieldDriver.py
Salome HOME
Join modifications from branch CEAFor_V3_2_0
[modules/med.git] / src / MEDMEM_SWIG / test_profil_MedFieldDriver.py
1 ############################################################################
2 #
3 # this Python script is testing the profil functionality using the FIELD
4 # constructor via a MED driver.
5 #
6 ############################################################################
7
8 from libMEDMEM_Swig import *
9
10 # users inputs
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
14
15 medFile = "zzzz121b_without_tr6.med"
16 #medFile = "maill.00.med"
17
18 fieldName = "RESUZERODEPL____________________"
19 #fieldName = "RESUZEROERRE_ELGA_NORE__________"
20 #fieldName = "Indicateur_d_erreur_00"
21
22 # default  value, may be changed according to what field is stored in medFile
23 ##iterationNumber = -1
24 ##orderNumber = -1
25 iterationNumber = 1
26 orderNumber = 1
27 #iterationNumber = 2
28 #orderNumber = 2
29
30 import os
31 #
32 #befor running this script, please be sure about the path the file fileName
33 #
34 filePath=os.environ["MED_ROOT_DIR"]
35 filePath=filePath+"/share/salome/resources/"
36
37 medFile = filePath + medFile
38
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):
51         kp1 = k+1
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
59         pass
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)
68         pass
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
78             pass
79         pass
80     elif (fieldInterlacingType == MED_FULL_INTERLACE):
81         for i in range(fieldNbOfComp):
82             value = field.getColumn(fieldSupportNumber[i])
83             print " * ",fieldSupportNumber[i]," --- ",value
84             pass
85         pass
86     pass
87
88 field = FIELDDOUBLE(MED_DRIVER, medFile, fieldName,
89                     iterationNumber, orderNumber)
90
91 analyseField(field)
92
93 print "END of the Pyhton script ..... Ctrl D to exit"