Hi Matt,<br>Thanks,<br><br><div class="gmail_quote">On Sun, Jan 10, 2010 at 4:34 PM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Sun, Jan 10, 2010 at 3:28 PM, Ryan Yan <span dir="ltr"><<a href="mailto:vyan2000@gmail.com" target="_blank">vyan2000@gmail.com</a>></span> wrote:<br></div><div class="gmail_quote"><div class="im">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Matt,<br>Thank you very much for the suggestion. I was using DMMGSetSNESLocal(dmmg,FormFunctionLocal,0,ad_FormFunctionLocal,admf_FormFunctionLocal), so the Jacobian is calculated by automatic differentiation, right? For this instance, is there any way to check the correctness of the set up of the residual?<br>
</blockquote></div><div><br>Not unless you have ADIC configured. Do you see the AD code?<br> </div></div></blockquote><div><br>I did not have AD code configured when I was installing PETSc. I will leave this option till later for the test.<br>
<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
After I tried the -snes_mf the linear solver failed( ):<br><br> 0 SNES Function norm 1.578681107621e+08 <br> 1 SNES Function norm 1.343502549866e+08 <br> 2 SNES Function norm 1.211729760183e+08 <br> 3 SNES Function norm 1.211728837635e+08 <br>
4 SNES Function norm 1.211728837178e+08 <br> 5 SNES Function norm 1.211728837177e+08 <br> 0 SNES Function norm 1.999574234301e+08 <br> 0 SNES Function norm 1.677632378801e+08 <br>Number of Newton iterations = 0<br>
Converged reason is -3<br></blockquote></div><div><br>Yes, since there is no preconditioner. However, just use GMRES and a very large subspace.<br><br></div></div></blockquote><div><br>Sorry, but what do you mean by use a very large subspace? I would try this.<br>
<br>Yan<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="gmail_quote"><div> Matt<br> </div><div><div></div><div class="h5">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Might it be helpful to call DMMGGetSNES and then setup the analytical jacobian for the preconditioner matrix? My residual is pretty straightforward though.<br><font color="#888888"><br>Yan</font><div><div></div><div>
<br><br><br><div class="gmail_quote">
On Sun, Jan 10, 2010 at 3:59 PM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
It is possible for the radius of quadratic convergence to be very small. However, I<br>would check your Jacobian, and maybe try -snes_mf.<br><br> Matt<div><div></div><div><br><br><div class="gmail_quote">On Sun, Jan 10, 2010 at 2:55 PM, Ryan Yan <span dir="ltr"><<a href="mailto:vyan2000@gmail.com" target="_blank">vyan2000@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi All,<br>I am solving a nonlinear system using snes. The -snes_monitor option has the following output:<br>
<br> 0 SNES Function norm 2.640163923729e+09 <br> 1 SNES Function norm 1.047643565314e+08 <br> 2 SNES Function norm 1.712732074788e+06 <br>
3 SNES Function norm 1.002169173269e+04 <br> 4 SNES Function norm 1.655878303433e+03 <br> 5 SNES Function norm 3.746498305706e+02 <br> 6 SNES Function norm 8.317435704773e+01 <br> 7 SNES Function norm 1.857639969641e+01 <br>
8 SNES Function norm 4.149691057773e+00 <br> 9 SNES Function norm 9.265604042412e-01 <br> 10 SNES Function norm 2.069527103214e-01 <br> 11 SNES Function norm 4.624186491082e-02 <br> 12 SNES Function norm 1.035558432688e-02 <br>
13 SNES Function norm 2.341362958811e-03 <br> 14 SNES Function norm 5.507445427277e-04 <br> 15 SNES Function norm 1.485123568354e-04 <br> 16 SNES Function norm 5.180043781814e-05 <br> 17 SNES Function norm 2.341966514486e-05 <br>
18 SNES Function norm 1.344936158651e-05 <br> 19 SNES Function norm 1.054812641176e-05 <br>Number of Newton iterations = 19<br>Converged reason is 4<br><br>It looks like the iterate never falls into a quadratic convergence region before it converges. Is there any hint to understand this behavior?<br>
<br>Thanks a lot,<br><font color="#888888"><br>Yan<br><br><br>
</font></blockquote></div><br><br clear="all"><br></div></div><font color="#888888">-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>
</font></blockquote></div><br>
</div></div></blockquote></div></div></div><div><div></div><div class="h5"><br><br clear="all"><br>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>
</div></div></blockquote></div><br>