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

# DMAddBoundary

Add a boundary condition to the model

### Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    PetscErrorCode DMAddBoundary(DM dm, PetscBool isEssential, const char name[], const char labelname[], PetscInt field, PetscInt numcomps, const PetscInt *comps, void (*bcFunc)(), PetscInt numids, const PetscInt *ids, void *ctx)

### Input Parameters

| dm | - The mesh object
| isEssential | - Flag for an essential (Dirichlet) condition, as opposed to a natural (Neumann) condition
| name | - The BC name
| labelname | - The label defining constrained points
| field | - The field to constrain
| numcomps | - The number of constrained field components
| comps | - An array of constrained component numbers
| bcFunc | - A pointwise function giving boundary values
| numids | - The number of DMLabel ids for constrained points
| ids | - An array of ids for constrained points
| ctx | - An optional user context for bcFunc

### Options Database Keys

| -bc_<boundary name> <num> | - Overrides the boundary ids
| -bc_<boundary name>_comp <num> | - Overrides the boundary components

### See Also

DMGetBoundary()

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

### Examples

src/snes/examples/tutorials/ex12.c.html
src/snes/examples/tutorials/ex62.c.html
src/snes/examples/tutorials/ex77.c.html
src/ts/examples/tutorials/ex11.c.html