<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 21, 2013 at 12:48 PM, Peter Brune <span dir="ltr"><<a href="mailto:prbrune@gmail.com" target="_blank">prbrune@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>Jed, I disagree; It's quite natural to want custom bindings for these things if you want some new mesh type to have local-to-global and global-to-local operations over that mesh.  Having it abstracted out to the matrix or vector is constraining.<br>

<br>They should totally be in there and should be implementation-level in DMShell.</div></blockquote></div><br>There is a member dm->ltogmap that these access, not a member of DM_Shell. I'm saying that almost nobody uses those at present. Yes, they should be implemented for symmetry, but it is unlikely to be necessary for Rich to have some capability _now_. I foresee more solvers using it in the future, and it's cleaner to get it from the DM than from the Vecs, so I agree that it should be set.<br>
<br></div><div class="gmail_extra">The scatter DMGlobalToLocalBegin/End is a different matter. It is currently never called by the solvers directly, but it may be convenient for Rich's code to call the same function for DMShell and others. This should perhaps be called DMShellSetGlobalToLocal(DM dm,PetscErrorCode (*begin)(DM,Vec,InsertMode,Vec),PetscErrorCode (*end)(DM,Vec,InsertMode,Vec));<br>
</div></div>