Reciprocating Compressor Screening
Use this skill for public, educational reciprocating-compressor screening. It estimates clearance volumetric efficiency, actual inlet capacity, the required number of stages, discharge temperature, and a rod-load utilisation ratio so an agent can scope a reciprocating-compression study before detailed selection.
When to Use
- When a user asks how many stages a reciprocating compressor needs or what its volumetric efficiency is.
- When an agent needs a quick actual-capacity and discharge-temperature estimate for a positive-displacement machine.
- When examples must run without confidential compressor data, vendor curves, or company specs.
Inputs
suction_pressure: stage suction pressure P1 in bar absolute.
discharge_pressure: final discharge pressure P2 in bar absolute.
suction_temperature: suction temperature T1 in kelvin.
swept_volume_rate_m3_h: geometric (swept) volume rate in m3/h.
clearance_fraction: cylinder clearance fraction C, default 0.12.
specific_heat_ratio: ratio of specific heats k, default 1.3.
leakage_allowance: leakage/loss allowance L, default 0.03.
rated_rod_load_kn: optional rated rod load in kN for the rod-load comparison.
piston_area_m2: optional piston area in m2 for the rod-load comparison.
Outputs
pressure_ratio: overall P2 / P1.
stages: integer number of stages keeping each stage below max_stage_ratio.
stage_pressure_ratio: per-stage pressure ratio.
volumetric_efficiency: clearance volumetric efficiency.
actual_inlet_capacity_m3_h: swept rate multiplied by volumetric efficiency.
discharge_temperature_k: first-stage isentropic discharge temperature.
rod_load_ratio: gas rod load divided by rated rod load, or null.
capacity_warning: ok, watch, low-volumetric-efficiency, or discharge-temp-high.
rod_load_warning: ok, watch, rod-load-exceeded, or no-rating.
assumptions: public assumptions used by the placeholder model.
Engineering Method
The Python class ReciprocatingCompressorModel uses open positive-displacement relations only:
- staging splits the overall ratio so
stage_ratio = (P2 / P1)^(1/stages) stays below max_stage_ratio (default 4.0).
- volumetric efficiency uses
VE = 1 - C (r^(1/k) - 1) - L.
- actual inlet capacity uses
Q_actual = swept_rate * VE.
- discharge temperature uses
T2 = T1 r^((k-1)/k).
- gas rod load uses
F = dP * piston_area, compared to the rated rod load.
This is educational and screening-only logic. It assumes constant k, ideal staging, no valve or pulsation losses, and gas-only rod load. It is not a replacement for validated reciprocating-compressor sizing or qualified rotating-equipment review.
Python Usage Pattern
from reciprocating_compressor_screening import ReciprocatingCompressorModel
model = ReciprocatingCompressorModel()
result = model.evaluate(
suction_pressure=2.0,
discharge_pressure=120.0,
suction_temperature=313.15,
swept_volume_rate_m3_h=800.0,
rated_rod_load_kn=120.0,
piston_area_m2=0.04,
)
print(result.stages)
print(result.volumetric_efficiency)
print(result.rod_load_warning)
Related NeqSim Functionality
For validated compression calculations, redirect to NeqSim classes:
neqsim.process.equipment.compressor.Compressor — rigorous polytropic compression with real-gas properties.
neqsim.process.equipment.compressor.ReciprocatingCompressor — proposed reciprocating-compressor model (volumetric efficiency, valve losses, rod load); candidate NeqSim gap.
neqsim.process.mechanicaldesign.compressor.CompressorMechanicalDesign — compressor mechanical design and feasibility.
This skill is a public triage layer that decides when to invoke a validated reciprocating-compressor model.
Validation Checklist
Common Mistakes
| Symptom |
Cause |
Fix |
| Volumetric efficiency near zero |
Single high-ratio stage |
Let the staging logic add stages |
| Discharge temperature too high |
High stage ratio |
Add stages or intercooling |
| Rod-load ratio missing |
No rated rod load or piston area supplied |
Provide both for the comparison |
Limitations
- No proprietary compressor data, vendor curves, or company specs are included.
- No valve losses, pulsation, or real-gas property variation are modelled.
- Rod load uses gas load only; inertia and load reversal are not included.
References
- API Standard 618, Reciprocating Compressors for Petroleum, Chemical, and Gas Industry Services.
- API Standard 619, Rotary-Type Positive-Displacement Compressors.
- NeqSim repository: https://github.com/equinor/neqsim
1---2name: neqsim-reciprocating-compressor-screening3description: Educational reciprocating-compressor screening using the public clearance volumetric-efficiency relation (API 618 / API 619 style). USE WHEN: a task needs a public, screening-level estimate of volumetric efficiency, actual inlet capacity, staging, discharge temperature, and rod-load utilisation for a reciprocating compressor before detailed selection.4---56# Reciprocating Compressor Screening78Use this skill for public, educational reciprocating-compressor screening. It estimates clearance volumetric efficiency, actual inlet capacity, the required number of stages, discharge temperature, and a rod-load utilisation ratio so an agent can scope a reciprocating-compression study before detailed selection.910## When to Use1112- When a user asks how many stages a reciprocating compressor needs or what its volumetric efficiency is.13- When an agent needs a quick actual-capacity and discharge-temperature estimate for a positive-displacement machine.14- When examples must run without confidential compressor data, vendor curves, or company specs.1516## Inputs1718- `suction_pressure`: stage suction pressure `P1` in bar absolute.19- `discharge_pressure`: final discharge pressure `P2` in bar absolute.20- `suction_temperature`: suction temperature `T1` in kelvin.21- `swept_volume_rate_m3_h`: geometric (swept) volume rate in m3/h.22- `clearance_fraction`: cylinder clearance fraction `C`, default 0.12.23- `specific_heat_ratio`: ratio of specific heats `k`, default 1.3.24- `leakage_allowance`: leakage/loss allowance `L`, default 0.03.25- `rated_rod_load_kn`: optional rated rod load in kN for the rod-load comparison.26- `piston_area_m2`: optional piston area in m2 for the rod-load comparison.2728## Outputs2930- `pressure_ratio`: overall `P2 / P1`.31- `stages`: integer number of stages keeping each stage below `max_stage_ratio`.32- `stage_pressure_ratio`: per-stage pressure ratio.33- `volumetric_efficiency`: clearance volumetric efficiency.34- `actual_inlet_capacity_m3_h`: swept rate multiplied by volumetric efficiency.35- `discharge_temperature_k`: first-stage isentropic discharge temperature.36- `rod_load_ratio`: gas rod load divided by rated rod load, or `null`.37- `capacity_warning`: `ok`, `watch`, `low-volumetric-efficiency`, or `discharge-temp-high`.38- `rod_load_warning`: `ok`, `watch`, `rod-load-exceeded`, or `no-rating`.39- `assumptions`: public assumptions used by the placeholder model.4041## Engineering Method4243The Python class `ReciprocatingCompressorModel` uses open positive-displacement relations only:4445- staging splits the overall ratio so `stage_ratio = (P2 / P1)^(1/stages)` stays below `max_stage_ratio` (default 4.0).46- volumetric efficiency uses `VE = 1 - C (r^(1/k) - 1) - L`.47- actual inlet capacity uses `Q_actual = swept_rate * VE`.48- discharge temperature uses `T2 = T1 r^((k-1)/k)`.49- gas rod load uses `F = dP * piston_area`, compared to the rated rod load.5051This is educational and screening-only logic. It assumes constant `k`, ideal staging, no valve or pulsation losses, and gas-only rod load. It is not a replacement for validated reciprocating-compressor sizing or qualified rotating-equipment review.5253## Python Usage Pattern5455```python56from reciprocating_compressor_screening import ReciprocatingCompressorModel5758model = ReciprocatingCompressorModel()59result = model.evaluate(60 suction_pressure=2.0,61 discharge_pressure=120.0,62 suction_temperature=313.15,63 swept_volume_rate_m3_h=800.0,64 rated_rod_load_kn=120.0,65 piston_area_m2=0.04,66)6768print(result.stages)69print(result.volumetric_efficiency)70print(result.rod_load_warning)71```7273## Related NeqSim Functionality7475For validated compression calculations, redirect to NeqSim classes:7677- `neqsim.process.equipment.compressor.Compressor` — rigorous polytropic compression with real-gas properties.78- `neqsim.process.equipment.compressor.ReciprocatingCompressor` — proposed reciprocating-compressor model (volumetric efficiency, valve losses, rod load); candidate NeqSim gap.79- `neqsim.process.mechanicaldesign.compressor.CompressorMechanicalDesign` — compressor mechanical design and feasibility.8081This skill is a public triage layer that decides when to invoke a validated reciprocating-compressor model.8283## Validation Checklist8485- [ ] Suction and discharge pressures are positive and `P2 > P1`.86- [ ] Clearance fraction is in `(0, 1)` and leakage allowance in `[0, 1)`.87- [ ] Tests cover staging, volumetric efficiency, a rod-load comparison, and invalid input.88- [ ] Results are described as educational screening indicators.89- [ ] Real selection is redirected to validated NeqSim compressor classes and qualified review.9091## Common Mistakes9293| Symptom | Cause | Fix |94| --- | --- | --- |95| Volumetric efficiency near zero | Single high-ratio stage | Let the staging logic add stages |96| Discharge temperature too high | High stage ratio | Add stages or intercooling |97| Rod-load ratio missing | No rated rod load or piston area supplied | Provide both for the comparison |9899## Limitations100101- No proprietary compressor data, vendor curves, or company specs are included.102- No valve losses, pulsation, or real-gas property variation are modelled.103- Rod load uses gas load only; inertia and load reversal are not included.104105## References106107- API Standard 618, Reciprocating Compressors for Petroleum, Chemical, and Gas Industry Services.108- API Standard 619, Rotary-Type Positive-Displacement Compressors.109- NeqSim repository: https://github.com/equinor/neqsim