DMPlexInsertBoundaryValuesEssentialBdField#

Insert boundary values into a local vector using a function of the coordinates and boundary field data

Synopsis#

#include "petscdmplex.h"   
PetscErrorCode DMPlexInsertBoundaryValuesEssentialBdField(DM dm, PetscReal time, Vec locU, PetscInt field, PetscInt Nc, const PetscInt comps[], DMLabel label, PetscInt numids, const PetscInt ids[], void (*func)(PetscInt, PetscInt, PetscInt, const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), void *ctx, Vec locX)

Collective

Input Parameters#

  • dm - The DM, with a PetscDS that matches the problem being constrained

  • time - The time

  • locU - A local vector with the input solution values

  • field - The field to constrain

  • Nc - The number of constrained field components, or 0 for all components

  • comps - An array of constrained component numbers, or NULL for all components

  • label - The DMLabel defining constrained points

  • numids - The number of DMLabel ids for constrained points

  • ids - An array of ids for constrained points

  • func - A pointwise function giving boundary values, the calling sequence is given in DMProjectBdFieldLabelLocal()

  • ctx - An optional user context for func

Output Parameter#

  • locX - A local vector to receive the boundary values

See Also#

DMPlex: Unstructured Grids, DM, DMPLEX, DMProjectBdFieldLabelLocal(), DMPlexInsertBoundaryValuesEssential(), DMPlexInsertBoundaryValuesEssentialField(), DMAddBoundary()

Level#

developer

Location#

src/dm/impls/plex/plexfem.c


Edit on GitLab

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