Source code for ParaviewWriter

import xml.etree.cElementTree as ET



[docs]def write_line_VTU(nodes,elements,filename): file=ET.Element("VTKFile") file.set('type','UnstructuredGrid') file.set('version','0.1') file.set('byte_order','BigEndian') UG=ET.SubElement(file,'UnstructuredGrid') piece=ET.SubElement(UG,'Piece') piece.set('NumberOfPoints',str(len(nodes))) piece.set('NumberOfCells',str(len(elements))) # pointdata=ET.SubElement(piece,'PointData') # pointdata.set('Scalars','scalars') # DApd=ET.SubElement(pointdata,'DataArray') # DApd.set('type','Float32') # DApd.set('Name','phi') # DApd.set('Format','ascii') # DApd.text='' points=ET.SubElement(piece,'Points') DAp=ET.SubElement(points,'DataArray') DAp.set('type','Float32') DAp.set('NumberOfComponents','3') DAp.set('Format','ascii') DAp.text='' print "node string start" DAp.text='\n'.join(map(lambda a: str(a[0])+' '+str(a[1])+' '+str(a[2]), nodes)) print 'node string end' # DApd.text='\n'.join(map(str,NT11.values())) cell=ET.SubElement(piece,'Cells') DAc=ET.SubElement(cell,'DataArray') DAc.set('type','Int32') DAc.set('Name','connectivity') DAc.set('Format','ascii') DAc2=ET.SubElement(cell,'DataArray') DAc2.set('Name','types') DAc2.set('Format','ascii') DAc2.set('type','Int32') DAc3=ET.SubElement(cell,'DataArray') DAc3.set('Name','types') DAc3.set('type','Int32') DAc3.set('Format','ascii') DAc3.set('Name','offsets') DAc.text='' DAc2.text='' DAc3.text='' DAc.text='\n'.join(map(lambda a: str(a[0])+' '+str(a[1]), elements)) DAc2.text='\n'.join(['3']*len(elements)) DAc3.text='\n'.join(map(str,range(2,len(elements)*2+1,2))) tree = ET.ElementTree(file) tree.write(filename) return