Install
$ agentstack add skill-jskherman-engg-skills-absorption-stripping-design ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Absorption and Stripping Shortcut Design
Overview
Implements the Kremser equation and helpers for stage counting in dilute absorber/stripper systems. The Kremser formulation is exact for systems with constant absorption factor A = L / (K V) and a linear equilibrium relationship y* = K x.
For concentrated systems, reactive absorbers, or rate-based design, use a rigorous simulator or rate-based correlation; this skill is screening only.
Prerequisites
uvavailable.- On first use the script writes
LICENSE_NOTIFICATION.txt.
When to Use
- Sizing a dilute absorber (lean oil, glycol dehydrator screening, dilute
acid-gas scrubber).
- Estimating the stripping factor and stage count for a desorber.
- Cross-checking vendor sizing for a tray or packed column.
Don't use for
- Reactive absorption with chemical equilibrium (DEA/MDEA + acid gas):
use sour-gas-amine-treating for screening or a rate-based simulator.
- Concentrated solute (mole fraction > 5-10%): Kremser breaks down.
- Detailed packing-specific design: use vendor correlations or a
rate-based simulator.
Utility Scripts
uv run scripts/kremser.py --N 8 --A 1.4 --K 0.5 --y-in 0.02 --x-in 0.0 --output /tmp/kremser.jsonuv run scripts/kremser.py --N 8 --A 0.8 --K 0.5 --y-in 0.02 --x-in 0.0 --output /tmp/stripper.json
Procedure
- Decide on solute, lean-solvent K-value at column conditions (often
evaluated at a representative T).
- Pick a target removal fraction (e.g. 95% of solute absorbed).
- Compute the required absorption factor
A = L / (K V); aim for
A = 1.2 - 1.5 (industry rule of thumb for non-reactive dilute systems).
- Solve Kremser for
Nstages. - Convert equilibrium stages to actual stages with a Murphree efficiency
(~0.5 - 0.8 for trays; for packed beds, divide column height by HETP).
- Sanity-check operating line vs equilibrium line: lines must not cross.
Pitfalls
- Using Kremser for a reactive absorber. The acid-gas + amine system needs
a different framework.
- Picking
A = 1.0(or just slightly above) and reporting it as feasible;
it implies infinite stages at the limit.
- Using a single
Kfor the whole column when K varies strongly with T or
composition. Average it with care.
- Confusing absorption factor
A = L/(KV)with stripping factorS = K V/L. - Reporting equilibrium stages as actual trays without applying efficiency.
- Forgetting to verify that the operating line and equilibrium line do not
cross within the column (a sign that the requested removal is infeasible at the chosen A).
- Picking
L/Gfrom the gas mass balance only — heat balance and rich solvent
loading change the effective L.
- Using Kremser for solute mole fractions > 5-10%; non-linear equilibrium
invalidates the constant-A assumption.
Fallback Strategies
- For reactive absorption, switch to
sour-gas-amine-treating(screening) or
a rate-based simulator (ProMax, ProTreat, Aspen rate-based).
- For high-concentration systems, do a manual stage-by-stage operating /
equilibrium analysis on a y-x diagram with varying K.
Verification
- Run the listed script with representative inputs and an
--outputfile when a deterministic calculation is available. - Confirm the JSON result contains
ok: true, expected units, and no unhandled warnings. - Check result magnitudes against the stated assumptions, references, and a hand calculation or known operating range before reporting them.
References
references/kremser_derivation.md— derivation and assumptions.- Treybal, Mass-Transfer Operations.
- Sinnott, Coulson & Richardson, Volume 6.
Anti-Patterns
- Reporting "5 actual trays" without specifying Murphree efficiency.
- Picking
Afrom the recommended range without justifying it from
capex/opex trade-off.
- Mixing up "absorption factor" with "absorption efficiency".
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jskherman
- Source: jskherman/engg-skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.