Hairpin (double-pipe) exchanger
Double-pipe hairpin exchanger: two shell legs stacked one above the other, bolted return-bend housing enclosing the inner U-bend, front nozzle heads carrying the shell-side nozzles, closure blinds with packed glands where the inner pipe leaves, tube-side flanged ends, shell inlet and outlet nozzles, vent and drain, and clamp stands with U-bolts.
Installation
Copies thermal/hairpin-exchanger.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 { HairpinExchanger } from './components/deck-twin/thermal/hairpin-exchanger'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<HairpinExchanger />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
shellNps | number (NPS, in) | null | |
tubeNps | number (NPS, in) | null | |
length | number (m) | null | 2 – 12 |
rating | 150 | 300 | 600 | 900 | 1500 | 2500 | null | |
elevation | number (m) | null | 0.4 – 2 |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
Two parallel horizontal pipes (the legs) joined by a return bend at one end, an inner pipe shown running through both, tube-side connections at the open ends and shell-side nozzles on each leg.
The U-shaped double-pipe outline tells it from a shell-and-tube (single shell with a channel). Stacked hairpins in series are drawn as several hairpins joined by short lines.
shellNpstubeNpslengthratingtagTypical suppliers
Koch Heat Transfer (Brown Fintube). 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/hairpin-exchanger.json, or copy a ready-made instruction:
Add the Deck Twin "Hairpin (double-pipe) exchanger" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add hairpin-exchanger` (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 hairpin-exchanger` for its props, ranges and ports. Render <HairpinExchanger /> 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