petsc-3.7.1 2016-05-15
Report Typos and Errors

TSSetI2Jacobian

Set the function to compute the matrix dF/dU + v*dF/dU_t + a*dF/dU_tt where F(t,U,U_t,U_tt) is the function you provided with TSSetI2Function().

Synopsis

#include "petscts.h"  
PetscErrorCode TSSetI2Jacobian(TS ts,Mat J,Mat P,TSI2Jacobian jac,void *ctx)
Logically Collective on TS Many br

Input Parameters

ts - the TS context obtained from TSCreate() Many br
J - Jacobian matrix Many br
P - preconditioning matrix for J (may be same as J) Many br
jac - the Jacobian evaluation routine Many br
ctx - user-defined context for private data for the Jacobian evaluation routine (may be NULL) Many br

Calling sequence of jac

 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 Many br
U - state vector Many br
U_t - time derivative of state vector Many br
U_tt - second time derivative of state vector Many br
v - shift for U_t Many br
a - shift for U_tt Many br
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 Many br
P - preconditioning matrix for J, may be same as J Many br
ctx - [optional] user-defined context for matrix evaluation routine Many br

Notes

The matrices J and P are exactly the matrices that are used by SNES for the nonlinear solve. Many br

The matrix dF/dU + v*dF/dU_t + a*dF/dU_tt you provide turns out to be Many brthe Jacobian of G(U) = F(t,U,W+v*U,W'+a*U) where F(t,U,U_t,U_tt) = 0 is the DAE to be solved. Many brThe time integrator internally approximates U_t by W+v*U and U_tt by W'+a*U where the positive "shift" Many brparameters 'v' and 'a' and vectors W, W' depend on the integration method, step size, and past states. Many br

Many br

Keywords

TS, timestep, set, ODE, DAE, Jacobian

See Also

TSSetI2Function()

Level:beginner
Location:
src/ts/interface/ts.c
Index of all TS routines
Table of Contents for all manual pages
Index of all manual pages