[petsc-users] Implementing of a variable block size BILU preconditioner

Smith, Barry F. bsmith at mcs.anl.gov
Sat Dec 1 17:20:16 CST 2018


   Well, you need to start somewhere. It is going to take a combination of this, MatLUFactorSymbolic_SeqAIJ(), MatLUFactorSymbolic_SeqAIJ() and 
MatLUFactorNumerical_SeqAIJ() to get what you want. Note that one of the first things you need to do is given the MatGetVariableBlockSizes() determine the nonzero pattern of the "variable block" matrix from the nonzero pattern of the SeqAIJ matrix and then do a symbolic factorization on that new "reduced" sparse matrix. Them you do a numerical factorization using the "reduced sparse matrix" factorization.

    Barry


> On Dec 1, 2018, at 4:54 PM, Ali Reza Khaz'ali <arkhazali at cc.iut.ac.ir> wrote:
> 
> Hi,
> 
> I want to implement a variable block size BILU preconditioner in PETSc. I am wondering if modifying the PCVPBJACOBI preconditioner (vpbjacobi.c), to get what I want, is a good idea.
> 
> Any help is much appreciated.
> 
> -- 
> Ali Reza Khaz’ali
> Assistant Professor of Petroleum Engineering,
> Department of Chemical Engineering
> Isfahan University of Technology
> Isfahan, Iran
> 



More information about the petsc-users mailing list