PETSc version 3.17.0
Fix/Edit manual page

# MatMeshToVertexGraph

This routine does not exist because ParMETIS does not provide the functionality. Uses the ParMETIS package to convert a Mat that represents a mesh to a Mat the represents the graph of the coupling between vertices of the cells and is suitable for partitioning with the MatPartitioning object. Use this to partition vertices of a mesh. More likely you should use MatMeshToCellGraph()

### Synopsis

    #include "petscmat.h"
    PetscErrorCode MatMeshToVertexGraph(Mat mesh,PetscInt ncommonnodes,Mat *dual)

Collective on Mat

### Input Parameters

| mesh | - the graph that represents the mesh
| ncommonnodes | - mesh elements that share this number of common nodes are considered neighbors, use 2 for triangles and quadrilaterials, 3 for tetrahedrals and 4 for hexahedrals

### Output Parameter

| dual | - the dual graph

### Notes

Currently requires ParMetis to be installed and uses ParMETIS_V3_Mesh2Dual()

The columns of each row of the Mat mesh are the global vertex numbers of the vertices of that rows cell. The number of rows in mesh is number of cells, the number of columns is the number of vertices.

### See Also

MatMeshToCellGraph(), MatCreateMPIAdj(), MatPartitioningCreate()

### Level

advanced

### Location

src/mat/partition/impls/pmetis/pmetis.c
Index of all MatOrderings routines
Table of Contents for all manual pages
Index of all manual pages