<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Nov 20, 2013 at 6:58 PM, Geoffrey Irving <span dir="ltr"><<a href="mailto:irving@naml.us" target="_blank">irving@naml.us</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">On Wed, Nov 20, 2013 at 3:49 PM, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br>

> On Tue, Nov 19, 2013 at 4:35 PM, Geoffrey Irving <<a href="mailto:irving@naml.us">irving@naml.us</a>> wrote:<br>
>><br>
>> The documentation for DMPlexGetStratumIS helpfully explains that the<br>
>> "value" argument is<br>
>><br>
>>     - value - The stratum value<br>
><br>
> This is exactly right. A DMLabel is a map from value --> {set of integers}.<br>
> There are no builtin semantics on the values.<br>
><br>
>> One has to look in DMPlexStratify to find that the value is probably<br>
>> (the word "value" isn't actually used) either the dimension or the<br>
>> codimension.  But not which!<br>
><br>
> DMPlexStratify() builds a DMLabel called "depth". The values in this label<br>
> are point depths in the mesh graph.<br>
<br>
</div>Can I fix the documentation for DMPlexStatify to say this?  Currently<br>
it says it "might" do something like that:<br></blockquote><div><br></div><div>Yes</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
    "The normal association for the point grade is element dimension<br>
(or co-dimension). For instance, all vertices would<br>
  have depth 0, and all edges depth 1. Likewise, all cells heights<br>
would have height 0, and all faces height 1."<br>
<div class="im"><br>
>> The documentation for DMPlexStratify seems to imply that the meaning<br>
>> of the stratum value is up to the user.  Is that right?  If so it<br>
>> makes it hard to design robust libraries; the library would have to<br>
>> either know how the DMPlex was created or reverse engineer the<br>
>> dimension 0 stratum from the coordinate section (or similar<br>
>> hideousness).<br>
>><br>
>> If there is a convention, can I add it to the documentation of<br>
>> DMPlexGetStratumIS and DMPlexGetStratumSize?<br>
><br>
> These are documenting the generic DMLabel interface. These functions are<br>
> in fact just the delegator pattern, where they dispatch to the named label. I<br>
> am considering just eliminating all of them in favor of DMGetLabel().<br>
<br>
</div>Thanks for the explanations.  Is there a reason why you use the word<br>
"Stratum" here but "Value" elsewhere in the label interface, such as<br></blockquote><div><br></div><div>Yes, value refers to the integer which maps to a stratum, which is a set of</div><div>integers.</div>
<div><br></div><div>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
DMPlexSetLabelValue?  Stripping the extra layer of interfaces sounds<br>
great to me.<br>
<span class="HOEnZb"><font color="#888888"><br>
Geoffrey<br>
</font></span></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>