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

# 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 Arguments

| 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);

| 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+v*U,W'+a*U), equivalent to dF/dU + v*dF/dU_t + a*dF/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

TSSetI2Jacobian()

### 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