Skip to main content
`Ctrl`+`K`

# PetscPartitionerDMPlexPartition

Create a non-overlapping partition of the cells in the mesh

## Synopsis

    #include "petscdmplex.h"
    PetscErrorCode PetscPartitionerDMPlexPartition(PetscPartitioner part, DM dm, PetscSection targetSection, PetscSection partSection, IS *partition)

Collective

## Input Parameters

- part - The `PetscPartitioner`

- targetSection - The `PetscSection` describing the absolute weight of each partition (can be `NULL`)

- dm - The mesh `DM`

## Output Parameters

- partSection - The `PetscSection` giving the division of points by partition

- partition - The list of points by partition

## Note

If the `DM` has a local section associated, each point to be partitioned will be weighted by the total number of dofs identified by the section in the transitive closure of the point.

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `PetscPartitioner`, `PetscSection`, `DMPlexDistribute()`, `PetscPartitionerCreate()`, `PetscSectionCreate()`, `PetscSectionSetChart()`, `PetscPartitionerPartition()`

## Level

developer

## Location

src/dm/impls/plex/plexpartition.c

Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages