<div dir="ltr">On Wed, Feb 13, 2013 at 12:08 AM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><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 class="im"><br>
On Feb 12, 2013, at 10:56 PM, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br>
<br>
> On Tue, Feb 12, 2013 at 11:41 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
><br>
> 1)  Can we move the section data structures from vecimpl.h to isimpl.h? in preparation for its refactoring and why is PetscSectionCreate in section.c defined in src/vec/vec/impls/seq?   Can vsection.c be split in two with the only the "Vec" related routines kept in the Vec directory<br>

><br>
> All the above makes sense if you agree with this designation as an IS. Can we go over this again to make sure it is correct?<br>
><br>
> a) PetscSection does a job very similar to PetscLayout, but Layout is not an IS<br>
><br>
> b) The internals of PetscSection look like two ISes, and a list of embedded PetscSections. This does not sound like an IS<br>
><br>
</div>   Regardless of these two, PetscSection does not belong in the vector subdirectory and most definitely not  in the impls/seq directory, so even if in the end it does not become exactly an IS it more belongs in the is directory then in the vec directory</blockquote>
<div><br></div><div style>That is convincing.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
> c) I believe the claim will be, "I can always think of the output as a list of integers", however that is a very broad category,<br>
>     which also includes graphs, meshes, etc. Internally this looks nothing like a list of numbers, and the current queries<br>
>     do not just return members of this list.<br>
<br>
</div>   a graph and mesh most definitely cannot be thought of as a list of integers since they contain information about relationships BETWEEN items. Does PetscSection contain such additional information?<br></blockquote>
<div><br></div><div style>Yes. PetscSection represents groups of numbers, and you can see the grouping.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

   What queries "do not just return members of this list" in PETSc section? (That is queries we wish to retain anyways).</blockquote><div><br></div><div style>For example, you can ask "how many items are in group p?". This is crucial, and the whole point of the structure.</div>
<div style>I don't see how you can recover that information from just the list of dof numbers.</div><div style><br></div><div style>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
   Barry<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
>    Matt<br>
><br>
><br>
> 2) matimpl.h really needs vecimpl.h?<br>
><br>
> #define __MATIMPL_H<br>
><br>
> #include <petscmat.h><br>
> #include <petsc-private/petscimpl.h><br>
> #include <petsc-private/vecimpl.h><br>
><br>
> Doesn't seem to so I've removed the vecimpl.h and pushed<br>
><br>
> Seems there may be a few of these unneeded dependencies hanging around, I'll try to hunt them down.<br>
><br>
>    Barry<br>
><br>
><br>
><br>
><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>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <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
</div></div>