On 9/14/20 7:29 PM,
shahab.g...@gmail.com wrote:
> I am using load balancing and I noticed after load balancing, that the cells
> owned by each processor are sometimes separated from each other. In other
> words, some processors may own cell domains that are not connected to each other.
> As this increases the computational cost in my case, I was wondering whether
> it would be possible to limit the load balancing to define only adjacent cells?
Not with parallel::distributed::Triangulation. That class uses a partitioning
algorithm that optimizes for the data structures used in storing
triangulations, sometimes at the expense of creating these kinds of
disconnected sub-domains. In practice, however, this has relatively little
effect on the performance of programs to the best of our knowledge: Yes, it is
not *optimal*, but it is good enough to not be a major problem in most cases.
You state that it increases the computational cost -- that's true, but do you
have evidence that that creates a bottleneck?
If you do need a different partitioning algorithm, you can use
parallel::shared::Triangulation or, since deal.II 9.2, the
parallel::fullydistributed::Triangulation class.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email:
bang...@colostate.edu
www:
http://www.math.colostate.edu/~bangerth/