#include "petscfe.h" PetscErrorCode PetscDualSpaceApplyFVM(PetscDualSpace sp, PetscInt f, PetscReal time, PetscFVCellGeom *cgeom, PetscInt Nc, PetscErrorCode (*func)(PetscInt, PetscReal, const PetscReal [], PetscInt, PetscScalar *, void *), void *ctx, PetscScalar *value)
| sp | - The PetscDualSpace object | |
| f | - The basis functional index | |
| time | - The time | |
| cgeom | - A context with geometric information for this cell, we currently just use the centroid | |
| Nc | - The number of components for the function | |
| func | - The input function | |
| ctx | - A context for the function |
func(PetscInt dim, PetscReal time, const PetscReal x[],
PetscInt numComponents, PetscScalar values[], void *ctx)
and the idea is to evaluate the functional as an integral
n(f) = int dx n(x) . f(x)
where both n and f have Nc components.