Barry, I tried with the true_residual_norm option and it gives me the exact same convergence as the one I have shown before.
45 KSP Residual norm 2.511364148934e-07 45 KSP preconditioned resid norm 2.511364148934e-07 true resid norm 1.865039278877e+02 ||Ae||/||Ax|| 2.699481989705e+02 46 KSP preconditioned resid norm 1.307034672896e-07 true resid norm 1.864478183180e+02 ||Ae||/||Ax|| 2.724877015479e+02 46 KSP Residual norm 1.307034672896e-07 46 KSP preconditioned resid norm 1.307034672896e-07 true resid norm 1.864478183180e+02 ||Ae||/||Ax|| 2.724877015479e+02 47 KSP preconditioned resid norm 7.105770015635e-08 true resid norm 1.864563163311e+02 ||Ae||/||Ax|| 2.722662760395e+02 47 KSP Residual norm 7.105770015635e-08 47 KSP preconditioned resid norm 7.105770015635e-08 true resid norm 1.864563163311e+02 ||Ae||/||Ax|| 2.722662760395e+02 48 KSP preconditioned resid norm 4.098578230710e-08 true resid norm 1.864560351328e+02 ||Ae||/||Ax|| 2.690284539995e+02 48 KSP Residual norm 4.098578230710e-08 48 KSP preconditioned resid norm 4.098578230710e-08 true resid norm 1.864560351328e+02 ||Ae||/||Ax|| 2.690284539995e+02 49 KSP preconditioned resid norm 2.426160176080e-08 true resid norm 1.864897210364e+02 ||Ae||/||Ax|| 2.696456942624e+02 49 KSP Residual norm 2.426160176080e-08 49 KSP preconditioned resid norm 2.426160176080e-08 true resid norm 1.864897210364e+02 ||Ae||/||Ax|| 2.696456942624e+02 50 KSP preconditioned resid norm 1.864914790828e+02 true resid norm 1.864914790828e+02 ||Ae||/||Ax|| 2.798875072987e+02 50 KSP Residual norm 1.864914790828e+02 50 KSP preconditioned resid norm 1.864914790828e+02 true resid norm 1.864914790828e+02 ||Ae||/||Ax|| 2.798875072987e+02 51 KSP preconditioned resid norm 6.741080961009e+01 true resid norm 6.759768469363e+01 ||Ae||/||Ax|| 1.666964983874e+02 51 KSP Residual norm 6.741080961009e+01 51 KSP preconditioned resid norm 6.741080961009e+01 true resid norm 6.759768469363e+01 ||Ae||/||Ax|| 1.666964983874e+02 52 KSP preconditioned resid norm 5.191621875736e+01 true resid norm 5.146342142561e+01 ||Ae||/||Ax|| 7.225409161988e+01 52 KSP Residual norm 5.191621875736e+01 52 KSP preconditioned resid norm 5.191621875736e+01 true resid norm 5.146342142561e+01 ||Ae||/||Ax|| 7.225409161988e+01 53 KSP preconditioned resid norm 4.513782866249e+01 true resid norm 4.546883708687e+01 ||Ae||/||Ax|| 7.426476446334e+01 53 KSP Residual norm 4.513782866249e+01 53 KSP preconditioned resid norm 4.513782866249e+01 true resid norm 4.546883708687e+01 ||Ae||/||Ax|| 7.426476446334e+01 54 KSP preconditioned resid norm 3.320195603375e+01 true resid norm 3.297361634749e+01 ||Ae||/||Ax|| 5.285029509147e+01 Vijay On Tue, Dec 21, 2010 at 2:23 PM, Barry Smith <bsmith at mcs.anl.gov> wrote: > > On Dec 21, 2010, at 2:08 PM, Jed Brown wrote: > >> On Tue, Dec 21, 2010 at 21:04, Barry Smith <bsmith at mcs.anl.gov> wrote: >> This is a sign that the preconditioner is seriously messed up and should not >> be used in its current form. ?It can happen if the matrix is nearly singular >> and for example you use an incomplete factorization for a preconditioner >> that just screws up the scaling like totally. Run with >> -ksp_monitor_true_residual and you'll see that the solver is not really >> solving the problem even though it thinks it is converging fine. >> >> FGMRES only does right preconditioning so it should be showing the true >> residual. > > ?No because it uses a recursive formula for "computing" the residual norm it > does not compute it explicitly. So in extreme circumstances the recursively > compute one generates "garbage". > > ? Barry > > >
