PETSc version 3.17.3
PCPBJACOBI
Point block Jacobi preconditioner
Notes
See PCJACOBI for point Jacobi preconditioning, PCVPBJACOBI for variable size point block Jacobi and PCBJACOBI for large blocks
This works for AIJ and BAIJ matrices and uses the blocksize provided to the matrix
Uses dense LU factorization with partial pivoting to invert the blocks; if a zero pivot
is detected a PETSc error is generated.
Developer Notes
This should support the PCSetErrorIfFailure() flag set to PETSC_TRUE to allow
the factorization to continue even after a zero pivot is found resulting in a Nan and hence
terminating KSP with a KSP_DIVERGED_NANORIF allowing
a nonlinear solver/ODE integrator to recover without stopping the program as currently happens.
Perhaps should provide an option that allows generation of a valid preconditioner
even if a block is singular as the PCJACOBI does.
See Also
PCCreate(), PCSetType(), PCType (for list of available types), PC, PCJACOBI, PCVPBJACOBI, PCBJACOBI
Level
beginner
Location
src/ksp/pc/impls/pbjacobi/pbjacobi.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages