int dims[3]={0,0,0}, periods[3]={0,1,1}; int reorder=0, nprocs, ierr; MPI_Comm comm, comm3d; ierr = MPI_Comm_size (comm, &nprocs); ierr = MPI_Dims_create (nprocs, ndims, dims); ierr = MPI_Cart_create (comm, ndims, dims, periods, reorder, comm3d);