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 <[email protected]> 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
> 

Reply via email to