petsc-3.14.5 2021-03-03
Report Typos and Errors

# PCBJacobiGetSubKSP

Gets the local KSP contexts for all blocks on this processor.

### Synopsis

    #include "petscpc.h"
    PetscErrorCode  PCBJacobiGetSubKSP(PC pc,PetscInt *n_local,PetscInt *first_local,KSP *ksp[])

Not Collective

### Input Parameter

| pc | - the preconditioner context

### Output Parameters

| n_local | - the number of blocks on this processor, or NULL
| first_local | - the global number of the first block on this processor, or NULL
| ksp | - the array of KSP contexts

### Notes

After PCBJacobiGetSubKSP() the array of KSP contexts is not to be freed.

Currently for some matrix implementations only 1 block per processor is supported.

You must call KSPSetUp() or PCSetUp() before calling PCBJacobiGetSubKSP().

Fortran Usage: You must pass in a KSP array that is large enough to contain all the local KSPs. You can call PCBJacobiGetSubKSP(pc,nlocal,firstlocal,PETSC_NULL_KSP,ierr) to determine how large the KSP array must be.

### See Also

PCBJacobiGetSubKSP()

### Level

advanced

### Location

src/ksp/pc/impls/bjacobi/bjacobi.c

### Examples

src/ksp/ksp/tutorials/ex7.c.html
src/ksp/ksp/tutorials/ex7f.F90.html
src/snes/tutorials/ex3.c.html

### Implementations

PCBJacobiGetSubKSP_BJacobi in src/ksp/pc/impls/bjacobi/bjacobi.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages