chrom-rs
A Rust framework for simulating liquid-phase chromatography. chrom-rs models the transport and adsorption of chemical
species through a chromatographic column presently using Langmuir isotherms and numerical solvers.
A French version of this README is available: README.fr.md.
Features
- Single-species simulation via
LangmuirSingle— scalar derivative, optimised for pure-compound studies - Multi-species competitive adsorption via
LangmuirMulti— full Jacobian, LU inversion, O(n³) in number of species - Numerical solvers: Forward Euler (order 1) and Runge-Kutta 4 (order 4)
- Injection profiles: Dirac, Gaussian, Rectangle, or custom closure
- Config-file interface: three independent YAML/JSON files (
model.yml,scenario.yml,solver.yml) - Outputs: CSV export, JSON export, chromatogram plots via
plotters - CLI:
chrom-rs runpowered bydynamic-cli
Installation
[]
= "0.2"
Quick Start
use ;
// Physical model — TFA on a C18 column
let injection = gaussian;
let model = Boxnew;
// Scenario and solver
let initial = model.setup_initial_state;
let boundaries = temporal;
let scenario = new;
let config = time_evolution;
let result = new.solve.unwrap;
println!;
Config-file interface
Simulations can be driven by three YAML files without writing Rust code:
See examples/config/ for ready-to-use fixtures and examples/tfa_from_config.rs /
examples/acids_from_config.rs for the corresponding Rust entry points.
Examples
| Example | Description |
|---|---|
tfa_single |
TFA chromatography — Dirac and Gaussian injections, Euler and RK4 |
tfa_from_config |
Same simulation driven by config files |
acids_multi |
Ascorbic / Erythorbic acids — solo and competitive phases |
acids_from_config |
Same simulation driven by config files |
Documentation
Full API documentation: docs.rs/chrom-rs
License
Licensed under the Apache License, Version 2.0.