PetscSFSetGraphLayout#
Set a parallel star forest via global indices and a PetscLayout
Synopsis#
#include "petscsf.h"
PetscErrorCode PetscSFSetGraphLayout(PetscSF sf, PetscLayout layout, PetscInt nleaves, PetscInt *ilocal, PetscCopyMode localmode, const PetscInt *gremote)
Collective
Input Parameters#
sf - star forest
layout -
PetscLayout
defining the global space for rootsnleaves - number of leaf vertices on the current process, each of these references a root on any process
ilocal - locations of leaves in leafdata buffers, pass NULL for contiguous storage
localmode - copy mode for ilocal
gremote - root vertices in global numbering corresponding to leaves in ilocal
Note#
Global indices must lie in [0, N) where N is the global size of layout.
Leaf indices in ilocal get sorted; this means the user-provided array gets sorted if localmode is PETSC_OWN_POINTER
.
Developer Notes#
Local indices which are the identity permutation in the range [0,nleaves) are discarded as they
encode contiguous storage. In such case, if localmode is PETSC_OWN_POINTER
, the memory is deallocated as it is not
needed
See Also#
PetscSF
, PetscSFGetGraphLayout()
, PetscSFCreate()
, PetscSFView()
, PetscSFSetGraph()
, PetscSFGetGraph()
Level#
intermediate
Location#
Index of all PetscSF routines
Table of Contents for all manual pages
Index of all manual pages