DMComputeL2FieldDiff#

This function computes the L_2 difference between a function u and an FEM interpolant solution u_h, separated into field components.

Synopsis#

#include "petscdm.h"          
#include "petscdmlabel.h"     
#include "petscds.h"     
PetscErrorCode DMComputeL2FieldDiff(DM dm, PetscReal time, PetscErrorCode (**funcs)(PetscInt, PetscReal, const PetscReal[], PetscInt, PetscScalar *, void *), void **ctxs, Vec X, PetscReal diff[])

Collective

Input Parameters#

  • dm - The DM

  • time - The time

  • funcs - The functions to evaluate for each field component

  • ctxs - Optional array of contexts to pass to each function, or NULL.

  • X - The coefficient vector u_h, a global vector

Output Parameter#

  • diff - The array of differences, ||u^f - u^f_h||_2

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(), DMComputeL2GradientDiff()

Level#

developer

Location#

src/dm/interface/dm.c

Examples#

src/ts/tutorials/ex77.c
src/ts/tutorials/ex46.c
src/ts/tutorials/ex53.c
src/snes/tutorials/ex63.c
src/ts/tutorials/ex76.c

Implementations#

DMComputeL2FieldDiff_pforest(DM dm, PetscReal time, PetscErrorCode (**funcs)() in src/dm/impls/forest/p4est/pforest.h
DMComputeL2FieldDiff_Plex(DM dm, PetscReal time, PetscErrorCode (**funcs)() in src/dm/impls/plex/plexfem.c


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