petsc-main 2021-04-20
Report Typos and Errors


Given a global (or local) length determines a local (or global) length via a simple formula, trying to have all local lengths equal


#include "petscsys.h" 
PetscErrorCode  PetscSplitOwnershipEqual(MPI_Comm comm,PetscInt *n,PetscInt *N)
Collective (if n or N is PETSC_DECIDE)

Input Parameters

comm - MPI communicator that shares the object being divided
n - local length (or PETSC_DECIDE to have it set)
N - global length (or PETSC_DECIDE)


This is intended to be used with MATSCALAPACK, where the local size must be equal in all processes (except possibly the last one). For instance, the local sizes when spliting N=50 with 6 processes are 9,9,9,9,9,5

n and N cannot be both PETSC_DECIDE

If one processor calls this with n or N of PETSC_DECIDE then all processors must. Otherwise, an error is thrown in debug mode while the program will hang in optimized (i.e. configured --with-debugging=0) mode.

See Also

PetscSplitOwnership(), PetscSplitOwnershipBlock()




Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages