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