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

MatMFFDSetFunction

Sets the function used in applying the matrix free.

Synopsis

#include "petscmat.h"   
PetscErrorCode  MatMFFDSetFunction(Mat mat,PetscErrorCode (*func)(void*,Vec,Vec),void *funcctx)
Logically Collective on Mat

Input Parameters

mat - the matrix free matrix created via MatCreateSNESMF() or MatCreateMFFD()
func - the function to use
funcctx - optional function context passed to function

Calling Sequence of func

    func (void *funcctx, Vec x, Vec f)

funcctx - user provided context
x - input vector
f - computed output function

Notes

If you use this you MUST call MatAssemblyBegin()/MatAssemblyEnd() on the matrix free matrix inside your compute Jacobian routine

If this is not set then it will use the function set with SNESSetFunction() if MatCreateSNESMF() was used.

Keywords

SNES, matrix-free, function

See Also

MatCreateSNESMF(),MatMFFDGetH(), MatCreateMFFD(), MATMFFD,
MatMFFDSetHHistory(), MatMFFDResetHHistory(), SNESetFunction()

Level

advanced

Location

src/mat/impls/mffd/mffd.c

Examples

src/snes/examples/tutorials/ex22.c.html

Implementations

MatMFFDSetFunction_MFFD(Mat mat,PetscErrorCode (*func) in src/mat/impls/mffd/mffd.c

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