petsc-3.14.6 2021-03-30
SNESComputeJacobianDefault
Computes the Jacobian using finite differences.
Synopsis
#include "petscsnes.h"
PetscErrorCode SNESComputeJacobianDefault(SNES snes,Vec x1,Mat J,Mat B,void *ctx)
Collective on SNES
Input Parameters
| x1 | - compute Jacobian at this point
|
| ctx | - application's function context, as set with SNESSetFunction()
|
Output Parameters
| J | - Jacobian matrix (not altered in this routine)
|
| B | - newly computed Jacobian matrix to use with preconditioner (generally the same as J)
|
Options Database Key
| -snes_fd | - Activates SNESComputeJacobianDefault()
|
| -snes_test_err | - Square root of function error tolerance, default square root of machine
epsilon (1.e-8 in double, 3.e-4 in single)
|
| -mat_fd_type | - Either wp or ds (see MATMFFD_WP or MATMFFD_DS)
|
Notes
This routine is slow and expensive, and is not currently optimized
to take advantage of sparsity in the problem. Although
SNESComputeJacobianDefault() is not recommended for general use
in large-scale applications, It can be useful in checking the
correctness of a user-provided Jacobian.
An alternative routine that uses coloring to exploit matrix sparsity is
SNESComputeJacobianDefaultColor().
See Also
SNESSetJacobian(), SNESComputeJacobianDefaultColor(), MatCreateSNESMF()
Level
intermediate
Location
src/snes/interface/snesj.c
Examples
src/ts/tutorials/ex4.c.html
src/ts/tutorials/ex10.c.html
src/ts/tutorials/ex15.c.html
src/ts/tutorials/ex17.c.html
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages