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#
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages