# DMSlicedCreate
Creates a DM object, used to manage data for a unstructured problem 
## Synopsis
```
#include "petscdmsliced.h" 
PetscErrorCode DMSlicedCreate(MPI_Comm comm, PetscInt bs, PetscInt nlocal, PetscInt Nghosts, const PetscInt ghosts[], const PetscInt d_nnz[], const PetscInt o_nnz[], DM *dm)
```
Collective


## Input Parameters

- ***comm -*** the processors that will share the global vector
- ***bs -*** the block size
- ***nlocal -*** number of vector entries on this process
- ***Nghosts -*** number of ghost points needed on this process
- ***ghosts -*** global indices of all ghost points for this process
- ***d_nnz -*** matrix preallocation information representing coupling within this process
- ***o_nnz -*** matrix preallocation information representing coupling between this process and other processes



## Output Parameters

- ***slice -*** the slice object



## Notes
This DM does not support DMCreateLocalVector(), DMGlobalToLocalBegin(), and DMGlobalToLocalEnd() instead one directly uses
VecGhostGetLocalForm() and VecGhostRestoreLocalForm() to access the local representation and VecGhostUpdateBegin() and VecGhostUpdateEnd() to update
the ghost points.

One can use DMGlobalToLocalBegin(), and DMGlobalToLocalEnd() instead of VecGhostUpdateBegin() and VecGhostUpdateEnd().




## See Also
`DMDestroy()`, `DMCreateGlobalVector()`, `DMSetType()`, `DMSLICED`, `DMSlicedSetGhosts()`, `DMSlicedSetPreallocation()`, `VecGhostUpdateBegin()`, `VecGhostUpdateEnd()`,
`VecGhostGetLocalForm()`, `VecGhostRestoreLocalForm()`


## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/sliced/sliced.c.html#DMSlicedCreate">src/dm/impls/sliced/sliced.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/sliced/sliced.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)  
