ISBlockSetIndices#

Set integers representing blocks of indices in an index set.

Synopsis#

#include "petscis.h"     
PetscErrorCode ISBlockSetIndices(IS is, PetscInt bs, PetscInt n, const PetscInt idx[], PetscCopyMode mode)

Collective on IS

Input Parameters#

  • is - the index set

  • bs - number of elements in each block

  • n - the length of the index set (the number of blocks)

  • idx - the list of integers, one for each block, the integers contain the index of the first index of each block divided by the block size

  • mode - see PetscCopyMode, only PETSC_COPY_VALUES and PETSC_OWN_POINTER are supported

Notes#

When the communicator is not MPI_COMM_SELF, the operations on the index sets, IS, are NOT conceptually the same as MPI_Group operations. The index sets are then distributed sets of indices and thus certain operations on them are collective.

Example#

If you wish to index the values {0,1,4,5}, then use a block size of 2 and idx of {0,2}.

See Also#

ISCreateStride(), ISCreateGeneral(), ISAllGather(), ISCreateBlock(), ISBLOCK, ISGeneralSetIndices()

Level#

beginner

Location#

src/vec/is/is/impls/block/block.c

Implementations#

ISBlockSetIndices_Block in src/vec/is/is/impls/block/block.c


Edit on GitLab

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