Analytical Jacobian, state transformations, and some other things for Zodiac
- analytical Jacobian implemented, public methods documented, called through reaction rates sensitivity method
- test of production rates computed in the analytical Jacobian vs cantera, and test of the Jacobian produced vs gold standards (in the source code, not external)
- timings 'test' of the analytical Jacobian, comparing kinetics calculations and linear algebra operations
- writeup of the derivation and calculation strategy
- state transformation matrices and sparse mat-mat methods implemented, public methods documented, and a test added
- mixture molecular weight modified to use mass or mole fractions, with enumeration to distinguish them, and default behavior for backwards compatibility
- species N behavior expanded and enumerated (default behavior ensures backwards compatibility) to enable clipping instead of throwing on out of bounds, or no behavior of species N
- reaction rate info moved to a separate class outside of ReactionRates
- added expressions that convert between mass and mole fractions
- added expressions that convert between volumetric (\rho\phi) and specific (\phi) quantities
Note for James on downstream dependencies: if ODT, LBMS, or Wasatch are using the SpeciesN
Expression
with non-default behavior (ERRORSPECN
in the new enumeration, which means throwing an error if Y_N goes out of bounds) then they will break. Your recent commit to disable the error would be overridden by this commit.