[petsc-users] ILU(k) with MATSBAIJ

Barry Smith bsmith at mcs.anl.gov
Wed Feb 27 14:36:16 CST 2013


  SBAIJ stores only a symmetric half of the matrix. With SBAIJ you can only use Cholesky and incomplete Cholesky factorization, not ILU.

   Barry

On Feb 27, 2013, at 1:45 PM, Hugo Gagnon <sourceforge.petsc at user.fastmail.fm> wrote:

> Hi,
> 
> I'm trying to use the MAT*SBAIJ matrix types in conjunction with ILU(1):
> 
> call KSPGetPC(Pksp,Ppc,Pierr)
> if (nProc > 1) then
>    call PCSetType(Ppc,PCBJACOBI,Pierr)
>    call KSPSetup(Pksp,Pierr)
>    call PCBJacobiGetSubKSP(Ppc,dumi,dumi,Psubksp,Pierr)
>    call KSPGetPC(Psubksp(1),Ppc,Pierr)
> end if
> call PCSetType(Ppc,PCILU,Pierr)
> call PCFactorSetLevels(Ppc,1,Pierr)
> call KSPSetFromOptions(Pksp,Pierr)
> 
> which gives the following error (for the serial case):
> 
> [0]PETSC ERROR: --------------------- Error Message
> ------------------------------------
> [0]PETSC ERROR: No support for this operation for this object type!
> [0]PETSC ERROR: Factor type not supported!
> [0]PETSC ERROR:
> ------------------------------------------------------------------------
> [0]PETSC ERROR: Petsc Release Version 3.3.0, Patch 6, Mon Feb 11
> 12:26:34 CST 2013 
> [0]PETSC ERROR: See docs/changes/index.html for recent updates.
> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
> [0]PETSC ERROR: See docs/index.html for manual pages.
> [0]PETSC ERROR:
> ------------------------------------------------------------------------
> [0]PETSC ERROR: /Users/hugo/Documents/jetstream/jetstream_x86_64 on a
> arch-darw named user202-44.wireless.utoronto.ca by hugo Wed Feb 27
> 14:34:04 2013
> [0]PETSC ERROR: Libraries linked from
> /Users/hugo/Documents/petsc-3.3-p6/arch-darwin-c-opt/lib
> [0]PETSC ERROR: Configure run at Mon Feb 18 15:08:07 2013
> [0]PETSC ERROR: Configure options --with-debugging=0
> [0]PETSC ERROR:
> ------------------------------------------------------------------------
> [0]PETSC ERROR: MatGetFactor_seqsbaij_petsc() line 1820 in
> src/mat/impls/sbaij/seq/sbaij.c
> [0]PETSC ERROR: MatGetFactor() line 3881 in src/mat/interface/matrix.c
> [0]PETSC ERROR: PCSetUp_ILU() line 214 in
> src/ksp/pc/impls/factor/ilu/ilu.c
> [0]PETSC ERROR: PCSetUp() line 832 in src/ksp/pc/interface/precon.c
> [0]PETSC ERROR: KSPSetUp() line 278 in src/ksp/ksp/interface/itfunc.c
> [0]PETSC ERROR: KSPSolve() line 402 in src/ksp/ksp/interface/itfunc.c
> 
> I don't get this error when I use the normal MAT*BAIJ matrix types, and
> I can use whatever fill levels I want.
> 
> In the user's guide on page 79 it says that MATSEQSBAIJ is supported for
> ILU.
> 
> Am I missing something?  Any recommendations?
> 
> Thanks,
> -- 
>  Hugo Gagnon



More information about the petsc-users mailing list