Description
Consider the following example of a mesh (black) and its dual graph (blue) - that would be produced by build_dual_graph
in a sequential call.
If we now consider the mesh to split across two processes and consider the computation of build_dual_graph
we hope to get, where the dashed blue lines indicate ghost edges that should exist on both processes:
Currently the build_dual_graph
will not produce these ghost edges. build_local_dual_graph
will not mark the necessary vertices as they are connected to more than one cell and thus considered 'matched'.
To resolve this is general the compute_nonlocal_dual_graph
would need to consider all vertices for possible ghost edges (we can not deduce from local data if there exists a joint across the process boundary).