DMTSSetI2Jacobian#

set TS implicit Jacobian evaluation function for 2nd order systems

Synopsis#

#include "petscts.h" 
PetscErrorCode DMTSSetI2Jacobian(DM dm, TSI2Jacobian jac, void *ctx)

Not Collective

Input Parameters#

  • dm - DM to be used with TS

  • fun - Jacobian evaluation routine

  • ctx - context for Jacobian evaluation

Calling sequence of jac#

PetscErrorCode jac(TS ts, PetscReal t, Vec U, Vec U_t, Vec U_tt, PetscReal v, PetscReal a, Mat J, Mat P, 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

  • U_tt - second time derivative of state vector

  • v - shift for U_t

  • a - shift for U_tt

  • J - Jacobian of G(U) = F(t,U,W+vU,W’+aU), equivalent to dF/dU + vdF/dU_t + adF/dU_tt

  • P - preconditioning matrix for J, may be same as J

  • ctx - [optional] user-defined context for matrix evaluation routine

Note#

TSSetI2Jacobian() is normally used, but it calls this function internally because the user context is actually associated with the DM.

See Also#

TS: Scalable ODE and DAE Solvers, DM, TS, TSSetI2Jacobian()

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