[Dune] map between Local ID and Index Set values during dynamic load balancing

Martin Alkaemper alkaemper at mathematik.uni-stuttgart.de
Tue May 10 15:40:32 CEST 2016


Hi Nagaiah,

I think the error is, that you do not remove entries from your map in
the gather method of your LoadBalanceDataHandle, i.e. add

        map.erase(id);

to it. That fixed the problem for me.

Best Regards,
Martin



On 05/10/2016 12:31 PM, Nagaiah Chamakuri wrote:
> Dear ALUGrid / DUNE developers,
>
> I have a question concerning mapping between Local ID and indexSet values
> in ALUGrid data structure during the dynamic load balancing.
> (Keep in mind that *I only want to refine and coarse
> the cells at leaf GridView)*
> I have written a simple example code to look at this issue.
> I am doing in the following way (Steps 1-4 are explained in the
> example code)
>
> Step 0) The initial grid (level-0) is partitioned anyway
>
> Step 1) Initializing solution and refining the grid based on simple
> strategy
> (solution data at cells is assigned based on indexset index values,
> see test_alu_lb.hh file)
>
> Step 2) Now I am creating a map between local ID value and
> corresponding solution data at those cells (extracting the data based
> on the indexset index values, *accessing only leaf Grid VIEW cells*)
>
> Step 3) Now I am creating the data handle and then load balance of the
> refined grid
>          (Here I am writing the solution data to buffer based on the
> local ID of the entity in
>            Gather operation, reading ID and solution data from earlier
> created map. Reading the
>            solution from buffer and writing to the map using local ID
> of the entity in Scatter operation )
>
> Step 4) Reading back from "map" to the solution vector. (here
> assignment of solution data
>             based on the indexset index values, similar in Step 2)
>
> ( run this example on 4 or more cores.)
>
> It seems that one of(OR both) Step 2 or Step 4 method is wrong, due to
> my lack of deep understanding
> of relation between local ID set and index set values during
> loadBalance step.*
> *In my opinion this is producing wrong results in attached test case.
> I believe that all cells from all grid levels are communicated during
> the load
> balancing in ALUGrid implementation. But I want to access only
> leafGridView cells only.
> Test case is created against latest GIT version all DUNE modules.
>
> I would greatly appreciate if you shed some light on this issue OR
> correcting my simple
> example code. Thank you so much in advance.
>
> Sincerely
> Nagaiah
>          
>
> -- 
> *========================================
> Dr. Chamakuri Nagaiah
> Radon Institute for Computational and Applied Mathematics (RICAM)
> Austrian Academy of Sciences
> Altenbergerstraße 69
> A-4040 Linz, Austria. Ph(office): +43 732 2468 5218
> http://people.ricam.oeaw.ac.at/n.chamakuri/
> ========================================*
>
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20160510/435b1b41/attachment.htm>


More information about the Dune mailing list