Skip to main content

Crate stages_thermo

Crate stages_thermo 

Source
Expand description

§stages-thermo — a staged-separation (distillation) column solver

stages-thermo is a learning library and a fast steady-state column engine for staged separations. It walks the full pedagogical ladder — McCabe–Thiele → Ponchon–Savarit → Fenske–Underwood–Gilliland shortcut → rigorous MESH (Wang–Henke, Burningham–Otto, Naphtali–Sandholm) — with every method implemented from scratch and anchored to its textbook equations, and it exposes a granular, batch-capable API (“numpy for distillation columns”).

The thermodynamics — K-values, enthalpies, and their derivatives — come entirely from vle_thermo. This crate adds no thermodynamics of its own; it is the first downstream consumer of vle-thermo. See PLAN.md §1 for the full vision.

§Status

Milestone 1 (column model + McCabe–Thiele). Implemented so far:

The remaining method modules (shortcut, rigorous, numerics) land milestone by milestone per ROADMAP.md; the target module tree is documented in PLAN.md §6.

§Design rule (PLAN §7)

Exactly one module talks to vle-thermo: thermo. Everything else consumes it through a provider interface, so a surrogate thermo model (the inside-out inner loop, a stretch milestone) or a test mock can slot in without touching the solvers.

Modules§

binary
Binary (two-component) staged-separation methods — rungs 1–2 of the pedagogical ladder (PLAN §4).
column
The column domain model — the objects every method shares.
thermo
The thermodynamics adapter — the only module that imports vle_thermo (PLAN §7).
types
Core error and report types shared across the crate.

Functions§

version
Return this crate’s version string (matches Cargo.toml).