# PetscPartitionerSetType
Builds a particular PetscPartitioner 
## Synopsis
```
#include "petscpartitioner.h" 
PetscErrorCode PetscPartitionerSetType(PetscPartitioner part, PetscPartitionerType name)
```
Collective on PetscPartitioner


## Input Parameters

- ***part -*** The PetscPartitioner object
- ***name -*** The kind of partitioner



## Options Database Key

- ***-petscpartitioner_type <type> -*** Sets the PetscPartitioner type; use -help for a list of available types



## Note
```none
PETSCPARTITIONERCHACO    - The Chaco partitioner (--download-chaco)
```
```none
PETSCPARTITIONERPARMETIS - The ParMetis partitioner (--download-parmetis)
```
```none
PETSCPARTITIONERSHELL    - A shell partitioner implemented by the user
```
```none
PETSCPARTITIONERSIMPLE   - A simple partitioner that divides cells into equal, contiguous chunks
```
```none
PETSCPARTITIONERGATHER   - Gathers all cells onto process 0
```




## See Also
 `PetscPartitionerGetType()`, `PetscPartitionerCreate()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/partitioner/interface/partitioner.c.html#PetscPartitionerSetType">src/dm/partitioner/interface/partitioner.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/partitioner/interface/partitioner.c)


[Index of all DM routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
