Jan,
Thanks for reporting this. It was actually more generally and affected
Richardson with GAMG always. Some refactoring of PCMG did not get completed for
the Richardson case.
This is now fixed in the maint, master, and next branch and will be in our next
patch release.
Barry
~/Src/petsc/src/snes/examples/tutorials maint $ git commit -a
[maint a762d67] PCApplyRichardson_MG() did not properly set operators for all
levels for residual computation Needed the same code as PCApply_MG() had
1 file changed, 7 insertions(+)
On Jul 23, 2014, at 5:51 AM, Jan Blechta <[email protected]> wrote:
> Using RICHARDSON/GAMG as FIELDSPLIT subKSP results in a segfault on a
> second solve with backtrace like
>
> #1 0x00007fffe8da6c5b in MatResidual (mat=0x0, b=0x2a85e00, x=0x29c3360,
> r=0x4c56590)
> #2 0x00007fffe9765c1d in PCMGResidualDefault (mat=0x0, b=0x2a85e00,
> x=0x29c3360, r=0x4c56590)
> #3 0x00007fffe97552df in PCMGMCycle_Private (pc=0x2861520,
> mglevelsin=0x3d6dba0, reason=0x7fffffff8380)
> #4 0x00007fffe97567a1 in PCApplyRichardson_MG (pc=0x2861520, b=0x2a85e00,
> x=0x29c3360, w=0x498fd80,
> rtol=1.0000000000000001e-05, abstol=1e-50, dtol=10000, its=1,
> zeroguess=PETSC_TRUE, outits=0x285f474,
> reason=0x7fffffff8380)
> #5 0x00007fffe95e771b in PCApplyRichardson (pc=0x2861520, b=0x2a85e00,
> y=0x29c3360, w=0x498fd80,
> rtol=1.0000000000000001e-05, abstol=1e-50, dtol=10000, its=1,
> guesszero=PETSC_TRUE, outits=0x285f474,
> reason=0x7fffffff8380)
> #6 0x00007fffe97f0206 in KSPSolve_Richardson (ksp=0x285f0e0)
> ...
>
> Notice null mat on frame 1 and 2. This can be reproduced by adding
>
> -fieldsplit_phi_ksp_type richardson
>
> to runex73f90t target in src/snes/examples/tutorials/makefile on PETSc 3.5
> release.
>
> Jan