DMPlexCreateSection — PETSc 3.24.5 documentation

Skip to main content
`Ctrl`+`K`

# DMPlexCreateSection

Create a `PetscSection` based upon the dof layout specification provided.

## Synopsis

    #include "petscdmplex.h"
    PetscErrorCode DMPlexCreateSection(DM dm, DMLabel label[], const PetscInt numComp[], const PetscInt numDof[], PetscInt numBC, const PetscInt bcField[], const IS bcComps[], const IS bcPoints[], IS perm, PetscSection *section)

Not Collective

## Input Parameters

- dm - The `DMPLEX` object

- label - An array of `DMLabel` of length `numFields` indicating the mesh support of each field, or `NULL` for the whole mesh

- numComp - An array of size `numFields` that holds the number of components for each field

- numDof - An array of size \( numFields \time (dim+1)\) which holds the number of dof for each field on a mesh piece of dimension d

- numBC - The number of boundary conditions

- bcField - An array of size `numBC` giving the field number for each boundary condition

- bcComps - [Optional] An array of size `numBC` of `IS` holding the field components to which each boundary condition applies

- bcPoints - An array of size `numBC` of `IS` holding the `DMPLEX` points to which each boundary condition applies

- perm - Optional permutation of the chart, or `NULL`

## Output Parameter

- section - The `PetscSection` object

## Notes

numDof[f*(dim+1)+d] gives the number of dof for field f on points of dimension d. For instance, numDof[1] is the number of dof for field 0 on each edge.

The chart permutation is the same one set using `PetscSectionSetPermutation()`

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `DMPlexCreate()`, `PetscSectionCreate()`, `PetscSectionSetPermutation()`

## Level

developer

## Location

src/dm/impls/plex/plexsection.c

## Examples

src/dm/impls/plex/tutorials/ex1f90.F90
src/dm/impls/plex/tutorials/ex6.c
src/dm/impls/plex/tutorials/ex14f90.F90
src/dm/impls/plex/tutorials/ex14.c
src/ts/tutorials/ex52.c
src/dm/tutorials/ex20.c
src/dm/impls/plex/tutorials/ex1.c
src/dm/tutorials/ex21.c

Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages