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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kineticheck-0.1.0.tar.gz (98.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kineticheck-0.1.0-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

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

Hashes for kineticheck-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a956cf1b00c69c7a9b7dbbc233e6db41973e3e64f73b765c1ef174d989b6867d
MD5 c794bfb645a5ca7f8ab6a0a06951a7fc
BLAKE2b-256 03d8954d4f9ed83e14b0a4038c35c3366425e22273884ddb8036c79e6afa9087

See more details on using hashes here.

Provenance

The following attestation bundles were made for kineticheck-0.1.0.tar.gz:

Publisher: publish.yml on hdkim99/KinetiCheck

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for kineticheck-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca5fb17c174790dff810d42db575c69af342af8761d7ee62f9db51661e121708
MD5 07a42cbe5d8abedb9944c075359a22c4
BLAKE2b-256 0315b8efb0e55ff72c760476731f465e48b7860e33739162b850d20540d1070d

See more details on using hashes here.

Provenance

The following attestation bundles were made for kineticheck-0.1.0-py3-none-any.whl:

Publisher: publish.yml on hdkim99/KinetiCheck

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page