Trayed / packed column
Tall trayed or packed column such as a TEG contactor, amine absorber or condensate stabiliser. Skirt with access openings, UG-27 shell, a davit manway per section plus the sump, feed, reflux, reboiler-return and overhead nozzles, P/T gauges per section, sump level bridle, ring platforms at every manway and at most 6 m apart with alternating caged ladders, and a top davit. Fireproofed skirt, lifting trunnions and a tailing lug; sieve trays with downcomers or packed beds with distributors inside.
Installation
Copies vessels/column.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 { Column } from './components/deck-twin/vessels/column'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<Column />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
internals | "trayed" | "packed" | null | |
diameter | number (m) | null | 0.6 – 5 |
height | number (m) | null | 6 – 50 |
sections | number | null | 1 – 6 |
pressure | number (barg) | null | 3 – 150 |
rating | 150 | 300 | 600 | 900 | 1500 | 2500 | null | |
feedNps | number (NPS, in) | null | |
overheadNps | number (NPS, in) | null | |
bottomsNps | number (NPS, in) | null | |
refluxNps | number (NPS, in) | null | |
insulated | boolean | null | |
fireproofing | boolean | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
Tall vertical capsule with trays drawn as short horizontal lines alternating from the left and right walls (segmental trays), or a section with crossed diagonals for packing; overhead at the top, bottoms at the bottom, feed and reflux on the side.
Alternating tray lines or an X-crossed packed bed = column (TEG contactor, absorber, stabiliser). A shorter vessel with only a mesh pad is a vertical-separator.
internalsdiameterheightsectionspressureratingfeedNpsoverheadNpsbottomsNpsrefluxNpsinsulatedtagFor agents
Machine-readable entry with props, ranges, defaults and ports:
Or fetch /r/column.json, or copy a ready-made instruction:
Add the Deck Twin "Trayed / packed column" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add column` (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 column` for its props, ranges and ports. Render <Column /> 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