[petsc-users] odd SNES behavior

Peter Brune prbrune at gmail.com
Wed Mar 6 17:04:29 CST 2013


This is a likely culprit:

(gdb) bt
#0  KSPSetOperators (ksp=0xbf6410, Amat=0xa82e30, Pmat=0xaac190,
flag=DIFFERENT_NONZERO_PATTERN) at
/home/prbrune/packages/petsc-dev/src/ksp/ksp/interface/itcreate.c:540
#1  0x00007ffff6f554cf in PCSetUp_MG (pc=0xa22bf0) at
/home/prbrune/packages/petsc-dev/src/ksp/pc/impls/mg/mg.c:572
#2  0x00007ffff6ef2f07 in PCSetUp_GAMG (pc=0xa22bf0) at
/home/prbrune/packages/petsc-dev/src/ksp/pc/impls/gamg/gamg.c:974
#3  0x00007ffff6e3936e in PCSetUp (pc=0xa22bf0) at
/home/prbrune/packages/petsc-dev/src/ksp/pc/interface/precon.c:838
#4  0x00007ffff6f7adb7 in KSPSetUp (ksp=0x9e60f0) at
/home/prbrune/packages/petsc-dev/src/ksp/ksp/interface/itfunc.c:278
#5  0x00007ffff6f7bc7d in KSPSolve (ksp=0x9e60f0, b=0xa6e9a0, x=0xa79030)
at /home/prbrune/packages/petsc-dev/src/ksp/ksp/interface/itfunc.c:388
#6  0x00007ffff714b1ea in SNES_KSPSolve (snes=0x870250, ksp=0x9e60f0,
b=0xa6e9a0, x=0xa79030) at
/home/prbrune/packages/petsc-dev/src/snes/interface/snes.c:4418
#7  0x00007ffff70d8ec5 in SNESSolve_NEWTONLS (snes=0x870250) at
/home/prbrune/packages/petsc-dev/src/snes/impls/ls/ls.c:217
#8  0x00007ffff7142e9b in SNESSolve (snes=0x870250, b=0x0, x=0xa24840) at
/home/prbrune/packages/petsc-dev/src/snes/interface/snes.c:3649
#9  0x0000000000402c83 in main (argc=9, argv=0x7fffffffde08) at ex5.c:157
(gdb) up
#1  0x00007ffff6f554cf in PCSetUp_MG (pc=0xa22bf0) at
/home/prbrune/packages/petsc-dev/src/ksp/pc/impls/mg/mg.c:572
572         ierr =
KSPSetOperators(mglevels[n-1]->smoothd,pc->mat,pc->pmat,pc->flag);CHKERRQ(ierr);

The matrix on the smoother gets RESET to the non-preconditioner matrix in
the final call to PCSetUp_MG in PCSetUp_GAMG.  You could just reset it
after that, like you do with the PC type.

- Peter


On Wed, Mar 6, 2013 at 4:31 PM, Mark F. Adams <mark.adams at columbia.edu>wrote:

> >
> >  It looks like SNES is not getting set it's "master" Jacobian.  If you
> run the same code with hypre does it also hit this create?
>
>
> MatCreate_MFFD is called just once with gamg and hypre.  It looks like
> Cheby is using the outside operator instead of the pre_op.  This could be
> desirable but I don't want it here.  I'll keep digging.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130306/f1a9fe87/attachment.html>


More information about the petsc-users mailing list