[Dune] parallel DUNE grid for implementing a spherical shell (UGGrid)

Oliver Sander sander at igpm.rwth-aachen.de
Tue Nov 6 10:35:01 CET 2012


Am 06.11.2012 08:44, schrieb Markus Blatt:
> Hey Eike,
>
> On Mon, Nov 05, 2012 at 07:17:48PM +0000, Eike Mueller wrote:
>>> And loadbalancing would only be needed for the macrogrid, e.g., not dynamic.
>>>
>> That's right, in the code I would refine the grid until there is
>> only cell per processor (this is the macrogrid). Then I would call
>> loadBalance, followed by further grid refinement. So for example
>> with 24 processors, I would subdivide each of the six cells in the
>> original grid into four cells, then loadbalance that grid and refine
>> further.
> Actually, this approach could be the root of the problem. The
> loadbalancing is a heuristic algorithm and normally one always gets
> some load imbalance here. But if you just have as many cells as
> processor, then naturally some will end up with no cells at all.
This is true, but it is not the whole truth.

The default load balancing strategy of UG is Recursive Coordinate Bisection.
This means roughly that the grid bounding box is partitionend into 
axis-aligned
cells, and these cells are assigned to processors.  I reckon (I didn't 
check)
that since your grid is a hollow sphere, some cells simply remain empty.

UG offers several other strategies, but all this really is hardly tested.
Have a look at the lbs method in ug/parallel/dddif/lb.c:533 for some
alternatives.

good luck,
Oliver

>
> How about doing some more refinement before load balancing?
>
> Cheers,
>
> Markus
>





More information about the Dune mailing list