<div dir="ltr">On Wed, Mar 20, 2013 at 8:32 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">I question the existence of   PetscErrorCode (*createlocaltoglobalmapping)(DM);   PetscErrorCode (*createlocaltoglobalmappingblock)(DM);<br>

<br>
1) They have no public interface function<br></blockquote><div><br></div><div style>The local-to-global mapping is a significant amount of memory when using explicit methods or matrix-free multigrid, so these ops allow the mapping to be constructed lazily. Some DMs build the mapping eagerly and thus don't implement the callback. The public API is DMGetLocalToGlobalMapping().</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2) They only exist for a couple of DM types<br>
<br>
Shouldn't they just be private functions for those types? Why do they go in the function table?<br></blockquote><div><br></div><div style>DMGetLocalToGlobalMapping() is called generically by DMCreateMatrix_Composite and perhaps by users rolling their own composite spaces.</div>
</div></div></div>