petsc-3.3-p7 2013-05-11

SNESComputeJacobian

Computes the Jacobian matrix that has been set with SNESSetJacobian().

Synopsis

#include "petscsnes.h"  
#include "petscdmshell.h" 
#include "petscsys.h" 
PetscErrorCode  SNESComputeJacobian(SNES snes,Vec X,Mat *A,Mat *B,MatStructure *flg)
Collective on SNES and Mat

Input Parameters

snes - the SNES context
x - input vector

Output Parameters

A - Jacobian matrix
B - optional preconditioning matrix
flag - flag indicating matrix structure (one of, SAME_NONZERO_PATTERN,DIFFERENT_NONZERO_PATTERN,SAME_PRECONDITIONER)

Options Database Keys

-snes_lag_preconditioner <lag>- . -snes_lag_jacobian <lag>
-snes_compare_explicit - Compare the computed Jacobian to the finite difference Jacobian and output the differences
-snes_compare_explicit_draw - Compare the computed Jacobian to the finite difference Jacobian and draw the result
-snes_compare_explicit_contour - Compare the computed Jacobian to the finite difference Jacobian and draw a contour plot with the result
-snes_compare_operator - Make the comparison options above use the operator instead of the preconditioning matrix
-snes_compare_coloring - Compute the finite differece Jacobian using coloring and display norms of difference
-snes_compare_coloring_display - Compute the finite differece Jacobian using coloring and display verbose differences
-snes_compare_coloring_threshold - Display only those matrix entries that differ by more than a given threshold
-snes_compare_coloring_threshold_atol - Absolute tolerance for difference in matrix entries to be displayed by -snes_compare_coloring_threshold
-snes_compare_coloring_threshold_rtol - Relative tolerance for difference in matrix entries to be displayed by -snes_compare_coloring_threshold
-snes_compare_coloring_draw - Compute the finite differece Jacobian using coloring and draw differences
-snes_compare_coloring_draw_contour - Compute the finite differece Jacobian using coloring and show contours of matrices and differences

Notes

Most users should not need to explicitly call this routine, as it is used internally within the nonlinear solvers.

See KSPSetOperators() for important information about setting the flag parameter.

Keywords

SNES, compute, Jacobian, matrix

See Also

SNESSetJacobian(), KSPSetOperators(), MatStructure, SNESSetLagPreconditioner(), SNESSetLagJacobian()

Level:developer
Location:
src/snes/interface/snes.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages

Examples

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