<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body>
    Hi, all:<br>
        Thanks for your kind reply. Matt's course notes looks very nice.
    <br>
    <br>
        Thanks,<br>
    leejearl<br>
    <br>
    <pre wrap="">   
</pre>
    <br>
    <div class="moz-cite-prefix">On 2017年05月12日 17:10, Matthew Knepley
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAMYG4G=FJwcFoH4UZeP5nHyXhUhU5wWjyFwDk8w3G-TEzmYtCA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">On Fri, May 12, 2017 at 3:48 AM,
            Lawrence Mitchell <span dir="ltr"><<a
                moz-do-not-send="true"
                href="mailto:lawrence.mitchell@imperial.ac.uk"
                target="_blank">lawrence.mitchell@imperial.ac.uk</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px
              0.8ex;border-left:1px solid
              rgb(204,204,204);padding-left:1ex"><span class="gmail-"><br>
                > On 12 May 2017, at 04:57, 李季 <<a
                  moz-do-not-send="true" href="mailto:leejearl@126.com">leejearl@126.com</a>>
                wrote:<br>
                ><br>
                > Hi developers:<br>
                >     I have such a question that I want to get the
                vertices of a cell. I know I can get the points by<br>
                >     1. Getting the faces of a cell such as
                "DMPlexGetCone(dm, c, &faces";<br>
                >     2. Getting the vertices of every face of the
                cell such as "DMPlexGetCone(dm, f, &vertices)".<br>
                ><br>
                >     Then I can obtain the vertices belongs to a
                cell. Is there any concise routine which I can choose to
                get the<br>
                > vertices of a cell directly?<br>
                <br>
              </span>You should use the interface for the transitive
              closure.<br>
              <br>
              Find bounds of points that are vertices:<br>
              <br>
              DMPlexGetDepthStratum(dm, &vStart, &vEnd);<br>
              <br>
              ...<br>
              DMPlexGetTransitiveClosure(dm, c, PETSC_TRUE,
              &nclosure, &closure);<br>
              for (PetscInt i = 0; i < nclosure; i++) {<br>
                  const PetscInt p = closure[2*i];<br>
                  if (p >= vStart && p < vEnd) {<br>
                      p is a vertex<br>
                  }<br>
              }<br>
              <br>
              This works regardless of the topological dimension of the
              "cell" point you are using (the same code is good to find
              the vertices in the closure of a facet, say).<br>
              <br>
              Matt's course notes (<a moz-do-not-send="true"
                href="http://www.caam.rice.edu/%7Ecaam519/CSBook.pdf"
                rel="noreferrer" target="_blank">http://www.caam.rice.edu/~<wbr>caam519/CSBook.pdf</a>)
              have nice pictures that help understand this language in
              section 7.1.<br>
            </blockquote>
            <div><br>
            </div>
            <div>Also note that this is fine for getting vertices if you
              want to do topological things. However, if what you really
              want is</div>
            <div>some function over the vertices (like coordinates), you
              should use</div>
            <div><br>
            </div>
            <div>  <a moz-do-not-send="true"
href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMPlexVecGetClosure.html">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMPlexVecGetClosure.html</a></div>
            <div><br>
            </div>
            <div>  Thanks,</div>
            <div><br>
            </div>
            <div>     Matt</div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px
              0.8ex;border-left:1px solid
              rgb(204,204,204);padding-left:1ex">
              Cheers,<br>
              <br>
              Lawrence</blockquote>
          </div>
          <br>
          <br clear="all">
          <div><br>
          </div>
          -- <br>
          <div class="gmail_signature">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>
      </div>
    </blockquote>
    <br>
  </body>
</html>