ISBlockSetIndices#
Set integers representing blocks of indices in an index set of ISType
ISBLOCK
Synopsis#
#include "petscis.h"
PetscErrorCode ISBlockSetIndices(IS is, PetscInt bs, PetscInt n, const PetscInt idx[], PetscCopyMode mode)
Collective
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
, onlyPETSC_COPY_VALUES
andPETSC_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.
The convenience routine ISCreateBlock()
allows one to create the IS
and provide the blocks in a single function call.
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#
Low-level Vector Communication, IS
, ISCreateStride()
, ISCreateGeneral()
, ISAllGather()
, ISCreateBlock()
, ISBLOCK
, ISGeneralSetIndices()
Level#
beginner
Location#
Implementations#
ISBlockSetIndices_Block in src/vec/is/is/impls/block/block.c
Index of all IS routines
Table of Contents for all manual pages
Index of all manual pages