petsc-3.14.6 2021-03-30
Report Typos and Errors

DMPlexInsertBoundaryValuesEssentialBdField

Insert boundary values into a local vector using a function of the coodinates 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 on dm

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 bcFunc

Output Parameter

locX - A local vector to receive the boundary values

See Also

DMProjectBdFieldLabelLocal(), DMPlexInsertBoundaryValuesEssential(), DMPlexInsertBoundaryValuesEssentialField(), DMAddBoundary()

Level

developer

Location

src/dm/impls/plex/plexfem.c
Index of all DMPLEX routines
Table of Contents for all manual pages
Index of all manual pages