:orphan: # 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 Parameter - ***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 `DM`, `DMSLICED`, `DMDestroy()`, `DMCreateGlobalVector()`, `DMSetType()`, `DMSLICED`, `DMSlicedSetGhosts()`, `DMSlicedSetPreallocation()`, `VecGhostUpdateBegin()`, `VecGhostUpdateEnd()`, `VecGhostGetLocalForm()`, `VecGhostRestoreLocalForm()` ## Level advanced ## Location src/dm/impls/sliced/sliced.c --- [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](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)