[petsc-dev] rename SNES methods ls, tr etc

Jed Brown jedbrown at mcs.anl.gov
Wed Dec 5 11:37:15 CST 2012


On Wed, Dec 5, 2012 at 6:45 AM, Anton Popov <popov at uni-mainz.de> wrote:

> Of course that is correct. The only advantage of using non
> defect-correction form is straightforward implementation of non-zero
> Dirichlet boundary conditions. As usual, one would just remove (or zero
> out) corresponding rows, multiply column coefficients with defined values
> and subtract from RHS. In defect correction form one at least needs to
> distinguish first iteration.
>

There is no extra difficulty in applying this lifting procedure in
defect-correction form. The basic principle is that Dirichlet boundary
residuals are written as f_D = u - u_D, which manifests itself as zeroing a
row of the Jacobian or Picard matrix. Then, if you overwrite the boundary
points in the local state vector with the correct Dirichlet solution
values, the corresponding columns of the Jacobian become zero.


> Skipping correction of RHS in this case most likely will cause convergence
> problems.
>
> Picard is equal to Newton only when following conditions hold:
>
> 1) F(u)  = R(u) which is true residual.
> 2) A(u) =  J(u) which is true Jacobian (does not necessarily follow from
> the first condition).
>
> In more likely case Picard is equal to Newton with A(u) approximate
> Jacobian, or simply not applicable because residual cannot be expressed in
> a form of a linear operator (as was discussed before by you and Barry).
>
> For general problem with zero initial guess, and non-zero Dirichlet BC I
> would do exactly one iteration of Picard with corrected RHS (no difference
> between defect/non defect-correction forms, no matter whether A(u) or J(u),
> if available), and then switch to Newton.
>

This sounds like a terrible hack that's actually more complicated to
implement.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20121205/b05bfd41/attachment.html>


More information about the petsc-dev mailing list