Skip to main content
`Ctrl`+`K`

# PetscDSGetBoundary

Gets a boundary condition from the model

## Synopsis

    #include "petscds.h"
    PetscErrorCode PetscDSGetBoundary(PetscDS ds, PetscInt bd, PetscWeakForm *wf, DMBoundaryConditionType *type, const char *name[], DMLabel *label, PetscInt *Nv, const PetscInt *values[], PetscInt *field, PetscInt *Nc, const PetscInt *comps[], PetscVoidFn **func, PetscVoidFn **func_t, void **ctx)

## Input Parameters

- ds - The `PetscDS` object

- bd - The boundary condition number

## Output Parameters

- wf - The `PetscWeakForm` holding the pointwise functions

- type - The type of condition, e.g. `DM_BC_ESSENTIAL`/`DM_BC_ESSENTIAL_FIELD` (Dirichlet), or `DM_BC_NATURAL` (Neumann)

- name - The boundary condition name

- label - The label defining constrained points

- Nv - The number of `DMLabel` ids for constrained points

- values - An array of ids for constrained points

- field - The field to constrain

- Nc - The number of constrained field components

- comps - An array of constrained component numbers

- func - A pointwise function giving boundary values

- func_t - A pointwise function giving the time derivative of the boundary values

- ctx - An optional user context for `bcFunc`

## See Also

`PetscDS`, `PetscWeakForm`, `DMBoundaryConditionType`, `PetscDSAddBoundary()`, `DMLabel`

## Level

developer

## Location

src/dm/dt/interface/dtds.c

## Examples

src/snes/tutorials/ex27.c
src/snes/tutorials/ex71.c
src/snes/tutorials/ex56.c
src/snes/tutorials/ex24.c
src/ts/tutorials/ex53.c
src/ts/tutorials/ex76.c
src/snes/tutorials/ex12.c
src/snes/tutorials/ex62.c
src/snes/tutorials/ex77.c
src/snes/tutorials/ex17.c

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