Skip to main content
`Ctrl`+`K`

# DMProjectFunctionLabelLocal

This projects the given function into the function space provided by the `DM`, putting the coefficients in a local vector, setting values only for points in the given label.

## Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMProjectFunctionLabelLocal(DM dm, PetscReal time, DMLabel label, PetscInt numIds, const PetscInt ids[], PetscInt Nc, const PetscInt comps[], PetscErrorCode (**funcs)(PetscInt dim, PetscReal time, const PetscReal x[], PetscInt Nc, PetscScalar *u, PetscCtx ctx), void **ctxs, InsertMode mode, Vec localX)

Not Collective

## Input Parameters

- dm - The `DM`

- time - The time

- label - The `DMLabel` selecting the portion of the mesh for projection

- numIds - The number of ids

- ids - The ids

- Nc - The number of components

- comps - The components

- funcs - The coordinate functions to evaluate, one per field

- ctxs - Optional array of contexts to pass to each coordinate function. ctxs itself may be null.

- mode - The insertion mode for values

## Output Parameter

- localX - vector

## Calling sequence of `funcs`

- dim - The spatial dimension

- time - The current time

- x - The coordinates

- Nc - The number of components

- u - The output field values

- ctx - optional function context

## Developer Notes

This API is specific to only particular usage of `DM`

The notes need to provide some information about what has to be provided to the `DM` to be able to perform the computation.

## See Also

DM Basics, `DM`, `DMProjectFunction()`, `DMProjectFunctionLocal()`, `DMProjectFunctionLabel()`, `DMComputeL2Diff()`

## Level

developer

## Location

src/dm/interface/dm.c

## Implementations

DMProjectFunctionLabelLocal_pforest(DM dm, PetscReal time, DMLabel label, PetscInt numIds, const PetscInt ids[], PetscInt Ncc, const PetscInt comps[], PetscErrorCode (**funcs)() in src/dm/impls/forest/p4est/pforest.h
DMProjectFunctionLabelLocal_Plex(DM dm, PetscReal time, DMLabel label, PetscInt numIds, const PetscInt ids[], PetscInt Ncc, const PetscInt comps[], PetscErrorCode (**funcs)() in src/dm/impls/plex/plexproject.c

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