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