MatMFFDComputeJacobian
Tells the matrix-free Jacobian object the new location at which Jacobian matrix vector products will be computed at, i.e. J(x) * a. The x is obtained from the SNES object (using SNESGetSolution()).
Synopsis
#include "petscsnes.h"
PetscErrorCode PETSCSNES_DLLEXPORT MatMFFDComputeJacobian(SNES snes,Vec x,Mat *jac,Mat *B,MatStructure *flag,void *dummy)
Collective on SNES
Input Parameters
| snes | - the nonlinear solver context
|
| x | - the point at which the Jacobian vector products will be performed
|
| jac | - the matrix-free Jacobian object
|
| B | - either the same as jac or another matrix type (ignored)
|
| flag | - not relevent for matrix-free form
|
| dummy | - the user context (ignored)
|
Warning
If MatMFFDSetBase() is ever called on jac then this routine will NO longer get
the x from the SNES object and MatMFFDSetBase() must from that point on be used to
change the base vector x.
Notes
This can be passed into SNESSetJacobian() when using a completely matrix-free solver,
that is the B matrix is also the same matrix operator. This is used when you select
-snes_mf but rarely used directly by users.
See Also
MatMFFDGetH(), MatCreateSNESMF(), MatCreateMFFD(), MATMFFD,
MatMFFDSetHHistory(),
MatMFFDKSPMonitor(), MatMFFDSetFunctionError(), MatMFFDCreate(), SNESSetJacobian()
Level:developer
Location:src/snes/mf/snesmfj.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages