<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Sep 11, 2015 at 4:30 PM, Gideon Simpson <span dir="ltr"><<a href="mailto:gideon.simpson@gmail.com" target="_blank">gideon.simpson@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Are there any built in routines for freezing variables in SNES, or will that need to be handled by hand.</div></div></blockquote><div><br></div><div>We used to have this for KSP, but it looks like someone removed it. The only thing left is KSPMonitorRange().</div><div>What we did is find the few largest residual elements, take a small halo around them, project the problem to this</div><div>small space using MatGetSubMatrix() and VecScatter, solve, and VecScatter back.</div><div><br></div><div>We do not have this for nonlinear stuff (like many other things) because there is no explicit matrix to manipulate,</div><div>and language support for computing only parts of the nonlinear function is really weak. What we really want</div><div>is something like what Victor Eijkout was proposing a few years ago, namely automatic discovery of index sets</div><div>for communication, in this case with main memory. We would need the residual code, given an output set, to tell</div><div>us what input set is needed. Then we make a Scatter, select part of the DM, and we could compute. Now it has</div><div>to be done by hand.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Also, I remain curious about the starting guess that the grid sequence uses during each refinement.  Is there a way to dump those to disk for inspection?</div><br><div>
<span style="border-collapse:separate;color:rgb(0,0,0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">-gideon</span>

</div>
<br><div><blockquote type="cite"><span class=""><div>On Sep 11, 2015, at 4:05 PM, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:</div><br></span><div><div dir="ltr" style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Fri, Sep 11, 2015 at 1:05 PM, Gideon Simpson<span> </span><span dir="ltr"><<a href="mailto:gideon.simpson@gmail.com" target="_blank">gideon.simpson@gmail.com</a>></span><span> </span>wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word">Since the problem has not only the two components in the DM, but the second component has 4 degrees of freedom per mesh point, I thought it best to do the post processing separately.  See attached</div></blockquote><div><br></div><div>So the whole thing is being controlled by 1 variable.</div><div><br></div><div>We should try freezing everything else, and just solving that scalar equation I guess.</div><div><br></div><div>   Matt</div><div> </div></span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div><span style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">-gideon</span></div><span><Screen Shot 2015-09-11 at 2.04.25 PM.png></span><div><div class="h5"><br><div><blockquote type="cite"><div>On Sep 11, 2015, at 10:16 AM, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:</div><br><div><div dir="ltr" style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div class="gmail_extra"><div class="gmail_quote">On Fri, Sep 11, 2015 at 9:08 AM, Gideon Simpson<span> </span><span dir="ltr"><<a href="mailto:gideon.simpson@gmail.com" target="_blank">gideon.simpson@gmail.com</a>></span><span> </span>wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word">Following up on the previous thread, for my dm composite problem, I find that at the end of the first grid sequence,where it fails to converge, the distribution of the norms between the two pieces are:<div><br></div><div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> 39 SNES Function norm 2.253098577796e+02 </span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> 40 SNES Function norm 2.253098577331e+02 </span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> 41 SNES Function norm 2.253098577228e+02 </span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> 42 SNES Function norm 2.253098577212e+02 </span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> 43 SNES Function norm 2.253098577174e+02 </span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> 44 SNES Function norm 2.253098577166e+02 </span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> 45 SNES Function norm 2.253098577158e+02 </span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> 46 SNES Function norm 2.253098577157e+02 </span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> 47 SNES Function norm 2.253098577156e+02 </span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> 48 SNES Function norm 2.253098577156e+02 </span></div><div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px">Nonlinear solve did not converge due to DIVERGED_LINE_SEARCH iterations 48</span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> ||r|| = 225.31, 7999 entries</span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> ||rp|| = 140.021, 3 entries</span></div><div style="margin:0px;font-family:Menlo"><span style="font-size:12px"> ||rQ|| = 176.518, 7996 entries</span></div></div><div><br></div><div>Since I think we were convinced that this was intrinsic to the problem, and not a function of the Jacobian function, I am using my Jacobian.</div></div></div></blockquote><div><br></div><div>Okay, I see no pattern in the fields. Lets plot these 2 vectors, -vec_view draw, and screenshot.</div><div><br></div><div> <span> </span>Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div><span><font color="#888888">-gideon<br></font></span></div></div></blockquote></div><br><br clear="all"><span><font color="#888888"><div><br></div>--<span> </span><br><div>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</div></font></span></div></div></div></blockquote></div><br></div></div></div></div></blockquote></div><div><div class="h5"><br><br clear="all"><div><br></div>--<span> </span><br><div>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</div></div></div></div></div></div></blockquote></div><br></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">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</div>
</div></div>