#include "petscdm.h" #include "petscdmlabel.h" #include "petscds.h" PetscErrorCode DMAddBoundary(DM dm, DMBoundaryConditionType type, const char name[], const char labelname[], PetscInt field, PetscInt numcomps, const PetscInt *comps, void (*bcFunc)(void), PetscInt numids, const PetscInt *ids, void *ctx)
dm | - The DM, with a PetscDS that matches the problem being constrained | |
type | - The type of condition, e.g. DM_BC_ESSENTIAL_ANALYTIC/DM_BC_ESSENTIAL_FIELD (Dirichlet), or DM_BC_NATURAL (Neumann) | |
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 |
-bc_<boundary name> <num> | - Overrides the boundary ids | |
-bc_<boundary name>_comp <num> | - Overrides the boundary components |