# Absorption Stripping Design

> >-

- **Type:** Skill
- **Install:** `agentstack add skill-jskherman-engg-skills-absorption-stripping-design`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [jskherman](https://agentstack.voostack.com/s/jskherman)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [jskherman](https://github.com/jskherman)
- **Source:** https://github.com/jskherman/engg-skills/tree/main/skills/absorption-stripping-design

## Install

```sh
agentstack add skill-jskherman-engg-skills-absorption-stripping-design
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## 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

1. `uv` available.
2. 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.json`
- `uv 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

1. Decide on solute, lean-solvent K-value at column conditions (often
   evaluated at a representative `T`).
2. Pick a target removal fraction (e.g. 95% of solute absorbed).
3. 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).
4. Solve Kremser for `N` stages.
5. Convert equilibrium stages to actual stages with a Murphree efficiency
   (~0.5 - 0.8 for trays; for packed beds, divide column height by HETP).
6. 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 `K` for the whole column when K varies strongly with T or
  composition. Average it with care.
- Confusing absorption factor `A = L/(KV)` with stripping factor `S = 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/G` from 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 `--output` file 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 `A` from 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](https://github.com/jskherman)
- **Source:** [jskherman/engg-skills](https://github.com/jskherman/engg-skills)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-jskherman-engg-skills-absorption-stripping-design
- Seller: https://agentstack.voostack.com/s/jskherman
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
