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 - DMPLEXobject
- label - The label 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*(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 giving an - ISholding the field components to which each boundary condition applies
- bcPoints - An array of size numBC giving an - ISholding the- DMPLEXpoints to which each boundary condition applies
- perm - Optional permutation of the chart, or NULL 
Output Parameter#
- section - The - PetscSectionobject
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#
Examples#
src/dm/impls/plex/tutorials/ex6.c
src/dm/impls/plex/tutorials/ex14.c
src/dm/tutorials/ex21.c
src/dm/impls/plex/tutorials/ex1f90.F90
src/ts/tutorials/ex52.c
src/dm/impls/plex/tutorials/ex1.c
src/dm/tutorials/ex20.c
Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages