Install
$ agentstack add skill-jskherman-engg-skills-thermo-process-properties ✓ 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
Thermodynamic Property Calculations
Overview
Caleb Bell library wrapper utilities. Implements:
recommend: property-method recommendation given components and
application context.
costald-density: COSTALD (saturated) or COSTALD_compressed mixture
liquid density for light hydrocarbons.
pr-translated-eos: instantiatethermo.eos_mix.PRMIXTranslatedPPJP
with reported molar volumes, Z-factors, and departure functions.
iapws-state/iapws-saturation: pure water / steam properties.
Heuristics for method selection are transparent and built from public sources (DWSIM, Carlson, AVEVA / Aspen training material). No proprietary defaults are reproduced.
Prerequisites
uvavailable.- On first use, the script writes
LICENSE_NOTIFICATION.txtlisting
the upstream library terms.
When to Use
- Picking a property method for a flowsheet zone.
- Estimating LPG liquid density at storage / vessel conditions (COSTALD).
- Getting a Translated-PR liquid molar volume for an LPG mixture.
- Pure-water / steam state at known T, P.
Don't use for
- Multi-component flash (
vle-flash-calculations). - EOS decision tree by itself (
equation-of-state-selection). - Steam-table-only calculations (
steam-tables-iapws). - Non-LPG hydrocarbon systems where COSTALD is outside its accuracy
envelope.
Utility Scripts
uv run scripts/property_methods.py recommend --components propane,n-butane,isobutane --application LPG --pressure-pa 1200000 --output /tmp/method.jsonuv run scripts/property_methods.py costald-density --components propane,n-butane --zs 0.5,0.5 --temperature-k 300 --pressure-pa 1000000 --output /tmp/lpg_density.jsonuv run scripts/property_methods.py iapws-state --temperature-k 373.15 --pressure-pa 101325 --output /tmp/steam.jsonuv run scripts/property_methods.py pr-translated-eos --components propane,n-butane --zs 0.5,0.5 --temperature-k 300 --pressure-pa 1000000 --output /tmp/pr.json
Procedure
- Identify components and the operating envelope (T, P, composition).
- Run
recommendfor a property-method check. - For LPG liquid density at vessel conditions, prefer COSTALD compressed.
- For pure water/steam, prefer IAPWS.
- For full flash, hand off to
vle-flash-calculationswith the selected
EOS.
Pitfalls
- Using PR (default) for LPG liquid density at moderate pressure; PR
underpredicts liquid density by 5-15%. Use Translated-PR or COSTALD.
- Using COSTALD for a non-light-hydrocarbon (water, alcohol, amine);
COSTALD is accurate only for nonpolar light hydrocarbons.
- Using IAPWS for water-in-hydrocarbon systems; IAPWS is pure water only.
- Passing the kij matrix as zeros for a sour LPG mixture; H2S / mercaptan
/ amine interactions need real kij.
- Confusing mass density (kg/m³) with molar volume (m³/mol).
- Treating the PRMIXTranslatedPPJP molar volume as exact without
providing the per-component translation constants cs.
- Using
recommendoutput as a final decision without doing the
second-opinion flash recommended by the decision-tree.
- Treating water-content trace as negligible without checking with a
hydrate / glycol skill.
Fallback Strategies
- If
thermo/chemicalsimport fails for an exotic component, fall
back to built-in LPG defaults via engg_skills_common.property_backends.
- For density that is wildly off, switch from COSTALD to
PRMIXTranslatedPPJP (or vice versa) and report both.
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/property_method_selection.md— full method matrix.references/caleb_bell_libraries.md— library overview and links.thermodocs: https://thermo.readthedocs.io/chemicalsdocs: https://chemicals.readthedocs.io/- DWSIM property package selection wiki.
Anti-Patterns
- Reporting properties without naming the EOS or correlation.
- Using cubic EOS for steam.
- Reporting LPG liquid density without naming whether COSTALD or PR was
used.
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.