petsc-3.7.1 2016-05-15
Report Typos and Errors

# PCBJACOBI

Use block Jacobi preconditioning, each block is (approximately) solved with its own KSP object.

### Options Database Keys

-pc_use_amat -use Amat to apply block of operator in inner Krylov method Many br

Notes: Each processor can have one or more blocks, but a block cannot be shared by more Many brthan one processor. Defaults to one block per processor. Many br

To set options on the solvers for each block append -sub_ to all the KSP, KSP, and PC Many broptions database keys. For example, -sub_pc_type ilu -sub_pc_factor_levels 1 -sub_ksp_type preonly Many br

To set the options on the solvers separate for each block call PCBJacobiGetSubKSP() Many brand set the options directly on the resulting KSP object (you can access its PC Many brKSPGetPC()) Many br

For CUSP vectors it is recommended to use exactly one block per MPI process for best Many brperformance. Different block partitioning may lead to additional data transfers Many brbetween host and GPU that lead to degraded performance. Many br

Many br

### See Also

PCCreate(), PCSetType(), PCType (for list of available types), PC,
PCASM, PCSetUseAmat(), PCGetUseAmat(), PCBJacobiGetSubKSP(), PCBJacobiSetTotalBlocks(), Many brPCBJacobiSetLocalBlocks(), PCSetModifySubmatrices() Many br

Level:beginner
Location:src/ksp/pc/impls/bjacobi/bjacobi.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/ksp/ksp/examples/tutorials/ex7.c.html