petsc-3.14.6 2021-03-30
Report Typos and Errors

PetscLayoutCreate

Allocates PetscLayout space and sets the PetscLayout contents to the default.

Synopsis

#include "petscis.h" 
PetscErrorCode PetscLayoutCreate(MPI_Comm comm,PetscLayout *map)
Collective

Input Parameters

comm - the MPI communicator

Output Parameters

map - the new PetscLayout

Notes

Typical calling sequence
       PetscLayoutCreate(MPI_Comm,PetscLayout *);
       PetscLayoutSetBlockSize(PetscLayout,bs);
       PetscLayoutSetSize(PetscLayout,N); // or PetscLayoutSetLocalSize(PetscLayout,n);
       PetscLayoutSetUp(PetscLayout);
Alternatively,
     PetscLayoutCreateFromSizes(comm,n,N,bs,&layout);

Optionally use any of the following

PetscLayoutGetSize(PetscLayout,PetscInt *);
PetscLayoutGetLocalSize(PetscLayout,PetscInt *);
PetscLayoutGetRange(PetscLayout,PetscInt *rstart,PetscInt *rend);
PetscLayoutGetRanges(PetscLayout,const PetscInt *range[]);
PetscLayoutDestroy(PetscLayout*);

The PetscLayout object and methods are intended to be used in the PETSc Vec and Mat implementions; it is often not needed in user codes unless you really gain something in their use.

See Also

PetscLayoutSetLocalSize(), PetscLayoutSetSize(), PetscLayoutGetSize(), PetscLayoutGetLocalSize(), PetscLayout, PetscLayoutDestroy(),
PetscLayoutGetRange(), PetscLayoutGetRanges(), PetscLayoutSetBlockSize(), PetscLayoutGetBlockSize(), PetscLayoutSetUp(), PetscLayoutCreateFromSizes()

Level

advanced

Location

src/vec/is/utils/pmap.c
Index of all IS routines
Table of Contents for all manual pages
Index of all manual pages