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