PCPatchSetComputeFunction#

Set the callback used to compute patch residuals

Synopsis#

#include "petscpc.h" 
#include "petscmat.h" 
PetscErrorCode PCPatchSetComputeFunction(PC pc, PetscErrorCode (*func)(PC, PetscInt, Vec, Vec, IS, PetscInt, const PetscInt *, const PetscInt *, void *), void *ctx)

Logically Collective

Input Parameters#

  • pc - The PC

  • func - The callback

  • ctx - The user context

Calling sequence of func#

PetscErrorCode func(PC pc, PetscInt point, Vec x, Vec f, IS cellIS, PetscInt n, const PetscInt* dofsArray, const PetscInt* dofsArrayWithAll, void* ctx)
  • pc - The PC

  • point - The point

  • x - The input solution (not used in linear problems)

  • f - The patch residual vector

  • cellIS - An array of the cell numbers

  • n - The size of dofsArray

  • dofsArray - The dofmap for the dofs to be solved for

  • dofsArrayWithAll - The dofmap for all dofs on the patch

  • ctx - The user context

Note#

The entries of F (the output residual vector) have been set to zero before the call.

See Also#

PCPatchSetComputeOperator(), PCPatchGetComputeOperator(), PCPatchSetDiscretisationInfo(), PCPatchSetComputeFunctionInteriorFacets()

Level#

advanced

Location#

src/ksp/pc/impls/patch/pcpatch.c


Edit on GitLab

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