TSComputeIJacobianConstant#
Reuses the matrix previously computed with the provided TSIJacobian()
for a semi-implicit DAE or ODE
Synopsis#
#include "petscts.h"
PetscErrorCode TSComputeIJacobianConstant(TS ts, PetscReal t, Vec U, Vec Udot, PetscReal shift, Mat A, Mat B, void *ctx)
Collective
Input Parameters#
ts - time stepping context
t - time at which to evaluate
U - state at which to evaluate
Udot - time derivative of state vector
shift - shift to apply
ctx - context
Output Parameters#
A - pointer to operator
B - pointer to preconditioning matrix
Notes#
This function is intended to be passed to TSSetIJacobian()
to evaluate the Jacobian for linear time-independent problems.
It is only appropriate for problems of the form
M Udot = F(U,t)
where M is constant and F is non-stiff. The user must pass M to TSSetIJacobian()
. The current implementation only
works with IMEX time integration methods such as TSROSW
and TSARKIMEX
, since there is no support for de-constructing
an implicit operator of the form
shift*M + J
where J is the Jacobian of -F(U). Support may be added in a future version of PETSc, but for now, the user must store a copy of M or reassemble it when requested.
See Also#
TS: Scalable ODE and DAE Solvers, TS
, TSROSW
, TSARKIMEX
, TSSetIFunction()
, TSSetIJacobian()
, TSComputeIFunctionLinear()
Level#
advanced
Location#
Index of all TS routines
Table of Contents for all manual pages
Index of all manual pages