VTK wraps MPI_Comm_split with vtkMPIController::PartitionController(), which calls vtkMPICommunicator::SplitInitialize().  Currently there is no support for passing MPI_UNDEFINED as a color.  If you pass MPI_UNDEFINED as a color you should get back a null communicator (MPI_COMM_NULL).<br>
<br>There is handling of null communicators in vtkMPIController::CreateSubController() which wraps MPI_Comm_create.  So I can follow the same pattern to make PartitionController support it too, no problem.<br><br>But I do a lot of prototyping in python, and in python I can&#39;t easily use MPI_UNDEFINED.  So I&#39;m thinking about adding a static method called vtkMPICommunicator::GetMPIUndefined() that returns MPI_UNDEFINED  (it&#39;s just an int).  Objections?  My other thought was to have vtkMPIController::PartitionController automatically convert negative color values to MPI_UNDEFINED, but that behavior could cover up programming errors, so I don&#39;t like that.<br>
<br>Pat<br>