petsc-3.7.3 2016-07-24
Report Typos and Errors

# DMPlexCreateSection

Create a PetscSection based upon the dof layout specification provided.

### Synopsis

    #include "petscdmplex.h"
    PetscErrorCode DMPlexCreateSection(DM dm, PetscInt dim, PetscInt numFields,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
| dim | - The spatial dimension of the problem
| numFields | - The number of fields in the problem
| numComp | - An array of size numFields that holds the number of components for each field
| numDof | - An array of size numFields*(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 boundry condition
| bcComps | - [Optional] An array of size numBC giving an IS holding the field components to which each boundary condition applies
| bcPoints | - An array of size numBC giving an IS holding the Plex 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 sieve 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()

### Fortran Notes

A Fortran 90 version is available as DMPlexCreateSectionF90()

### Keywords

mesh, elements

### See Also

DMPlexCreate(), PetscSectionCreate(), PetscSectionSetPermutation()

Level:developer
Location: src/dm/impls/plex/plex.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/dm/impls/plex/examples/tutorials/ex1.c.html
src/dm/impls/plex/examples/tutorials/ex1f90.F.html