Yes but look at the true residual norm it is huge and indicates the residual is not really getting small.
Barry On Dec 21, 2010, at 2:26 PM, Vijay S. Mahadevan wrote: > 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 >> >> >>
