petsc-3.12.4 2020-02-04
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