I'm trying to figure out whether I can do a couple of things with petsc. 1. It looks like the preconditioning matrix can actually be different from the full problem matrix. So I'm wondering if I could provide a different preconditioning matrix for my problem and then do an LU solve of the preconditioning matrix using the -pc_type lu as my preconditioner.
2. When I build petsc, I use the --download-f-blas-lapack=yes option. I'm wondering if petsc uses lapack under the hood or has the capability to use lapack under the hood when one uses the -pc_type lu option. In particular, since my matrices are band matrices from doing a discretization on a 2d regular mesh, I'm wondering if the petsc lu solve has the ability to use the lapack band solver dgbsv or dgbsvx. Or is it possible to use the lapack band solver through one of the external packages that petsc can interface with. I'm interested in this capability for smaller problem sizes that fit on a single node and that make sense. 3. I'm also wondering how I might be able to learn more about the petsc ilu capability. My impression is that it does ilu(k) and I have tried it with k>0 but am wondering if one of the options might allow it to do ilut and whether as k gets big whether ilu(k) approximates lu. I currently do not understand the petsc ilu well enough to know how much extra fill I get as I increase k and where that extra fill might be located for the case of a band matrix that one gets from discretization on a regular 2d mesh. Thanks, Dave