4 from MEDLoader import *
10 def set_var_on_group(filename, meshname, groups_val, varname):
14 @param filename Name of the MED file
15 @param meshname Name of the mesh in the MED file
16 @param groups_val List of tuples (Name, value)
17 @param varname Name of the field
20 meshFile2D = MEDFileUMesh(filename, meshname)
22 m2D = meshFile2D.getMeshAtLevel(0)
24 npoin = m2D.getNumberOfNodes()
26 # Values for the field
27 values = DataArrayDouble(npoin)
29 for group, val in groups_val:
30 # Getting element in the group
31 cellsInGroup = meshFile2D.getGroupArr(0, group)
32 for cell in cellsInGroup:
33 # Get list of node in the element
34 nodes = m2D.getNodeIdsOfCell(cell[0])
38 # Building the new field
39 field = MEDCouplingFieldDouble.New(ON_NODES)
40 field.setName(varname)
42 field.setArray(values)
43 field.setTime(0.0,0,-1)
45 # Writing field in file
46 WriteField(filename,field,False)
49 if __name__ == "__main__":
50 filename = "HYDRO_garonne_1F_Z-KS.med"
51 meshname = "HYDRO_garonne_1"
52 groups = [("litMineur", 1.00),
56 varname = "WATER DEPTH"
58 set_var_on_group(filename, meshname, groups, varname)