Stoichkit
a toolkit for stoichiometry
Install / Use
/learn @tmkontra/StoichkitREADME
StoichKit
A toolkit for stoichiometry.
Features
balance: Balances a chemical equationyield: Calculates percent yield- given a fully balanced chemical reaction, and respective masses (in grams)
molescalculates moles given formula and mass (grams)theoretical-yield: Calculate theoretical yield of all products- given fully balanced chemical equation and reagent masses
Usage
stoichkit 0.6.0
A stoichiometry toolkit.
USAGE:
stoichkit <SUBCOMMAND>
OPTIONS:
-h, --help Print help information
-V, --version Print version information
SUBCOMMANDS:
balance
help Print this message or the help of the given subcommand(s)
moles
theoretical-yield
yield
Examples
Balance
$ stoichkit balance H2O O2 = H2O2
2*H2O + O2 = 2*H2O2
$ stoichkit balance -x H2O O2 = H2O2
2*H2O + 1*O2 = 2*H2O2
Moles
$ stoichkit moles C4H6 0.7254
0.013410485 mol
Theoretical Yield
$ stoichkit theoretical-yield "2*H2O2" 4.0 = "2*H2O" O2
H2O 2.1185393 g
O2 1.8814605 g
$ stoichkit theoretical-yield --units moles "2*H2O2" 4.0 = "2*H2O" O2
H2O 0.11759864 mol
O2 0.05879932 mol
Yield
$ stoichkit yield '2*H2O2' 4.0 = '2*H2O' 2.1184621`
H2O 0.9999635 %
Installation
- Clone this repo
- With cargo installed, run
cargo build --release - Run
./target/release/stoichkitor copy that binary to a bin folder.
stoichkit equation balancer uses the nalgebra-linalg solver, which requires a BLAS installation.
On macOS BLAS can be installed via brew install openblas.
Roadmap
- [x] Accept all reagents and determine limiting reagent.
- [ ] Add desktop GUI (maybe)
- [x] Use StoichKit to power a web UI (
stoichkitwebavailable here) - [x] Implement chemical equation balancer
- [ ] Test linear algebra suite on other platforms
- [ ] Ideal Gas calculations
Related Skills
himalaya
350.8kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
350.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
taskflow
350.8kname: taskflow description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layer
frontend-design
110.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
