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
>> 
>> 
>> 

Reply via email to