<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi.<br>
      You will not need an intersection iterator. Just setup something
      like<br>
      std::vector<std::map<int>> v<br>
      v[i] then contains all the vertex index connected to p_i.<br>
      <br>
      You iterate once over the grid and for each element with vertex <br>
      index i_0,i_1,i_2 you write something like<br>
      v[i_0].insert(i_1)   v[i_0].insert(i_2)<br>
      and so on.<br>
      <br>
      I can't think of anything quicker in the DUNE context (and that is
      exactly<br>
      the stencil of the P_1 FE as Olvier already mentioned.<br>
      I hope that works, best<br>
      Andreas<br>
      <br>
      On 17.01.2014 16:31, Oliver Sander wrote:<br>
    </div>
    <blockquote cite="mid:52D95AD8.70500@igpm.rwth-aachen.de"
      type="cite">
      <pre wrap="">Am 17.01.2014 17:22, schrieb Sacconi, Andrea:
</pre>
      <blockquote type="cite">
        <pre wrap="">Hi DUNErs,

I would like to ask you a quick question.
Suppose that you are working with 2D, triangular meshes; to be more precise, conforming meshes. For any given vertex, there is a certain number of surrounding vertices around, topologically connected with it. In other words, all the vertices which are second extreme of a segment, whose first extreme is the given point.
What is the quickest way, within DUNE framework, to extract the global index of those vertices, given the index of the one in the middle?

I was thinking of iterating over the elements, playing around with intersections and subIndices but it seems inefficient.
Any clever suggestions?

</pre>
      </blockquote>
      <pre wrap="">
If you want to do the least amount of coding: assemble a P1 mass matrix and look
at the matrix occupation pattern.  The neighbors of vertex i correspond to the
non-zero entries of the i-th row of that matrix.

If you want fast code: strip away everything from the assembler that is not needed,
and consider using a smarter data structure than a crs matrix.  The result will not
be extremely fast, but that's pretty much as good as it gets with the Dune interface.

Cheers,
Oliver

</pre>
      <blockquote type="cite">
        <pre wrap="">Thank you very much!
Andrea
__________________________________________________________

Andrea Sacconi
PhD student, Applied Mathematics
AMMP Section, Department of Mathematics, Imperial College London,
London SW7 2AZ, UK
<a class="moz-txt-link-abbreviated" href="mailto:a.sacconi11@imperial.ac.uk">a.sacconi11@imperial.ac.uk</a>

_______________________________________________
Dune mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Dune@dune-project.org">Dune@dune-project.org</a>
<a class="moz-txt-link-freetext" href="http://lists.dune-project.org/mailman/listinfo/dune">http://lists.dune-project.org/mailman/listinfo/dune</a>

</pre>
      </blockquote>
      <pre wrap="">





</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Dune-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Dune-devel@dune-project.org">Dune-devel@dune-project.org</a>
<a class="moz-txt-link-freetext" href="http://lists.dune-project.org/mailman/listinfo/dune-devel">http://lists.dune-project.org/mailman/listinfo/dune-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>