Releases: gusmaogabriels/mkin4py
Release list
mkin4py 2.0.0 — JAX microkinetics on PyPI
mkin4py 2.0.0 brings the JAX implementation to PyPI. A normal upgrade now installs the current solver instead of the legacy 2015 release.
python -m pip install --upgrade mkin4pyRequires Python 3.11 or later. JAX is installed as a dependency.
- JIT-compiled QMR/Newton and RK4 steady-state solving, with the original model configuration API and analytic derivatives.
- Forward- and reverse-mode steady-state sensitivities, including
jit,grad,jacfwd,jacrev,hessianandvmapsupport. - Local JSON CLI for model setup and solving, and opt-in local usage counts with reliable concurrent writes.
- Updated installation instructions and PyPI publishing through the repository's trusted release workflow.
Validation covers the historical ethylene epoxidation example, independent adsorption equilibria and sensitivities, solver failure behavior, and the local CLI. Release CI checks Linux with Python 3.11–3.13, macOS and Windows with Python 3.12, and the minimum JAX dependency. The wheel and source archive are checked with Twine, and the installed wheel is exercised outside the source tree.
The solver retains one normalized surface balance; RK4 integrates the Newton correction flow rather than physical time. Sensitivities require a converged isolated root with a nonsingular reduced Jacobian. See JAX execution and compatibility for details.
mkin4py 2.0.0a1 — JAX microkinetics and local CLI
JAX prerelease of the original microkinetic catalytic-system package.
- Preserves Environment/MKmodel configuration, analytic derivatives, QMR/Newton corrections and RK4 steady-state solving.
- Adds the local JSON CLI:
mkin4py methods --json,mkin4py example --json, andmkin4py solve model.json --json. - Fixes current array compatibility, Hessian corrections, index validation and consistent nonconvergence results.
- Tests the original ethylene epoxidation README example, analytic adsorption, autodiff derivatives and QMR against SciPy.
- Keeps original theory and examples, with JAX imports and explicit 64-bit precision for stiff kinetics.
Requires Python >=3.11 and JAX >=0.4.38. The CLI runs locally. Compilation, warm kernel execution, Python API time and a fresh CLI process are measured separately.
This is an alpha release. The compiled steady-state loop does not provide reverse-mode differentiation through the entire solve; the pure rate kernels support autodiff. max_time is checked between compiled attempts. See docs/jax.md for usage and compatibility details.
Bug fix
Fixed a bug that would lead to improper vector multiplication when handling a list and a numpy-array.
mkin4py v1.0
Update README.md