Pressure safety valve (PSV)
Flanged spring-loaded relief valve with an angle body, bolted bonnet, closed or open-yoke spring housing with exposed coil, screwed cap with seal wire, optional packed lifting lever and bellows vent. Inlet and outlet sizes, classes and centre-to-face dimensions come from API 526 for the orifice letter and inlet class. Origin at the body centre; inlet faces down, outlet faces +X.
Installation
Copies valves/pressure-safety-valve.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 { PressureSafetyValve } from './components/deck-twin/valves/pressure-safety-valve'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<PressureSafetyValve />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
orifice | "D" | "E" | "F" | "G" | "H" | "J" | "K" | "L" | "M" | "N" | "P" | "Q" | "R" | "T" | null | |
inletRating | 150 | 300 | 600 | 900 | 1500 | 2500 | null | |
bonnet | "closed" | "open" | null | |
lever | boolean | null | |
bellows | boolean | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
Angle body: one triangle pointing up from the inlet below and one pointing in from the outlet on the side, meeting at a right angle, with a zig-zag spring rising from the meeting point to a short cap line. The set pressure and orifice letter (e.g. 3K4, set 42 barg) are written beside it.
The spring zig-zag tells it from a check valve or a plain angle valve. A rupture disc (PSE) is drawn as a curved disc between flanges with no spring. Size code like 3K4 means 3" inlet, K orifice, 4" outlet. The outlet line goes to the flare header (FL / RV) or to atmosphere; on a pilot-operated PSV a small pilot box is drawn beside the spring. ISA codes here: PSE = rupture disc.
orificeinletRatingbonnetleverbellowstagTypical suppliers
Emerson Crosby. 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/pressure-safety-valve.json, or copy a ready-made instruction:
Add the Deck Twin "Pressure safety valve (PSV)" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add pressure-safety-valve` (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 pressure-safety-valve` for its props, ranges and ports. Render <PressureSafetyValve /> 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