#include "petscvec.h" #include "petscis.h" PetscErrorCode ISGlobalToLocalMappingApply(ISLocalToGlobalMapping mapping,ISGlobalToLocalMappingType type, PetscInt n,const PetscInt idx[],PetscInt *nout,PetscInt idxout[])Not collective
mapping | - mapping between local and global numbering | |
type | - IS_GTOLM_MASK - replaces global indices with no local value with -1 IS_GTOLM_DROP - drops the indices with no local value from the output list | |
n | - number of global indices to map | |
idx | - global indices to map |
nout | - number of indices in output array (if type == IS_GTOLM_MASK then nout = n) | |
idxout | - local index of each global index, one must pass in an array long enough to hold all the indices. You can call ISGlobalToLocalMappingApply() with idxout == PETSC_NULL to determine the required length (returned in nout) and then allocate the required space and call ISGlobalToLocalMappingApply() a second time to set the values. |
This is not scalable in memory usage. Each processor requires O(Nglobal) size array to compute these.
Developer Note: The manual page states that idx and idxout may be identical but the calling sequence declares idx as const so it cannot be the same as idxout.
Level:advanced
Location:src/vec/is/utils/isltog.c
Index of all IS routines
Table of Contents for all manual pages
Index of all manual pages