petsc-3.11.4 2019-09-28
Report Typos and Errors

DMComputeL2GradientDiff

This function computes the L_2 difference between the gradient of a function u and an FEM interpolant solution grad u_h.

Synopsis

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

Input Parameters

dm - The DM , time - The time
funcs - The gradient 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
n - The vector to project along

Output Parameter

diff -The diff ||(grad u - grad u_h) . n||_2

See Also

DMProjectFunction(), DMComputeL2Diff()

Level

developer

Location

src/dm/interface/dm.c

Implementations

DMComputeL2GradientDiff_DA(DM dm, PetscReal time, PetscErrorCode (**funcs) in src/dm/impls/da/dalocal.c
DMComputeL2GradientDiff_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