#include "petscsnes.h" #include "petscdm.h" PetscErrorCode SNESComputeJacobianDefaultColor(SNES snes,Vec x1,Mat J,Mat B,void *ctx)Collective on SNES
snes | - nonlinear solver object | |
x1 | - location at which to evaluate Jacobian | |
ctx | - MatFDColoring context or NULL |
J | - Jacobian matrix (not altered in this routine) | |
B | - newly computed Jacobian matrix to use with preconditioner (generally the same as J) |
-snes_fd_color_use_mat | - use a matrix coloring from the explicit matrix nonzero pattern instead of from the DM providing the matrix | |
-snes_fd_color | - Activates SNESComputeJacobianDefaultColor() in SNESSetFromOptions() | |
-mat_fd_coloring_err <err> | - Sets <err> (square root of relative error in the function) | |
-mat_fd_coloring_umin <umin> | - Sets umin, the minimum allowable u-value magnitude | |
-mat_fd_type | - Either wp or ds (see MATMFFD_WP or MATMFFD_DS) | |
-snes_mf_operator | - Use matrix free application of Jacobian | |
-snes_mf | - Use matrix free Jacobian with no explicit Jacobian representation |
SNES supports three approaches for computing (approximate) Jacobians: user provided via SNESSetJacobian(), matrix free via SNESSetUseMatrixFree(), and computing explicitly with finite differences and coloring using MatFDColoring. It is also possible to use automatic differentiation and the MatFDColoring object, see src/ts/tutorials/autodiff/ex16adj_tl.cxx