[petsc-users] ILU(k) with MATSBAIJ

Hugo Gagnon sourceforge.petsc at user.fastmail.fm
Wed Feb 27 13:45:10 CST 2013


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