Skip to main content
`Ctrl`+`K`

# ISSetBlockSize

informs an index set that it has a given block size

## Synopsis

    #include "petscis.h"
    PetscErrorCode ISSetBlockSize(IS is, PetscInt bs)

Logicall Collective

## Input Parameters

- is - index set

- bs - block size

## Notes

This is much like the block size for `Vec`s. It indicates that one can think of the indices as being in a collection of equal size blocks. For `ISBLOCK` these collections of blocks are all contiguous within a block but this is not the case for other `IS`. For example, an `IS` with entries {0, 2, 3, 4, 6, 7} could have a block size of three set.

`ISBlockGetIndices()` only works for `ISBLOCK`, not others.

## See Also

`IS`, `ISGetBlockSize()`, `ISCreateBlock()`, `ISBlockGetIndices()`,

## Level

intermediate

## Location

src/vec/is/is/interface/index.c

## Examples

src/ksp/ksp/tutorials/ex73.c
src/ksp/ksp/tutorials/ex76.c
src/ksp/ksp/tutorials/ex87.c
src/ksp/ksp/tutorials/ex49.c

## Implementations

ISSetBlockSize_Block() in src/vec/is/is/impls/block/block.c
ISSetBlockSize_General() in src/vec/is/is/impls/general/general.c
ISSetBlockSize_Stride() in src/vec/is/is/impls/stride/stride.c

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