MuKiP
The Multi-scale Kinetic modeling Platform (MuKiP) is a comprehensive software toolkit designed for addressing complex physicochemical processes at three-phase interfaces in heterogeneous catalysis, currently under development by Prof. Tao Wang’s group at Westlake University. It is written in Kotlin/Java and published on PyPI. The current release of this platform focuses on efficient descriptor-based microkinetic modeling and have implemented reactor kinetics. In the future, it will further enable multi-scale modules that integrate factors including mass transport. Designed for modular construction of multi-scale kinetic models, it aims to automate the assembly of systems of equations using algebraic modules and to solve them efficiently with advanced algorithms. The platform also provides open interfaces, allowing third-party developers to create and distribute custom addons.
Install
pip install mukip
If your device cannot connect to the internet, you need to manually download and extract the JRE as instructed.
System Requirements
- 64-bit OS Required: This application is designed exclusively for 64-bit systems.
⚠️ Known Issues
- macOS (Apple Silicon): This program has known stability issues when run natively on ARM64 architecture and may
cause random
SIGBUScrashes. To avoid this, always execute the program under x86_64 emulation by using thearch -x86_64prefix, e.g.,arch -x86_64 python your_script.py. It is crucial that all Python dependencies (such asmatplotlib) are also installed for x86_64. The simplest way is to open an x86_64 shell witharch -x86_64 /bin/zsh(or/bin/bash), then install all required packages viapip install -r requirements.txtinside that shell. This ensures both the program and its libraries run in the same x86_64 environment and prevents architecture mismatch issues.
Format of Setup file
The reaction network, parameters, and workflow are all defined in a setup file. The program initializes by reading this file. For the setup file specification, please refer to Format, or adapt the files in examples.
Examples
Example scripts demonstrating the usage of mukip are available in the GitHub repository.
The examples include:
- Basic model initialization and execution
- Running simulations with different samplers
- Accessing thermodynamic and kinetic results
- Plotting and data export
Obtain example data and scripts:
- Local copy (if you cloned the repository): src/examples/example.py
- Download from GitHub: Download examples
Test Data
The test data used in the examples is derived from these following publication:
DOI: 10.1016/j.jcat.2024.115749
DOI: 10.1021/cs200055d
DOI: 10.1021/jacs.5b12087
Citation
If you use this software in your research, please cite the following paper:
Yonghua Liu, Tao Wang. Sampling-Expansion Approach Enabling Efficient and Accurate Steady-State Solutions for Descriptor-Based Microkinetic Modeling. ACS Catal. 2026, 16 (19), 18966–18974. DOI: 10.1021/acscatal.1c04347
Future Plans
More advanced functionalities, including reactor kinetics modeling, electrochemical kinetics modeling, and continuum transport models, will soon be released also in a comprehensive and efficient way.
📜 License
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
(CC BY-NC-SA 4.0) license.
See the full text here: CC BY-NC-SA 4.0
Acknowledgement
The descriptor-based microkinetic modeling part was inspired by CatMAP. All implementations in this repository were written independently in Kotlin.
Metadata
Release files for mukip 0.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mukip-0.5.2.tar.gz | 10.1 MB | Without provenance | Details for mukip-0.5.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mukip-0.5.2-py3-none-any.whl | Python 3 | none | any | Details for mukip-0.5.2-py3-none-any.whl |
Total release size: 20.1 MB
Release files / mukip-0.5.2.tar.gz
| Download URL | mukip-0.5.2.tar.gz |
|---|---|
| Size | 10.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6917c904a79370fcd7d9bb2c7bebb1822a531e2ac9a91fb9dbeb85970e12bc9a
|
|
BLAKE2b-256 checksum How to use checksums |
8b1e63efd6719dfc8b3efecf03092f1523a46d53b11c7a9b7e2126ba5f277853
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.11
|
Release files / mukip-0.5.2-py3-none-any.whl
| Download URL | mukip-0.5.2-py3-none-any.whl |
|---|---|
| Size | 10.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ebb52280fab6fc3230c0eaf7e66ef1cbd7ef341d9ff3a9a910a44f436a374990
|
|
BLAKE2b-256 checksum How to use checksums |
4ce79bd23baaa607604628b401aa30ae1fe265ca421504b5440f448120f46cbd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.11
|
Security for mukip 0.5.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.