[petsc-dev] GAMG with matrix free multiple
Mark F. Adams
mark.adams at columbia.edu
Wed Feb 22 08:27:25 CST 2012
On Feb 21, 2012, at 9:56 PM, Barry Smith wrote:
>
> 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?
Yes, of course. I'm a PC, I should always look at B.
Thanks,
Mark
> 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