# DMPlexInsertBoundaryValuesRiemann
Insert boundary values into a local vector 
## Synopsis
```
#include "petscdmplex.h"   
PetscErrorCode DMPlexInsertBoundaryValuesRiemann(DM dm, PetscReal time, Vec faceGeometry, Vec cellGeometry, Vec Grad, PetscInt field, PetscInt Nc, const PetscInt comps[], DMLabel label, PetscInt numids, const PetscInt ids[], PetscErrorCode (*func)(PetscReal, const PetscReal *, const PetscReal *, const PetscScalar *, PetscScalar *, void *), void *ctx, Vec locX)
```

## Input Parameters

- ***dm     -*** The `DM`, with a `PetscDS` that matches the problem being constrained
- ***time   -*** The time
- ***faceGeometry -*** A vector with the FVM face geometry information
- ***cellGeometry -*** A vector with the FVM cell geometry information
- ***Grad         -*** A vector with the FVM cell gradient information
- ***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
- ***ctx    -*** An optional user context for bcFunc



## Output Parameter

- ***locX   -*** A local vector to receives the boundary values





## Note
This implementation currently ignores the numcomps/comps argument from `DMAddBoundary()`


## See Also
 [](chapter_unstructured), `DM`, `DMPLEX`, `DMPlexInsertBoundaryValuesEssential()`, `DMPlexInsertBoundaryValuesEssentialField()`, `DMAddBoundary()`

## Level
developer

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/plexfem.c.html#DMPlexInsertBoundaryValuesRiemann">src/dm/impls/plex/plexfem.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/plexfem.c)


[Index of all DMPlex routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
