def testAMR(self): filename = VTK_DATA_ROOT + "/Data/AMR/Enzo/DD0010/moving7_0010.hierarchy" reader = vtk.vtkAMREnzoReader() reader.SetFileName(filename) reader.SetMaxLevel(10) reader.SetCellArrayStatus("TotalEnergy", 1) filter = vtk.vtkAMRResampleFilter() filter.SetMin([0.2, 0.2, 0]) filter.SetMax([0.8, 0.8, 1]) filter.SetNumberOfSamples([30, 30, 30]) filter.SetDemandDrivenMode(1) filter.SetInputConnection(reader.GetOutputPort()) filter.Update() out = filter.GetOutputDataObject(0).GetBlock(0) self.assertEqual(out.GetNumberOfPoints(), 27000) data = out.GetPointData().GetArray("TotalEnergy") minV = data.GetTuple(0)[0] maxV = data.GetTuple(0)[0] for i in range(out.GetNumberOfPoints()): v = data.GetTuple(i)[0] minV = min(v, minV) maxV = max(v, maxV) noError = abs(maxV * 100000 - 201) < 1 self.assertEqual(noError, True)
def testAMR(self): filename= VTK_DATA_ROOT +"/Data/AMR/Enzo/DD0010/moving7_0010.hierarchy" reader = vtk.vtkAMREnzoReader() reader.SetFileName(filename); reader.SetMaxLevel(10); reader.SetCellArrayStatus("TotalEnergy",1) filter = vtk.vtkAMRResampleFilter() filter.SetMin([0.2,0.2,0]); filter.SetMax([0.8,0.8,1]); filter.SetNumberOfSamples([30,30,30]); filter.SetDemandDrivenMode(1) filter.SetInputConnection(reader.GetOutputPort()) filter.Update() out = filter.GetOutputDataObject(0).GetBlock(0); self.assertEqual(out.GetNumberOfPoints(),27000); data = out.GetPointData().GetArray("TotalEnergy") minV = data.GetTuple(0)[0] maxV = data.GetTuple(0)[0] for i in range(out.GetNumberOfPoints()): v = data.GetTuple(i)[0] minV = min(v,minV) maxV = max(v,maxV) noError = abs(maxV*100000 - 201)<1 self.assertEqual(noError,True);
def testMe(self): filename = VTK_DATA_ROOT + "/Data/AMR/Enzo/DD0010/moving7_0010.hierarchy" datafieldname = "TotalEnergy" reader = vtk.vtkAMREnzoReader() reader.SetFileName(filename) reader.SetMaxLevel(10) reader.SetCellArrayStatus(datafieldname, 1) filter = vtk.vtkAMRSliceFilter() filter.SetInputConnection(reader.GetOutputPort()) filter.SetNormal(1) filter.SetOffSetFromOrigin(0.5) filter.SetMaxResolution(10) filter.Update() out = filter.GetOutputDataObject(0) self.assertEqual(NumCells(out), 456) out.Audit()
def testAMR(self): filename= VTK_DATA_ROOT +"/Data/AMR/Enzo/DD0010/moving7_0010.hierarchy" level = 1 reader = vtk.vtkAMREnzoReader() reader.SetFileName(filename); reader.SetMaxLevel(10); reader.SetCellArrayStatus("TotalEnergy",1) filter = vtk.vtkExtractLevel() filter.AddLevel(level); filter.SetInputConnection(reader.GetOutputPort()) filter.Update() amr = reader.GetOutputDataObject(0) out = filter.GetOutputDataObject(0) self.assertEqual(out.GetNumberOfBlocks(), amr.GetNumberOfDataSets(level))
def testMe(self): filename= VTK_DATA_ROOT +"/Data/AMR/Enzo/DD0010/moving7_0010.hierarchy" datafieldname = "TotalEnergy" reader = vtk.vtkAMREnzoReader() reader.SetFileName(filename); reader.SetMaxLevel(10); reader.SetCellArrayStatus(datafieldname,1) filter = vtk.vtkAMRSliceFilter() filter.SetInputConnection(reader.GetOutputPort()) filter.SetNormal(1); filter.SetOffSetFromOrigin(0.5); filter.SetMaxResolution(10); filter.Update() out = filter.GetOutputDataObject(0); self.assertEqual(NumCells(out),456) out.Audit();
def testAMR(self): filename= VTK_DATA_ROOT +"/Data/AMR/Enzo/DD0010/moving7_0010.hierarchy" level = 1 reader = vtk.vtkAMREnzoReader() reader.SetFileName(filename) reader.SetMaxLevel(10) reader.SetCellArrayStatus("TotalEnergy",1) filter = vtk.vtkExtractLevel() filter.AddLevel(level) filter.SetInputConnection(reader.GetOutputPort()) filter.Update() amr = reader.GetOutputDataObject(0) out = filter.GetOutputDataObject(0) self.assertEqual(out.GetNumberOfBlocks(), amr.GetNumberOfDataSets(level))
def testAMR(self): filename = VTK_DATA_ROOT + "/Data/AMR/Enzo/DD0010/moving7_0010.hierarchy" reader = vtk.vtkAMREnzoReader() reader.SetFileName(filename) reader.SetMaxLevel(10) reader.SetCellArrayStatus("TotalEnergy", 1) plane = vtk.vtkPlane() plane.SetOrigin(0.5, 0.5, 0.5) plane.SetNormal(1, 0, 0) cutter = vtk.vtkCompositeCutter() cutter.SetCutFunction(plane) cutter.SetInputConnection(reader.GetOutputPort()) cutter.Update() slice = cutter.GetOutputDataObject(0) self.assertEqual(slice.GetNumberOfCells(), 712)
def testAMR(self): filename= VTK_DATA_ROOT +"/Data/AMR/Enzo/DD0010/moving7_0010.hierarchy" reader = vtk.vtkAMREnzoReader() reader.SetFileName(filename); reader.SetMaxLevel(10); reader.SetCellArrayStatus("TotalEnergy",1) plane = vtk.vtkPlane() plane.SetOrigin(0.5, 0.5, 0.5) plane.SetNormal(1, 0, 0) cutter = vtk.vtkCompositeCutter() cutter.SetCutFunction(plane) cutter.SetInputConnection(reader.GetOutputPort()) cutter.Update() slice = cutter.GetOutputDataObject(0) self.assertEqual(slice.GetNumberOfCells(),662);
def NumCells(out): n = 0 for i in range(out.GetNumberOfLevels()): for j in range(out.GetNumberOfDataSets(i)): m = out.GetDataSet(i, j).GetNumberOfCells() #print (i,j,m) n = n + m return n filename = VTK_DATA_ROOT + "/Data/AMR/Enzo/DD0010/moving7_0010.hierarchy" datafieldname = "TotalEnergy" reader = vtk.vtkAMREnzoReader() reader.SetFileName(filename) reader.SetMaxLevel(10) reader.SetCellArrayStatus(datafieldname, 1) filter = vtk.vtkAMRSliceFilter() filter.SetInputConnection(reader.GetOutputPort()) filter.SetNormal(1) filter.SetOffsetFromOrigin(0.86) filter.SetMaxResolution(7) filter.Update() out = filter.GetOutputDataObject(0) out.Audit() if NumCells(out) != 800: print("Wrong number of cells in the output") exit(1)
VTK_DATA_ROOT = vtkGetDataRoot() def NumCells(out): n =0 for i in range(out.GetNumberOfLevels()): for j in range(out.GetNumberOfDataSets(i)): m = out.GetDataSet(i,j).GetNumberOfCells() #print (i,j,m) n = n + m return n filename= VTK_DATA_ROOT +"/Data/AMR/Enzo/DD0010/moving7_0010.hierarchy" datafieldname = "TotalEnergy" reader = vtk.vtkAMREnzoReader() reader.SetFileName(filename) reader.SetMaxLevel(10) reader.SetCellArrayStatus(datafieldname,1) filter = vtk.vtkAMRSliceFilter() filter.SetInputConnection(reader.GetOutputPort()) filter.SetNormal(1) filter.SetOffsetFromOrigin(0.86) filter.SetMaxResolution(7) filter.Update() out = filter.GetOutputDataObject(0) out.Audit() if NumCells(out) != 800: print("Wrong number of cells in the output") exit(1)