<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 3/19/13 11:38 PM, Jed Brown wrote:<br>
</div>
<blockquote
cite="mid:CAM9tzSki2B3h-5yC3279QqpscXme7f3oCpF91_b24S_id4MNFw@mail.gmail.com"
type="cite">
<div dir="ltr">On Tue, Mar 19, 2013 at 9:54 PM, Richard Tran Mills
<span dir="ltr"><<a moz-do-not-send="true"
href="mailto:rtm@eecs.utk.edu" target="_blank">rtm@eecs.utk.edu</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">[...]<br>
Obviously, there may be subtypes of DM for which no
"natural to global" operation makes sense. </blockquote>
<div><br>
</div>
<div style="">At the type level, adding something to base DM
is an assertion that it makes sense with all DMs. Even a
local space does not strictly make sense in DM (some
problems are dense, in which case the "local" space would
be everything, which is likely a poor representation for
the operator).</div>
</div>
</div>
</div>
</blockquote>
Yes, there is that implicit assumption when adding something to the
base functionality; that said, there are cases scattered throughout
PETSc where there are "base" operations that are not supported by
all of the subclasses, so I'm not sure how this judgement call is
made.<br>
<br>
I also agree that working in the "local" neighborhood is not a
sensible thing to do for all DMs, but there still is some notion of
"local", even if you wouldn't want to use it. I certainly think
that since there is support for GlobalToLocal and LocalToGlobal
operations at the DM base level, that for consistency there should
also be LocalToLocal support, rather than embedding that
functionality at the sub-class level.<br>
<blockquote
cite="mid:CAM9tzSki2B3h-5yC3279QqpscXme7f3oCpF91_b24S_id4MNFw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div style=""><br>
</div>
<div style="">So I would be reluctant to add the Natural
concept since it does not make sense with all DMs. What do
you do with the natural vector coming out of here? Why is
it easier to implement dispatch in DM rather than in your
code?</div>
</div>
</div>
</div>
</blockquote>
We only use the natural ordering for things like doing I/O and for
setting up source/sink terms or boundary conditions on
nodesets/sidesets. I have no actual need to do this at the DM
level--I just like the idea of doing it this way for any DM type
since we use DMDA routines in the structured case. We can certainly
continue to do it in the PFLOTRAN code without a need for DM routine
for it.<br>
<br>
I *do* have a "need" to do LocalToLocal operations on any DM type,
however, as this isn't something that just happens during
initialization and output.<br>
<br>
--Richard
</body>
</html>