<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 12/5/12 6:37 PM, Jed Brown wrote:<br>
    </div>
    <blockquote
cite="mid:CAM9tzSnCz0=xbDtWDTJ=q9UA+eZaxTHnpfqhUXfJ_4z3xmnt9g@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div class="gmail_extra">On Wed, Dec 5, 2012 at 6:45 AM, Anton
        Popov <span dir="ltr"><<a moz-do-not-send="true"
            href="mailto:popov@uni-mainz.de" target="_blank">popov@uni-mainz.de</a>></span>
        wrote:<br>
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">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. </div>
          </blockquote>
          <div><br>
          </div>
          <div>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.</div>
        </div>
      </div>
    </blockquote>
    This is not exactly clear to me. Residuals for Dirichlet DOF should
    be (set to) zero, should they? Because those are not unknowns. What
    do you mean by Dirichlet boundary residuals? Is there any SNES
    example demonstrating usage of Newton or Picard for a problem with
    non-zero Dirichlet BC? <br>
    <blockquote
cite="mid:CAM9tzSnCz0=xbDtWDTJ=q9UA+eZaxTHnpfqhUXfJ_4z3xmnt9g@mail.gmail.com"
      type="cite">
      <div class="gmail_extra">
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">Skipping correction of
              RHS in this case most likely will cause convergence
              problems.<br>
              <br>
              Picard is equal to Newton only when following conditions
              hold:<br>
              <br>
              1) F(u)  = R(u) which is true residual.<br>
              2) A(u) =  J(u) which is true Jacobian (does not
              necessarily follow from the first condition).<br>
              <br>
              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). <br>
              <br>
              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.</div>
          </blockquote>
        </div>
        <br>
      </div>
      <div class="gmail_extra">This sounds like a terrible hack that's
        actually more complicated to implement.</div>
    </blockquote>
    maybe you're right, but it works just fine :)<br>
  </body>
</html>