Пример #1
0
    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)
Пример #2
0
  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);
Пример #3
0
    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()
Пример #4
0
  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))
Пример #5
0
  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();
Пример #6
0
  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))
Пример #7
0
    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)
Пример #8
0
  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);
Пример #9
0

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)