PETSc version 3.17.5
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 *iremote)
Collective
Input Parameters
| sf | - star forest
|
| layout | - PetscLayout defining the global space for roots
|
| nleaves | - 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
|
| iremote | - root vertices in global numbering corresponding to leaves in ilocal
|
Notes
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
PetscSFCreate(), PetscSFView(), PetscSFSetGraph(), PetscSFGetGraph()
Level
intermediate
Location
src/vec/is/sf/utils/sfutils.c
Index of all PetscSF routines
Table of Contents for all manual pages
Index of all manual pages