petsc-3.10.5 2019-03-28
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 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

Examples

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

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