petsc-3.13.6 2020-09-29
Report Typos and Errors

# PetscPartitionerPartition

Partition a graph

### Synopsis

    #include "petscdmplex.h"
    PetscErrorCode PetscPartitionerPartition(PetscPartitioner part, PetscInt nparts, PetscInt numVertices, PetscInt start[], PetscInt adjacency[], PetscSection vertexSection, PetscSection targetSection, PetscSection partSection, IS *partition)

Collective on PetscPartitioner

### Input Parameters

| part | - The PetscPartitioner
| nparts | - Number of partitions
| numVertices | - Number of vertices in the local part of the graph
| start | - row pointers for the local part of the graph (CSR style)
| adjacency | - adjacency list (CSR style)
| vertexSection | - PetscSection describing the absolute weight of each local vertex (can be NULL)
| targetSection | - PetscSection describing the absolute weight of each partition (can be NULL)

### Output Parameters

| partSection | - The PetscSection giving the division of points by partition
| partition | - The list of points by partition

### Options Database

| -petscpartitioner_view | - View the partitioner information
| -petscpartitioner_view_graph | - View the graph we are partitioning

### Notes

The chart of the vertexSection (if present) must contain [0,numVertices), with the number of dofs in the section specifying the absolute weight for each vertex. The chart of the targetSection (if present) must contain [0,nparts), with the number of dofs in the section specifying the absolute weight for each partition. This information must be the same across processes, PETSc does not check it.

### See Also

PetscPartitionerCreate(), PetscSectionCreate(), PetscSectionSetChart(), PetscSectionSetDof()

### Level

developer

### Location

src/dm/impls/plex/plexpartition.c

### Implementations

PetscPartitionerPartition_MatPartitioning in src/dm/impls/plex/petscpartmatpart.c
PetscPartitionerPartition_Shell in src/dm/impls/plex/plexpartition.c
PetscPartitionerPartition_Simple in src/dm/impls/plex/plexpartition.c
PetscPartitionerPartition_Gather in src/dm/impls/plex/plexpartition.c
PetscPartitionerPartition_Chaco in src/dm/impls/plex/plexpartition.c
PetscPartitionerPartition_ParMetis in src/dm/impls/plex/plexpartition.c
PetscPartitionerPartition_PTScotch in src/dm/impls/plex/plexpartition.c
Index of all DMPLEX routines
Table of Contents for all manual pages
Index of all manual pages