Skip to main content

KinetiCheck

Explicit transport-limitation screening for heterogeneous catalytic kinetics.

CI macOS License: BSD-3-Clause

A KinetiCheck batch envelope showing operating points below and above the declared Weisz-Prater threshold

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-5 Mears external-mass value reported in the electronic supplement to RSC article C5CY00934K.

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,s when 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

KinetiCheck is research decision-support software, not process-safety certification software.

Metadata

Release files for kineticheck 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kineticheck 0.1.0
File Size Uploaded
kineticheck-0.1.0.tar.gz 98.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kineticheck 0.1.0
File Interpreter ABI Platform
kineticheck-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 120.8 kB

Release files / kineticheck-0.1.0.tar.gz

Download URL kineticheck-0.1.0.tar.gz
Size 98.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a956cf1b00c69c7a9b7dbbc233e6db41973e3e64f73b765c1ef174d989b6867d
BLAKE2b-256 checksum
How to use checksums
03d8954d4f9ed83e14b0a4038c35c3366425e22273884ddb8036c79e6afa9087
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 23, 2026.

Transparency log

Release files / kineticheck-0.1.0-py3-none-any.whl

Download URL kineticheck-0.1.0-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca5fb17c174790dff810d42db575c69af342af8761d7ee62f9db51661e121708
BLAKE2b-256 checksum
How to use checksums
0315b8efb0e55ff72c760476731f465e48b7860e33739162b850d20540d1070d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page