DMTSSetIJacobian#

set TS Jacobian evaluation function

Synopsis#

#include "petscts.h" 
PetscErrorCode DMTSSetIJacobian(DM dm, TSIJacobian func, void *ctx)

Not Collective

Input Parameters#

  • 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);
  • ts - the TS context obtained from TSCreate()

  • 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+aU), equivalent to dF/dU + adF/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#

TS: Scalable ODE and DAE Solvers, TS, DM, DMTSSetContext(), TSSetRHSFunction(), DMTSGetJacobian(), TSSetIJacobian(), TSSetIFunction()

Level#

advanced

Location#

src/ts/utils/dmts.c


Edit on GitLab

Index of all TS routines
Table of Contents for all manual pages
Index of all manual pages