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
