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")
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: