[petsc-dev] GAMG with matrix free multiple

Barry Smith bsmith at mcs.anl.gov
Tue Feb 21 20:56:39 CST 2012


  Mark,

     In constructing your coarser levels it appears you are using the A operator from KSPSetOperators() not the B operator. When one is using a matrix free form to apply A I think it makes sense to use the B to construct the coarser grid operators?  Or should you always use B or should there be an option for PCGAMG to use either the A or the B for constructing the coarser and if A is matrix free that options gets automatically flicked to use the B?

   Barry

src/snes/examples/tutorials barrysmith$ ./ex5 -pc_type gamg -snes_mf_operator -ksp_monitor 
[0]PETSC ERROR: --------------------- Error Message ------------------------------------
[0]PETSC ERROR: No support for this operation for this object type!
[0]PETSC ERROR: Matrix of type <mffd> does not support PtAP!
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: Petsc Development HG revision: c132289977191163d4de2df6e7df77d9dd0b072f  HG Date: Tue Feb 21 16:29:59 2012 -0600
[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: ./ex5 on a arch-gnu named barry-smiths-macbook-pro.local by barrysmith Tue Feb 21 20:50:59 2012
[0]PETSC ERROR: Libraries linked from /Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[0]PETSC ERROR: Configure run at Tue Feb 21 16:36:50 2012
[0]PETSC ERROR: Configure options --download-blacs --download-fftw --download-hypre --download-metis --download-mpich --download-mumps --download-parmetis --download-ptscotch --download-scalapack --download-superlu --download-superlu_dist --download-yaml --with-shared-libraries PETSC_ARCH=arch-gnu
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: MatPtAP() line 8263 in /Users/barrysmith/Src/petsc-dev/src/mat/interface/matrix.c
[0]PETSC ERROR: createLevel() line 88 in /Users/barrysmith/Src/petsc-dev/src/ksp/pc/impls/gamg/gamg.c
[0]PETSC ERROR: PCSetUp_GAMG() line 562 in /Users/barrysmith/Src/petsc-dev/src/ksp/pc/impls/gamg/gamg.c
[0]PETSC ERROR: PCSetUp() line 832 in /Users/barrysmith/Src/petsc-dev/src/ksp/pc/interface/precon.c
[0]PETSC ERROR: KSPSetUp() line 261 in /Users/barrysmith/Src/petsc-dev/src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: KSPSolve() line 385 in /Users/barrysmith/Src/petsc-dev/src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: SNES_KSPSolve() line 3939 in /Users/barrysmith/Src/petsc-dev/src/snes/interface/snes.c
[0]PETSC ERROR: SNESSolve_LS() line 641 in /Users/barrysmith/Src/petsc-dev/src/snes/impls/ls/ls.c
[0]PETSC ERROR: SNESSolve() line 3163 in /Users/barrysmith/Src/petsc-dev/src/snes/interface/snes.c
[0]PETSC ERROR: main() line 152 in src/snes/examples/tutorials/ex5.c
application called MPI_Abort(MPI_COMM_WORLD, 56) - process 0
[unset]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 56) - process 0




More information about the petsc-dev mailing list