[Dune] Iteration over parallel grid

Martin Nolte nolte at mathematik.uni-freiburg.de
Wed Feb 5 13:12:03 CET 2014


Hi Martin,

for elements this is certainly possible (iterating only over the 
Interior_Partition).

For vertices, however, this is not so. You can iterate over the 
Interior_Partition (giving you only strictly interior vertices) or over the 
InteriorBorder_Partition (giving you all border vertices once on each process 
sharing it).

However, you can build a list of vertex indices or ids that shall be skipped in 
the iteration. This list is built by a single communication on the vertices, 
where each process sends its rank. On scatter, you look whether the received 
rank is less than yours. If so, you add the index (or id) of the corresponding 
entity to your list.

Best,

Martin

On 02/05/2014 11:46 AM, Martin Rückl wrote:
> Hi "Duners",
> I want to iterate over all vertices (or elements) of a parallel grid in the
> following way:
> Each vertex should be accessed only once, not only for each rank, but for the
> whole set of parallel processes.
> In other words, suppose there is a (boundary/overlap) vertex shared by the two
> ranks r0 and r1, then only r0 OR r1 should iterate over it.
>
> Is this possible for vertices with the GridView iterators selecting a certain
> partition_iterator type? YES/NO ?
>
> I think for elements it should be possible, if the grid does not use overlap.
> Correct/Wrong?
>
> Thanks,
> Martin
>
>
>
>
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune

-- 
Dr. Martin Nolte <nolte at mathematik.uni-freiburg.de>

Universität Freiburg                                   phone: +49-761-203-5630
Abteilung für angewandte Mathematik                    fax:   +49-761-203-5632
Hermann-Herder-Straße 10
79104 Freiburg, Germany




More information about the Dune mailing list