:orphan: # DMPlexComputeClementInterpolant This function computes the L2 projection of the cellwise values of a function u onto P1 ## Synopsis ``` #include "petscdmplex.h" PetscErrorCode DMPlexComputeClementInterpolant(DM dm, Vec locX, Vec locC) ``` Collective ## Input Parameters - ***dm -*** The `DM` - ***locX -*** The coefficient vector u_h ## Output Parameter - ***locC -*** A `Vec` which holds the Clement interpolant of the function ## Note $ u_h(v_i) = \sum_{T_i \in support(v_i)} |T_i| u_h(T_i) / \sum_{T_i \in support(v_i)} |T_i| $ where $ |T_i| $ is the cell volume ## See Also [](ch_unstructured), `DM`, `DMPLEX`, `DMProjectFunction()`, `DMComputeL2Diff()`, `DMPlexComputeL2FieldDiff()`, `DMComputeL2GradientDiff()` ## Level developer ## Location src/dm/impls/plex/plexfem.c ## Examples src/snes/tutorials/ex36.c
--- [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](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)