Esempio n. 1
0
  def CreateVtkMultiBlockDataWriter(self):
    mypid = SmartGetLocalProcessId()
    numproc = SmartGetNumberOfProcesses()

    if PhactoriDbg(100):
      myDebugPrint3("numproc " + str(numproc) + " mypid " + str(mypid) + "\n")

    self.mWriter = vtk.vtkXMLPMultiBlockDataWriter()
    self.mWriter.SetInputData(self.mFilterToWriteDataFrom.GetClientSideObject().GetOutputDataObject(0))
    self.mWriter.SetNumberOfPieces(numproc)
    self.mWriter.SetStartPiece(mypid)

    if PhactoriDbg(100):
      myDebugPrint3("self.mWriter: " + str(self.mWriter) + "\n")
Esempio n. 2
0
        mp.SetPiece(i, createDataSet(False))
    return mp


def createMB(piece, num_pieces):
    output = vtk.vtkMultiBlockDataSet()
    output.SetNumberOfBlocks(4)
    output.SetBlock(0, createData([piece], [piece], num_pieces))
    output.SetBlock(1, createData(range(num_pieces), [piece], num_pieces))
    output.SetBlock(
        2, createData(range(num_pieces), range(num_pieces), num_pieces))
    output.SetBlock(3, createMP(num_pieces))
    return output


writer = vtk.vtkXMLPMultiBlockDataWriter()
prefix = VTK_TEMP_DIR + "/testParallelXMLWriters"
fname = prefix + ".vtm"

if rank == 0:
    try:
        os.remove(fname)
    except OSError:
        pass
    try:
        shutil.rmtree(prefix)
    except OSError:
        pass
    print("Output: %s" % fname)

# put a barrier here to make sure that the files are deleted by process 0
def createData(non_null_ranks, non_empty_ranks, num_ranks):
    mb = vtk.vtkMultiBlockDataSet()
    mb.SetNumberOfBlocks(num_ranks)
    for i in non_null_ranks:
        mb.SetBlock(i, createDataSet(i not in non_empty_ranks))
    return mb

def createMB(piece, num_pieces):
    output = vtk.vtkMultiBlockDataSet()
    output.SetNumberOfBlocks(3)
    output.SetBlock(0, createData([piece], [piece], num_pieces))
    output.SetBlock(1, createData(range(num_pieces), [piece], num_pieces))
    output.SetBlock(2, createData(range(num_pieces), range(num_pieces), num_pieces))
    return output

writer = vtk.vtkXMLPMultiBlockDataWriter()
prefix =VTK_TEMP_DIR + "/testParallelXMLWriters"
fname = prefix + ".vtm"

if rank == 0:
    try:
        os.remove(fname)
    except OSError: pass
    try:
        shutil.rmtree(prefix)
    except OSError: pass
    print("Output: %s" % fname)

# put a barrier here to make sure that the files are deleted by process 0
# before going further with the test
if contr: