[Dune-devel] Contribution to Dune
Martin Rückl
mrueckl at physik.hu-berlin.de
Tue Nov 19 12:49:43 CET 2013
Dear Dune-Developers,
a good friend/colleague of mine, Malik Kirchner, has developed a quite
fast alternative to the hierarchic search provided in the grid
utilities. He is willing to share his work to your community, but little
afraid to do so :-). I wonder if you would appreciate such a contribution.
The basic idea behind his implementation is based on a mapping from a
k-d-tree ( http://en.wikipedia.org/wiki/K-d_tree) to grid vertices and
their elements.
Independent of the underlying grid view (hierarchic or leaf), this tree
structure needs to do only __very__ few transformations from global to
local coordinates.
Compared to the HierarchicSearch he achieved a speedup of about 10-20
for well balanced hierarchic grids with only one element on level 0.
Operating on leaf views a speedup of >100 can be achieved.
Of course there are also (small :P) drawbacks compared to the hierarchic
search:
1. The k-d-tree structure needs memory
2. The k-d-tree needs to be built (but only once;-))
We have successfully tested his code, and tried to keep the interface
similar to the HierarchicSearch. We also added a PDELab
GridFunctionToFunctionAdaptor making use of the k-d-tree search.
While we only tested things in sequential so far, i see no reason why it
should not run in parallel as well, since it is solely operating on a
grid view and does not require any communication (of course you cannot
find the entity for a coordinate if the entity resides on another rank).
If you are interested in such a contribution, we are willing to spend
some more effort making things "look like dune code" ;-)
If there are questions, feel free to ask!
If you want to have a look at the code you can find it on:
https://gitorious.org/dune-evalview
Kind regards,
Martin Rueckl, Malik Kirchner
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune-devel/attachments/20131119/f8908d64/attachment.htm>
More information about the Dune-devel
mailing list