petsc-3.14.6 2021-03-30
DMTSSetIJacobian
set TS Jacobian evaluation function
Synopsis
#include "petscts.h"
PetscErrorCode DMTSSetIJacobian(DM dm,TSIJacobian func,void *ctx)
Not Collective
Input Argument
| dm | - DM to be used with TS
|
| func | - Jacobian evaluation routine
|
| ctx | - context for residual evaluation
|
Calling sequence of f
PetscErrorCode f(TS ts,PetscReal t,Vec U,Vec U_t,PetscReal a,Mat Amat,Mat Pmat,void *ctx);
| t | - time at step/stage being solved
|
| U | - state vector
|
| U_t | - time derivative of state vector
|
| a | - shift
|
| Amat | - (approximate) Jacobian of F(t,U,W+a*U), equivalent to dF/dU + a*dF/dU_t
|
| Pmat | - matrix used for constructing preconditioner, usually the same as Amat
|
| ctx | - [optional] user-defined context for matrix evaluation routine
|
Note
TSSetJacobian() is normally used, but it calls this function internally because the user context is actually
associated with the DM. This makes the interface consistent regardless of whether the user interacts with a DM or
not. If DM took a more central role at some later date, this could become the primary method of setting the Jacobian.
See Also
DMTSSetContext(), TSSetRHSFunction(), DMTSGetJacobian(), TSSetIJacobian(), TSSetIFunction()
Level
advanced
Location
src/ts/utils/dmts.c
Index of all TS routines
Table of Contents for all manual pages
Index of all manual pages