petsc-master 2015-10-05
Report Typos and Errors


Create a PetscSection based upon the dof layout specification provided.


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


mesh, elements

See Also

DMPlexCreate(), PetscSectionCreate(), PetscSectionSetPermutation()

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