Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic Column Breakthrough Simulator

A desktop application for simulating two-component, non-isothermal adsorption breakthrough in a packed column. Pick two gases and an adsorbent, set the operating conditions, and it solves the coupled mass, momentum and energy balances along the bed and plots the outlet response.

It runs entirely on your own machine. No account, no installer, no telemetry.

Current release: 2026.09v2 — Windows and Linux. A macOS build will follow.

📖 Full documentation is in the Wiki


Download and run

  1. Go to Releases and download BreakthroughSimulator-windows.exe (about 224 MB) for Windows 10/11, or BreakthroughSimulator-linux-x86_64.tar.gz (about 96 MB) for Linux (x86_64).

  2. Windows — double-click the .exe. Linux — extract the archive and run the launcher:

    tar -xzf BreakthroughSimulator-linux-x86_64.tar.gz
    cd BreakthroughSimulator-linux-x86_64
    ./run-breakthrough-simulator.sh
    

    Optionally ./install.sh once, from a permanent folder, to add it to your application menu.

  3. Your browser opens at http://127.0.0.1:8000 after a few seconds.

Nothing is installed, no administrator rights are requested, and no registry keys, services or startup entries are created. Delete the file or folder and it is gone. Close the browser tab and the background process exits within about half a minute.

The Linux download is a folder, not a single file — keep the extracted layout intact, the launcher needs BreakthroughSimulator/_internal/ beside it.

Expect on first run: Windows shows "Windows protected your PC" because the build is unsigned — click More info → Run anyway. The Windows build also takes a few extra seconds on every launch while roughly 200 MB of Python and scientific libraries unpack; the Linux build is already unpacked and starts immediately. Both are covered in Troubleshooting.

Verify your download against the SHA256SUMS published with each release:

certutil -hashfile BreakthroughSimulator-windows.exe SHA256      Windows
sha256sum -c SHA256SUMS                                          Linux

What it does

Simulates a single packed column carrying a binary gas mixture — the canonical case being CO₂/N₂ post-combustion capture — in either direction:

  • Adsorption (breakthrough). The bed starts clean and you watch the concentration and temperature fronts reach the outlet.
  • Desorption (purge). The bed starts saturated at feed equilibrium and clears under a purge at reduced pressure.

Six state variables are tracked in every cell — mole fraction of each component, total pressure, gas temperature, wall temperature, and adsorbed loading of each component — so the answer is genuinely dynamic rather than an equilibrium shortcut. The wall carries its own energy balance and thermal mass, which is why the temperature response outlasts the concentration front instead of tracking it.

Features

Physics

  • Coupled mass, momentum and energy balances, non-isothermal, with a separate wall energy balance
  • 11 isotherm models per component: Linear, Langmuir (SSL), Dual-Site Langmuir, Toth, Sips/Hill, Freundlich, Anti-Langmuir, Quadratic, BET, Type V, Sips+Henry
  • Mixture equilibrium by IAST (any model) or extended-Langmuir competitive mixing (SSL/DSL, faster)
  • 5 mass-transfer modes: macropore, film, micropore, combined (resistances in series, individually selectable), or a directly entered LDF constant
  • Ergun or Darcy momentum balance — Darcy runs ~3.4× faster where the inertial term is negligible
  • 13 gases, with noble gases correctly reduced to zero capacity
  • 5 adsorbent presets with properties traced to the source paper: Zeolite 13X, Activated Carbon, CALF-20, Mg-MOF-74, UTSA-16

Numerics

  • Finite volume with WENO reconstruction, 6N coupled ODEs
  • SUNDIALS CVODE (implicit BDF) with a sparse SuperLU_MT linear solver
  • 97 engine self-checks pass for every published build

Working with results

  • Breakthrough curves, normalised molar flow, temperature profiles, pressure, velocity, loading and wall temperature — against real time or dimensionless τ
  • Mass-balance closure reported against two independent references
  • Every dimensionless group computed and displayed per run
  • Save and reload complete cases as JSON; export a formatted report with equations, figures and citations
  • Overlay your own measured data (.csv / .xlsx) and score it with RMSE, MAE and R²

Documentation

Page
Using the App Quick start, every tab, saving cases, reports, overlaying your data
The Model Governing equations, dimensionless groups, numerics, verification
Isotherm Models All eleven models, IAST and competitive mixing
Mass Transfer LDF, resistances in series, the five modes
Adsorbent Presets The five presets and their sources
Limitations What it does not model
Privacy and Security What runs on your machine, and source availability
Troubleshooting SmartScreen, antivirus, checksums, startup failures
References Every source, and how to cite

Before you rely on it

  • Dry basis only — water vapour and humidity co-adsorption are not modelled.
  • Educational and exploratory use. Validate against your own data and apply engineering judgement before using results in design. The author accepts no liability for results applied beyond that purpose.

Full list: Limitations.

Privacy

Runs locally, bound to 127.0.0.1, unreachable from your network or the internet. No accounts, no analytics, no tracking. There is exactly one optional outbound request: if you turn it on, once a week the app asks api.github.com for the latest version number — a version number and nothing else. It is off until you say yes, and the app never downloads or runs code on its own.

See PRIVACY.md and SECURITY.md.

Source code

Not published yet; it will follow once the underlying work is written up. Until then the downloads are binaries only, and the SHA-256 fingerprints plus the requirements-lock.txt shipped with each release are what let you verify what you received. If you need the source sooner — for a review, an audit, or because your institution requires it — please open an issue and ask.

Licence

CC BY 4.0 — use, share and adapt with attribution. See LICENSE. Bundled components keep their own licences (Python, NumPy, SciPy, scikit-sundae, SUNDIALS, SuperLU_MT, FastAPI, uvicorn, KaTeX, SheetJS); full attributions are in the app under © Credits.

Citation

Anand, M. (2026). Dynamic Column Breakthrough Simulator (version 2026.09v2) [computer software]. https://github.com/Mk-learning-python07/dynamic-column-breakthrough

Please also cite the sources behind whichever preset and theory your result depends on — References.


Developed by Muthukrishnan Anand, with the assistance of Claude (Anthropic). Bug reports and questions: open an issue.

About

Two-component non-isothermal adsorption breakthrough simulator. Runs locally, no account, no telemetry.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors