petsc-3.7.3 2016-08-01
Report Typos and Errors

ISGlobalToLocalMappingApplyBlock

Provides the local block numbering for a list of integers specified with a block global numbering.

Synopsis

#include "petscis.h"  
PetscErrorCode  ISGlobalToLocalMappingApplyBlock(ISLocalToGlobalMapping mapping,ISGlobalToLocalMappingType type,
                                  PetscInt n,const PetscInt idx[],PetscInt *nout,PetscInt idxout[])
Not collective

Input Parameters

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

Output Parameters

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 ISGlobalToLocalMappingApplyBlock() with idxout == NULL to determine the required length (returned in nout) and then allocate the required space and call ISGlobalToLocalMappingApplyBlock() a second time to set the values.

Notes

Either nout or idxout may be NULL. idx and idxout may be identical.

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.

See Also

ISLocalToGlobalMappingApply(), ISGlobalToLocalMappingApply(), ISLocalToGlobalMappingCreate(),
ISLocalToGlobalMappingDestroy()

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

Examples

src/vec/is/is/examples/tutorials/ex5.c.html