Reciprocating compressor (API 618)
Balanced-opposed process gas compressor on a skid with walkways: crankcase frame with 2, 4 or 6 throws, crosshead guides, two-compartment distance pieces, jacketed cylinders with suction and discharge valve covers and a clearance pocket, suction and discharge pulsation bottles with headers, discharge PSV, orifice plates at the bottle flanges, a temporary suction strainer, distance-piece vent and drain headers with an atmospheric vent and flame arrester, jacket cooling-water headers, crankcase breather, frame-mounted lube system and cylinder lubricator. Driven through a guarded flywheel and coupling by a TEFC motor (up to 1 MW) or a large box-frame motor. Cylinder, bottle and frame sizes follow bore.
Installation
Copies rotating/reciprocating-compressor.tsx and the shared lib/ into src/components/deck-twin/. Needs three, @react-three/fiber and @react-three/drei. See installation for the manual route.
Usage
import { Canvas } from '@react-three/fiber'
import { OrbitControls } from '@react-three/drei'
import { Stage } from './components/deck-twin/lib/stage'
import { ReciprocatingCompressor } from './components/deck-twin/rotating/reciprocating-compressor'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<ReciprocatingCompressor />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
throws | 2 | 4 | 6 | null | |
bore | number (m) | null | 0.12 – 0.7 |
kw | number (kW) | null | 200 – 8000 |
suctionNps | number (NPS, in) | null | |
dischargeNps | number (NPS, in) | null | |
rating | 150 | 300 | 600 | 900 | 1500 | 2500 | null | |
running | boolean | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
Cylinder (rectangle) with a piston and rod inside, the rod running to a crank; suction usually into the top and discharge out of the bottom, with suction and discharge pulsation bottles drawn as small horizontal vessels on each nozzle.
Multi-stage machines show one cylinder per stage with interstage coolers and scrubbers between them. A trapezoid is a centrifugal compressor.
throwsborekwsuctionNpsdischargeNpsratingtagTypical suppliers
Ariel · Burckhardt Compression. The geometry is generic and sized from public standards. It is not vendor CAD.
For agents
Machine-readable entry with props, ranges, defaults and ports:
Or fetch /r/reciprocating-compressor.json, or copy a ready-made instruction:
Add the Deck Twin "Reciprocating compressor (API 618)" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add reciprocating-compressor` (it copies the file and the shared lib into src/components/deck-twin/), then `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz info reciprocating-compressor` for its props, ranges and ports. Render <ReciprocatingCompressor /> inside a React Three Fiber <Canvas shadows>, wrapped in <Stage> from src/components/deck-twin/lib/stage. Set props from my data (metres, NPS in inches, ASME class) and leave the rest at defaults. Install three, @react-three/fiber, @react-three/drei and @types/three if they're missing. Full guide: https://decktwin.com/skill/SKILL.md