Jacobian in TOUGH2-MP
Is it possible to extract Jacobian matrix from TOUGH2-MP at each iteration step?
Is it stored as sparse form?
It wound be great if there is a way I can call the Jacobian subroutine to compute the Jacobian for me, by taking any vector as input, e.g. J(x), and the output is a Jacobian matrix of sparse form. Anyone has done that?
The jacobian are being constructed explicitly so theoretically you can. But, there is currently no interface to do that. It is stored in a sparse format, but jacobian is constructed locally on each processor. Writing it out in a manner that makes sense will require some work.
If you are interested, the jacobian is contained with the "aval" variable after you call MULTI in Main_Comp.f90. For the exact format in which aval is stored, you can refer to the TOUGH2-MP user guide under section 3.