Class BowTieAnalyzer

java.lang.Object
neqsim.process.safety.risk.bowtie.BowTieAnalyzer
All Implemented Interfaces:
Serializable

public class BowTieAnalyzer extends Object implements Serializable
Bow-Tie Analyzer for process safety risk assessment.

Generates bow-tie diagrams linking process hazards with threats (causes) and consequences, including prevention and mitigation barriers. Integrates with the NeqSim process system to automatically identify potential hazards and link to SIS/IPL barriers.

Bow-Tie Structure

  THREATS           TOP EVENT           CONSEQUENCES
    │                  │                    │
    ├──▶ Barrier ──▶   ◆   ──▶ Barrier ──▶ ├──
    │                  │                    │
    ├──▶ Barrier ──▶   │   ──▶ Barrier ──▶ ├──
    │                  │                    │
(Prevention)      (Hazard)            (Mitigation)
Version:
1.0
Author:
NeqSim Development Team
See Also:
  • Field Details

  • Constructor Details

    • BowTieAnalyzer

      public BowTieAnalyzer(String name)
      Creates a bow-tie analyzer.
      Parameters:
      name - analyzer name
    • BowTieAnalyzer

      public BowTieAnalyzer(String name, ProcessSystem processSystem)
      Creates a bow-tie analyzer for a process system.
      Parameters:
      name - analyzer name
      processSystem - process system
  • Method Details

    • initializeLibraries

      private void initializeLibraries()
    • addAvailableSIF

      public void addAvailableSIF(SafetyInstrumentedFunction sif)
      Adds available SIF for barrier assignment.
      Parameters:
      sif - Safety Instrumented Function
    • createBowTie

      public BowTieModel createBowTie(String hazardId, String hazardDescription, String hazardType)
      Creates a bow-tie model for a specific hazard.
      Parameters:
      hazardId - hazard identifier
      hazardDescription - hazard description
      hazardType - type of hazard (e.g., OVERPRESSURE, LOSS_OF_CONTAINMENT)
      Returns:
      created bow-tie model
    • autoGenerateFromProcess

      public List<BowTieModel> autoGenerateFromProcess()
      Auto-generates bow-ties from process system topology.
      Returns:
      list of generated bow-tie models
    • autoAssignSIFBarriers

      private void autoAssignSIFBarriers()
    • calculateRisk

      public void calculateRisk()
      Calculates risk for all bow-ties.
    • getBowTie

      public BowTieModel getBowTie(String hazardId)
      Gets bow-tie model by hazard ID.
      Parameters:
      hazardId - hazard identifier
      Returns:
      bow-tie model or null
    • getBowTieModels

      public List<BowTieModel> getBowTieModels()
      Gets all bow-tie models.
      Returns:
      list of bow-tie models
    • generateReport

      public String generateReport()
      Generates summary report.
      Returns:
      summary report
    • toMap

      public Map<String,Object> toMap()
      Converts to map for JSON serialization.
      Returns:
      map representation
    • toJson

      public String toJson()
      Converts to JSON string.
      Returns:
      JSON representation
    • getName

      public String getName()
    • toString

      public String toString()
      Overrides:
      toString in class Object