Documentation Index
Fetch the complete documentation index at: https://mintlify.com/KarypisLab/ParMETIS/llms.txt
Use this file to discover all available pages before exploring further.
ParMETIS_V3_Mesh2Dual constructs the dual graph of a distributed finite element mesh in parallel. In the dual graph, each element becomes a vertex, and two vertices are connected by an edge when the corresponding elements share at least ncommonnodes mesh nodes — for example, 2 for edge-adjacent 2D elements or 3 for face-adjacent 3D elements. The resulting dual graph can then be passed to ParMETIS_V3_PartKway to partition the mesh.
Parameters
Distribution of elements across processes.
elmdist[i] is the global index of the first element on process i, and elmdist[i+1] - elmdist[i] is the number of local elements. Size npes + 1; must be identical on all processes.Element connectivity row pointers.
eptr[i] is the index into eind where the node list of local element i begins. Analogous to xadj in CSR graph format. Size local_nelems + 1.Element connectivity node indices. Contains the global mesh node indices for each local element. Size
eptr[local_nelems].Indexing convention.
0 for C-style 0-based indexing; 1 for Fortran-style 1-based indexing.Minimum number of shared mesh nodes required for two elements to be considered adjacent in the dual graph. Use
2 for edge adjacency in 2D meshes and 3 for face adjacency in 3D meshes.Output. Pointer to the allocated adjacency row pointer array of the dual graph, in CSR format. ParMETIS allocates this array; the caller must free it with
free(*xadj).Output. Pointer to the allocated adjacency column index array of the dual graph, in CSR format. ParMETIS allocates this array; the caller must free it with
free(*adjncy).Pointer to the MPI communicator covering all participating processes.
Return value
ReturnsMETIS_OK (1) on success. Any other value indicates an error.