<html><head></head><body bgcolor="#FFFFFF"><div><br><br>On Feb 21, 2013, at 8:44 PM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Feb 21, 2013 at 7:28 PM, Boyce Griffith <span dir="ltr"><<a href="mailto:griffith@cims.nyu.edu" target="_blank">griffith@cims.nyu.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br></div>
I would very happily use an "undefined" vector size.  (I will also happily change the bogus local sizes from 0 to 1, and the global sizes accordingly. :-)<br>
<br>
The PETSc solvers that we use in the code should be oblivious to the size of the vector.  I've actually never been all that happy with size "0", but it was in some inherited code, and at least so far, it has never caused any problems over the 10+ years it has been in use.  (If ever did start causing problems, I certainly would not come complaining to petsc-users or petsc-dev.  It isn't like I do not realize that "0" is a potentially problematic value here.)<br>

<br>
I actually have always hoped that setting size to "0" would help smoke out any places where something actually did use the vector size.<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div>
 <br></div><div>Okay, let's move the design discussion to petsc-dev.<br><br></div><div>I want to understand the extent to your adaptivity and how your Vecs "behave". In which places do you (mathematically) change the dimension of a vector?<br></div></div></div></div></div></blockquote><div><br></div><div>These applications are mainly transient solvers in which regridding happens "between" time steps.</div><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>If I start with Vecs X and Y and I write<br><br></div><div>VecCopy(X,Y);<br></div><div>YourSolver(X); /* solve F(X) = 0 with adaptivity */<br><br></div><div>can I then compare the result like this?<br><br></div>
<div>VecAXPY(Y,-1.,X);<br></div></div></div></div></div></blockquote><div><br></div><div>Absolutely.</div><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Do vector-space properties of Y (e.g., norm) change when I call YourSolver(X). (Some codes keep a global view of all vectors, and when they adapt, they regrid all vectors. But regridding doesn't preserve things like norms, so you end up with tangled semantics.)<br>
</div></div></div></div>
</div></blockquote><br><div>At present all solvers operate only on fixed grid configurations.  I do not expect this to change any time soon.</div><div><br></div><div>-- Boyce</div></body></html>