Chris,
You might be surprised, but where Cantera needs Jacobians internally, they are computed by finite difference. Making these internally-used Jacobians available would be a bit difficult.
In the case of reactor networks, the Jacobian is evaluated internally by CVODES, and I don’t think that CVODES provides an interface for accessing this matrix. In fact, I don’t think it really stores it for any length of time — I expect that it justs evaluate the Jacobian and then immediately factorizes it in-place.
In the case of the 1D solver, the Jacobian matrix is available via the C++ interface, via the jacobian()
method of class OneDim
(but again, the matrix is often in its factorized form). However, making this available in Python is non-trivial since I don’t think Numpy has a data structure equivalent to the BandMatrix
class.
Regards,
Ray
On Monday, February 12, 2018 at 3:36:10 PM UTC-5, Christopher Mauney wrote: