petsc-3.12.5 2020-03-29
Report Typos and Errors

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

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