petsc-3.14.6 2021-03-30
Report Typos and Errors

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