KinetiCheck
Explicit transport-limitation screening for heterogeneous catalytic kinetics.
KinetiCheck answers a deliberately limited question: do the selected classical criteria detect a significant internal/external heat- or mass-transfer limitation under the stated properties and assumptions? A passing screen is not proof of intrinsic kinetics.
Why
Published checks often hide whether a rate was per catalyst mass, pellet volume, or bed volume; whether diameter or radius was used; and whether a bulk concentration stood in for the pellet-surface concentration. KinetiCheck makes those choices machine-readable and includes them in the export.
Install
python -m venv .venv
source .venv/bin/activate
python -m pip install kineticheck
Until the first PyPI release, install from source with python -m pip install .. Plot export is optional:
python -m pip install "kineticheck[plot]". The Tkinter GUI has no third-party GUI dependency, but the
Python installation must include Tk.
30-second example
kineticheck evaluate examples/operating_point.json
kineticheck batch examples/operating_points.csv --output results.xlsx
kineticheck plot examples/operating_points.csv --criterion C_WP --output envelope.svg
python -m kineticheck.gui
The included example gives C_WP = 0.02, C_MM = 0.01, C_MH ≈ 0.02138, and
C_AH ≈ 0.01069. Its inputs are pedagogical, not a real catalyst dataset.
Scientific basis
| Screen | Implemented dimensionless form | Default comparison |
|---|---|---|
| Weisz–Prater internal mass | C_WP = abs(r_obs,V) R_p² / (D_eff C_A,s) |
C_WP < 0.30 |
| Mears external mass | C_MM = abs(r_obs,V) R_p abs(n) / (k_c C_A,b) |
C_MM < 0.15 |
| Mears external heat | C_MH = abs(ΔH_r) abs(r_obs,V) R_p E_a / (h R_g T_b²) |
C_MH < 0.15 |
| Anderson internal heat | C_AH = abs(ΔH_r) abs(r_obs,V) R_p² E_a / (λ_eff R_g T_s²) |
C_AH < 0.75 |
Each result records its equation, reference, assumptions, threshold, and convention. Thresholds may be overridden explicitly. The detailed discussion in Scientific definitions documents formulation differences rather than presenting a threshold as universal.
Rate basis and units
Pint distinguishes, among others, mol kgcat^-1 s^-1, mol gcat^-1 h^-1, and
mol m^-3 s^-1, as well as m, mm, µm, Pa, bar, J mol^-1, and kJ mol^-1.
Mass-catalyst rates require an apparent pellet density. Bed-volume rates require a bed void fraction.
No implicit conversion between those bases is allowed.
Validation
- Four-criterion hand calculation with exact intermediate values.
- Boundary, invalid physical input, mixed-unit, rate-basis, batch CSV/XLSX, CLI, export, and GUI lifecycle tests.
- Independent reproduction of the
3.910e-5Mears external-mass value reported in the electronic supplement to RSC articleC5CY00934K.
No suitably licensed full public operating-point dataset has yet been adopted; real-data dataset validation is pending. The literature-point reproduction is not described as dataset validation. See validation.
GUI and supported platforms
The GUI uses standard-library Tkinter/ttk. Qt, PyQt, PySide, and PyQtGraph are not dependencies.
The core/CLI import path does not import Tkinter or matplotlib. Matplotlib is imported only by the
plot command and uses Agg; the Tk GUI currently displays tabular results and therefore does not
select a matplotlib GUI backend.
- Python package metadata: 3.10–3.14; GUI smoke verified on Python 3.12 and 3.14
- Linux: scientific CI on the repository DGX ARM64 runner
- macOS: 15.7.7 hosted and 27.0 local, both on Apple Silicon; older versions are not yet verified
- Architectures: ARM64 is tested; Intel macOS remains not verified
Run python -m kineticheck.gui --smoke-test to exercise window creation, core calculation, JSON
export, close, and process exit. See macOS notes.
Limitations
- KinetiCheck screens supplied properties; it does not estimate diffusivity, transfer coefficients, conductivity, or reaction order with unreviewed correlations.
- Classical local criteria do not replace particle-size/flow-rate experiments, detailed pellet models, reactor energy balances, or uncertainty analysis.
- A bulk concentration may only stand in for
C_A,swhen the researcher explicitly accepts that assumption. - Complex rate laws, strong product inhibition, multiphase wetting, non-spherical characteristic lengths, and coupled runaway behavior can lie outside the implemented screens.
- No confidence interval is fabricated from deterministic criteria.
Documentation
- Scientific definitions and references
- Batch schema
- Validation record
- Naming and competitive audit
- macOS and GUI policy
- Contributing
KinetiCheck is research decision-support software, not process-safety certification software.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kineticheck-0.1.0.tar.gz.
File metadata
- Download URL: kineticheck-0.1.0.tar.gz
- Upload date:
- Size: 98.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a956cf1b00c69c7a9b7dbbc233e6db41973e3e64f73b765c1ef174d989b6867d
|
|
| MD5 |
c794bfb645a5ca7f8ab6a0a06951a7fc
|
|
| BLAKE2b-256 |
03d8954d4f9ed83e14b0a4038c35c3366425e22273884ddb8036c79e6afa9087
|
Provenance
The following attestation bundles were made for kineticheck-0.1.0.tar.gz:
Publisher:
publish.yml on hdkim99/KinetiCheck
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kineticheck-0.1.0.tar.gz -
Subject digest:
a956cf1b00c69c7a9b7dbbc233e6db41973e3e64f73b765c1ef174d989b6867d - Sigstore transparency entry: 2571202254
- Sigstore integration time:
-
Permalink:
hdkim99/KinetiCheck@d4b88a28ffa98f9585de20b37a33af43ee383acc -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/hdkim99
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d4b88a28ffa98f9585de20b37a33af43ee383acc -
Trigger Event:
push
-
Statement type:
File details
Details for the file kineticheck-0.1.0-py3-none-any.whl.
File metadata
- Download URL: kineticheck-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca5fb17c174790dff810d42db575c69af342af8761d7ee62f9db51661e121708
|
|
| MD5 |
07a42cbe5d8abedb9944c075359a22c4
|
|
| BLAKE2b-256 |
0315b8efb0e55ff72c760476731f465e48b7860e33739162b850d20540d1070d
|
Provenance
The following attestation bundles were made for kineticheck-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on hdkim99/KinetiCheck
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kineticheck-0.1.0-py3-none-any.whl -
Subject digest:
ca5fb17c174790dff810d42db575c69af342af8761d7ee62f9db51661e121708 - Sigstore transparency entry: 2571202324
- Sigstore integration time:
-
Permalink:
hdkim99/KinetiCheck@d4b88a28ffa98f9585de20b37a33af43ee383acc -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/hdkim99
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d4b88a28ffa98f9585de20b37a33af43ee383acc -
Trigger Event:
push
-
Statement type: