Software such as ParMetis or PTScotch partition a graph. When one wants to use it for mesh partitioning (for example for FEM), a dual graph whose vertices represent cells of the original mesh is usually constructed first. This dual graph is then partitioned. I was wondering why one cannot simply interpret the connectivity of the input mesh as a graph directly - mesh nodes are graph vertices and mesh edges are also graph edges. This would assume that the list of mesh edges is built by client application before the call to the partitioning routine.
If I understand correctly, the cut through a dual graph will contain whole faces of adjacent mesh cells belonging to different partitions, while cut through the mesh (seen as a graph) will be less pretty in the sense that only some nodes of an element face might become ghost nodes. In addition, the number of mesh edges (especially in 3D) will probably be much higher than the number of cells. Apart from that, I don't see what are the advantages of using the first or the second approach. Can anyone comment on this?
I am aware of the fact that (Par)Metis has a function to construct a dual graph. My question is 'why', not 'how'. I'm mainly interested in mesh partitioning for FEM.