[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