[petsc-users] Petsc ILU PC Change between 3.6.4 and 3.7.x?

Matthew Knepley knepley at gmail.com
Wed Aug 23 01:37:07 CDT 2017


On Wed, Aug 23, 2017 at 2:30 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
>    Some argue that the preconditioned residual is "closer to" the norm of
> the error than the unpreconditioned norm. I don't have a solid mathematical
> reason to prefer left preconditioning with the preconditioned norm.


Because you have || x - x_exact || < k(A) || r ||

where r is the residual and k is the condition number of A. If instead of A
you use P A, which we assume has a lower condition number, then
this bound is improved.

  Thanks,

     Matt


>
>    Barry
>
>
>
> > On Aug 22, 2017, at 11:27 PM, Klaij, Christiaan <C.Klaij at marin.nl>
> wrote:
> >
> > Barry,
> >
> > Thanks for the explanation.
> >
> > We do have some rare cases that give false convergence, but
> > decided to use
> >
> > CALL KSPSetNormType(ksp,KSP_NORM_UNPRECONDITIONED,ierr)
> >
> > so that convergence is always based on the true residual. Our
> > results are much more consistent now. So that could have been
> > your protection against the rare case as well, right? Why do you
> > prefer left preconditioning?
> >
> > Chris
> >
> >
> >
> > dr. ir. Christiaan Klaij  | Senior Researcher | Research & Development
> > MARIN | T +31 317 49 33 44 | mailto:C.Klaij at marin.nl |
> http://www.marin.nl
> >
> > MARIN news: http://www.marin.nl/web/News/News-items/BlueWeek-October-
> 911-Rostock.htm
> >
> > ________________________________________
> > From: Barry Smith <bsmith at mcs.anl.gov>
> > Sent: Tuesday, August 22, 2017 6:25 PM
> > To: Klaij, Christiaan
> > Cc: petsc-users at mcs.anl.gov
> > Subject: Re: [petsc-users] Petsc ILU PC Change between 3.6.4 and 3.7.x?
> >
> >> On Aug 22, 2017, at 6:49 AM, Klaij, Christiaan <C.Klaij at marin.nl>
> wrote:
> >>
> >> We also faced this problem in our code. So I've added:
> >>
> >> CALL PetscOptionsSetValue(PETSC_NULL_OBJECT,"-sub_pc_factor_
> shift_type","nonzero",ierr)
> >>
> >> since there seems to be no setter function for this (correct me
> >> if I'm wrong). Then everythings fine again.
> >>
> >> Out of curiosity, what was the reason to change the default
> >> behaviour?
> >
> >   The reason we changed this is that we would rather have a failure that
> makes the user aware of a serious problem then to produce "garbage"
> results. In some rare cases the shift can cause a huge jump in the
> preconditioned residual which then decreases rapidly while the true
> residual does not improve. This results in the KSP thinking it has
> converged while in fact it has essentially garbage for an answer. Under the
> previous model, where we shifted by default, users would in this rare case
> think they had reasonable solutions when they did not.
> >
> >   For many users, such as yourself, the previous default behavior was
> fine because you didn't have the "rare case" but we decided it was best to
> protect against the rare case even though it would require other users such
> as yourself to add the option.
> >
> >   Barry
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

http://www.caam.rice.edu/~mk51/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170823/db668b7c/attachment.html>


More information about the petsc-users mailing list