doCleanup(fid, -1) # optionnal : names for nodes or elements # In this case, a name is given to the cells of the mesh try: med.MEDmeshEntityNameWr(fid, meshname, med.MED_NO_DT, med.MED_NO_IT, med.MED_CELL, med.MED_QUAD4, nquad4, cellsnames) except RuntimeError as ex: print("ERROR : cells names ...\n%s" % ex) doCleanup(fid, -1) # We have to create family 0 : by default, all mesh entities family number is 0 #TODO : Etudier la pertinence de définir MED_NO_GROUP comme un MEDCHAR('') #TODO : A confronter aux types des paramètres axisname, axisunit try: med.MEDfamilyCr(fid, meshname, med.MED_NO_NAME, 0, 0, med.MEDCHAR(med.MED_NO_GROUP)) except RuntimeError as ex: print("ERROR : family 0 creation ...\n%s" % ex) doCleanup(fid, -1) # We decide to create a family for boundary quad4 : # by convention a nodes family number is > 0 and an element family number is < 0 try: med.MEDfamilyCr(fid, meshname, familyname, 1, -1, groupname) except RuntimeError as ex: print("ERROR : family creation ...\n%s" % ex) doCleanup(fid, -1) # Then we write family number for quad4 try: med.MEDmeshEntityFamilyNumberWr(fid, meshname, med.MED_NO_DT,
try: med.MEDmeshNodeCoordinateWr(fid, meshname, med.MED_NO_DT, med.MED_NO_IT, med.MED_UNDEF_DT, med.MED_FULL_INTERLACE, nnodes, coordinates) except RuntimeError as ex: print("ERROR : nodes coordinates ...\n%s" % ex) doCleanup(fid, -1) # cells connectiviy is defined in nodal mode # 2 polygons try: med.MEDmeshPolygonWr(fid, meshname, med.MED_NO_DT, med.MED_NO_IT, med.MED_UNDEF_DT, med.MED_CELL, med.MED_NODAL, indexsize, index, connectivity) except RuntimeError as ex: print("ERROR : polygon connectivity ...\n%s" % ex) doCleanup(fid, -1) # create family 0 : by default, all mesh entities family number is 0 #TODO : Etudier la pertinence de définir MED_NO_GROUP comme un MEDCHAR('') #TODO : A confronter aux types des paramètres axisname, axisunit try: med.MEDfamilyCr(fid, meshname, med.MED_NO_NAME, 0, 0, med.MEDCHAR(med.MED_NO_GROUP)) except RuntimeError as ex: print("ERROR : family 0 creation ...\n%s" % ex) doCleanup(fid, -1) # close MED file doCleanup(fid, 0)
# nodes coordinates in a cartesian axis in full interlace mode # (X1,Y1, X2,Y2, X3,Y3, ...) with no iteration and computation step try: med.MEDmeshNodeCoordinateWr(fid, meshname, med.MED_NO_DT, med.MED_NO_IT, med.MED_UNDEF_DT, med.MED_FULL_INTERLACE, nnodes, coordinates) except RuntimeError as ex: print("ERROR : nodes coordinates ...\n%s" % ex) doCleanup(fid, -1) # cells connectiviy is defined in nodal mode with no iteration and computation step try: med.MEDmeshPolyhedronWr(fid, meshname, med.MED_NO_DT, med.MED_NO_IT, med.MED_UNDEF_DT, med.MED_CELL, med.MED_NODAL, faceindexSize, faceindex, nodeindexSize, nodeindex, connectivity) except RuntimeError as ex: print("ERROR : polyhedron connectivity ...\n%s" % ex) doCleanup(fid, -1) # create family 0 : by default, all mesh entities family number is 0 #TODO : Etudier la pertinence de définir MED_NO_GROUP comme un MEDCHAR('') #TODO : A confronter aux types des paramètres axisname, axisunit try: med.MEDfamilyCr(fid, meshname, "", 0, 0, med.MEDCHAR("")) except RuntimeError as ex: print("ERROR : family 0 creation ...\n%s" % ex) doCleanup(fid, -1) # close MED file doCleanup(fid, 0)