def write_recipspace(self, filename, **args): sgwriter = tvtk.XMLStructuredGridWriter() if filename.endswith(".vtk"): sgwriter.file_name = filename else: sgwriter.file_name = filename + '.vts' sgwriter.set_input_data(self.get_rs_structured_grid()) sgwriter.write() print('saved file', filename)
if __name__ == '__main__': from boutdata.collect import collect from boututils.file_import import file_import #path = "/media/449db594-b2fe-4171-9e79-2d9b76ac69b6/runs/data_33/" path="../data" g = file_import("../bout.grd.nc") #g = file_import("../cbm18_8_y064_x516_090309.nc") #g = file_import("/home/ben/run4/reduced_y064_x256.nc") data = collect("P", tind=10, path=path) data = data[0,:,:,:] s = np.shape(data) nz = s[2] #bkgd = collect("P0", path=path) #for z in range(nz): # data[:,:,z] += bkgd # Create a structured grid sgrid = create_grid(g, data, 1) w = tvtk.XMLStructuredGridWriter(input=sgrid, file_name='sgrid.vts') w.write() # View the structured grid view3d(sgrid)
''' points = np.column_stack((x,y,z)) #triangles = array([[0,1,3], [0,3,2], [1,2,3], [0,2,1]]) #temperature = array([10., 20., 30., 40.]) # The TVTK dataset. mesh = tvtk.PolyData(points=points)#, polys=triangles) mesh.point_data.scalars = elev mesh.point_data.scalars.name = 'Elevation' # Uncomment the next two lines to save the dataset to a VTK XML file. w = tvtk.XMLPolyDataWriter(input=mesh, file_name='polydata.vtp') w.write() ''' #r = rect_grid() data = np.atleast_3d(elev[10,...]) r = tvtk.StructuredGrid() r.dimensions = (data.shape[0]+1, data.shape[1]+1, data.shape[2]) r.points = np.column_stack((x,y,z)) r.cell_data.scalars = data.ravel() r.cell_data.scalars.name = 'scalars' w2 = tvtk.XMLStructuredGridWriter(input=r, file_name='structgrid.vts') w2.write() f2.close() f.close()
# cell-centered point-based mesh sdims, spts = smesh_points( gchemgrid.c_lon_4x5, gchemgrid.c_lat_4x5, gchemgrid.c_km_geos5_r * 1e3, #arange(tfield.shape[2]), lev_scale, lev_offset) sgrid = tvtk.StructuredGrid(dimensions=sdims) sgrid.points = spts sgrid.point_data.scalars = np.ravel(tfield.transpose()) sgrid.point_data.scalars.name = filter_results[0].full_name writer = tvtk.XMLStructuredGridWriter(input=sgrid, file_name=os.path.join( run_dir, "vtk", "test.vts")) writer.write() # cell-based mesh (use unstructured mesh, polydata is for surfaces and not # volumes) sdims, spts, vertices = smesh_cells(gchemgrid.e_lon_4x5, gchemgrid.e_lat_4x5, gchemgrid.e_km_geos5_r * 1e3, lev_scale, lev_offset, True) sgrid = tvtk.UnstructuredGrid(points=spts) tet_type = tvtk.Hexahedron().cell_type # cells = hexahedrons sgrid.set_cells(tet_type, vertices) ijavg = ctm_f.filter(category=field_category) for tracer in ijavg: