Our base library offers support for simple well known preconditioners like Diagonal Scaling or Block Jacobi with incomplete factorization ILU(0).
A preconditioner is held in the psb_prec_type data structure reported in figure 4. The psb_prec_type data type may contain a simple preconditioning matrix with the associated communication descriptor.The internal preconditioner is allocated appropriately with the dynamic type corresponding to the desired preconditioner.
type psb_Tprec_type class(psb_T_base_prec_type), allocatable :: prec end type psb_Tprec_type