Skip to main content
`Ctrl`+`K`

# PetscLayoutCreateFromSizes

Allocates `PetscLayout` object and sets the layout sizes, and sets the layout up.

## Synopsis

    #include "petscis.h"
    PetscErrorCode PetscLayoutCreateFromSizes(MPI_Comm comm, PetscInt n, PetscInt N, PetscInt bs, PetscLayout *map)

Collective

## Input Parameters

- comm - the MPI communicator

- n - the local size (or `PETSC_DECIDE`)

- N - the global size (or `PETSC_DECIDE`)

- bs - the block size (or `PETSC_DECIDE`)

## Output Parameter

- map - the new `PetscLayout`

## Note

    PetscLayoutCreateFromSizes(comm, n, N, bs, &layout);

is a shorthand for

      PetscLayoutCreate(comm, &layout);
      PetscLayoutSetLocalSize(layout, n);
      PetscLayoutSetSize(layout, N);
      PetscLayoutSetBlockSize(layout, bs);
      PetscLayoutSetUp(layout);

## See Also

PetscLayout, `PetscLayoutCreate()`, `PetscLayoutSetLocalSize()`, `PetscLayoutSetSize()`, `PetscLayoutGetSize()`, `PetscLayoutGetLocalSize()`, `PetscLayout`, `PetscLayoutDestroy()`, `PetscLayoutGetRange()`, `PetscLayoutGetRanges()`, `PetscLayoutSetBlockSize()`, `PetscLayoutGetBlockSize()`, `PetscLayoutSetUp()`, `PetscLayoutCreateFromRanges()`

## 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