HAZOP Worksheet (IEC 61882)
neqsim.process.safety.hazid.HAZOPTemplate implements a study worksheet
following IEC 61882 (2016) — the international standard for Hazard and
Operability studies.
Guidewords And Parameters
The seven IEC 61882 guidewords are exposed as HAZOPTemplate.GuideWord values:
| Guideword | Meaning |
|---|---|
NO |
Complete absence of intent |
MORE |
Quantitative increase |
LESS |
Quantitative decrease |
AS_WELL_AS |
Qualitative addition |
PART_OF |
Qualitative reduction |
REVERSE |
Logical opposite |
OTHER_THAN |
Complete substitution |
Standard process parameters are exposed as HAZOPTemplate.Parameter values:
| Parameter | Typical use |
|---|---|
FLOW |
No, more, less, or reverse flow |
PRESSURE |
Overpressure or low-pressure deviations |
TEMPERATURE |
High or low temperature deviations |
LEVEL |
Separator, vessel, or tank level deviations |
COMPOSITION |
Contamination, wrong phase, or wrong mixture |
REACTION |
Reaction rate or completion deviations |
Code pattern
import neqsim.process.safety.hazid.HAZOPTemplate;
HAZOPTemplate hz = new HAZOPTemplate("Node 3 - HP separator inlet",
"Route HP separator inlet flow within design pressure and liquid handling limits");
hz.addDeviation(HAZOPTemplate.GuideWord.MORE, HAZOPTemplate.Parameter.FLOW,
"Upstream pump runaway",
"Liquid carry-over to flare KO drum",
"FT-101 high-flow alarm; BDV on overpressure",
"Add HIPPS interlock");
hz.addDeviation(HAZOPTemplate.GuideWord.LESS, HAZOPTemplate.Parameter.LEVEL,
"LV-201 stuck open",
"Gas blow-by to LP system, possible overpressure",
"LSL-201 alarm; PSV-301 on LP separator",
"Verify PSV sizing for gas blow-by");
String report = hz.report();
Use generateGrid(...) when a facilitator wants an empty worksheet grid for a
node before filling causes, consequences, safeguards, and recommendations:
HAZOPTemplate grid = new HAZOPTemplate("Node 4 - compressor discharge",
"Export compressed gas without exceeding downstream design pressure");
grid.generateGrid(HAZOPTemplate.Parameter.FLOW, HAZOPTemplate.Parameter.PRESSURE,
HAZOPTemplate.Parameter.TEMPERATURE);
Equipment-aware auto-population
HAZOPTemplate.fromProcessSystem(...) records the simple equipment class on
each generated node. HazopConsequenceAutoPopulator.populate(...) uses this
metadata when selecting flow-deviation consequences:
- Pump
NO FLOWrows retain the pump-deadhead mapping andPumpDeadheadAnalyzerrecommendation. - Compressor
NO FLOWandREVERSE FLOWrows use compressor surge, performance-map, and check-valve review mappings. - Stream, valve, separator, heat-exchanger, pipeline, and other equipment flow
rows never inherit a mapping written for another equipment category. When no
defensible category-specific mapping exists, the row explicitly says
facilitator confirmation requiredand requests topology, inventory, and transient-response review.
The fallback is intentional: process topology determines whether loss of flow causes upstream blocked-in overpressure, downstream loss of feed or utility, inventory depletion, thermal excursion, or another consequence. Generated content remains a preparation aid for an IEC 61882 workshop, not an approved HAZOP record.
Templates created with the existing two-argument constructor have no equipment metadata and continue to use the generic guideword/parameter catalogue. The three-argument constructor accepts an equipment type when a manually assembled workflow has trustworthy equipment metadata.
For automated studies connected to STID extraction and NeqSim process
simulation, use the MCP runHAZOP runner documented in
Automated HAZOP from STID and Simulation.