Install
$ agentstack add skill-jskherman-engg-skills-heat-exchanger-sizing ✓ 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
Heat Exchanger Sizing (LMTD)
Overview
LMTD-based duty and area calculation for a known overall heat transfer coefficient U. Counter-current or co-current; multi-pass F-factor via the ht library. Duty can be computed from terminal temperatures or supplied explicitly.
Prerequisites
uvavailable.
When to Use
- Sizing a new exchanger when you have a defensible U value (vendor data,
prior project) and terminal temperatures.
- Sanity-checking an existing exchanger for new conditions.
Don't use for
- Bell-Delaware shell-side design with detailed baffle / bundle
configuration.
- Rate-based two-phase boiling or condensation (use a vendor or
specialized tool).
- Calculating U from first principles when h on either side is unknown
(use convective-heat-transfer-correlations first).
Utility Scripts
uv run scripts/size_heat_exchanger.py --hot-in-c 150 --hot-out-c 90 --cold-in-c 25 --cold-out-c 90 --arrangement counterflow --u-w-m2-k 500 --duty-w 1e6 --output /tmp/hx.json
Procedure
- Define hot/cold inlet and outlet temperatures (°C for the bundled script).
- Decide arrangement: counterflow (preferred), co-current, or
multi-pass with F-factor.
- Estimate U from either side's h (or vendor data); typical ranges:
liquid-liquid 300-1000 W/m²K, liquid-gas 30-100, condensing steam 2000-5000, boiling 1000-4000.
- Provide duty from one stream's sensible heat (m × cp × ΔT) or pass
the value if known.
- Run the script. Inspect area; round up to the nearest commercial
bundle size.
- Cross-check by computing the other stream's duty and verifying the
energy balance closes.
Pitfalls
- Using bare LMTD without the F-factor for multi-pass exchangers.
- Picking U from a textbook table without flagging the fouling
factor (overstates U).
- Forgetting that LMTD blows up to ±infinity when terminal differences
approach zero (temperature pinch).
- Using sensible-heat duty for a two-phase service (latent heat
dominates).
- Reporting required area without acknowledging the fouling allowance.
- Choosing LMTD when one stream is isothermal (condensing / boiling) and
using F = 1 by default. Even for single-phase the F-factor is < 1 for multi-pass.
- Picking shell-and-tube as default; for liquid-liquid services with low
fouling, a plate-and-frame is often smaller and cheaper.
- Treating the calculated area as final without vendor-validated TEMA
layout and pressure-drop check.
Fallback Strategies
- If
ht.LMTDis unavailable, the script falls back to the direct LMTD
formula and flags the substitution.
- If only one stream's enthalpy data is supplied, the script computes the
matching cold/hot side from the energy balance, but only when arrangement allows it.
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/methods.md— assumptions, formulas, and U ranges.- TEMA standards (procure separately).
- Sinnott / Coulson & Richardson Vol 6 for U guidance.
Anti-Patterns
- Reporting required area without specifying U and fouling factors.
- Using LMTD with widely different specific heats across the exchanger
(Cp varies strongly with T).
- Sizing without checking the temperature pinch.
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.