Class LOPAResult

java.lang.Object
neqsim.process.safety.risk.sis.LOPAResult
All Implemented Interfaces:
Serializable

public class LOPAResult extends Object implements Serializable
Layer of Protection Analysis (LOPA) result.

LOPA is a semi-quantitative risk assessment method that analyzes independent protection layers (IPLs) to determine if the risk from a specific scenario is adequately mitigated.

Version:
1.0
Author:
NeqSim Development Team
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • scenarioName

      private String scenarioName
      Scenario/event name.
    • initiatingEventFrequency

      private double initiatingEventFrequency
      Initiating event frequency (per year).
    • targetFrequency

      private double targetFrequency
      Target mitigated frequency (per year).
    • mitigatedFrequency

      private double mitigatedFrequency
      Final mitigated frequency (per year).
    • layers

      Protection layers applied.
    • targetMet

      private boolean targetMet
      Whether target is met.
    • gapToTarget

      private double gapToTarget
      Gap to target (positive = shortfall).
  • Constructor Details

    • LOPAResult

      public LOPAResult(String scenarioName)
      Creates a LOPA result.
      Parameters:
      scenarioName - scenario name
  • Method Details

    • setInitiatingEventFrequency

      public void setInitiatingEventFrequency(double frequency)
      Sets initiating event frequency.
      Parameters:
      frequency - frequency per year
    • setTargetFrequency

      public void setTargetFrequency(double frequency)
      Sets target frequency.
      Parameters:
      frequency - target frequency per year
    • setMitigatedFrequency

      public void setMitigatedFrequency(double frequency)
      Sets mitigated frequency.
      Parameters:
      frequency - mitigated frequency per year
    • addLayer

      public void addLayer(String name, double pfd, double before, double after)
      Adds a protection layer.
      Parameters:
      name - layer name
      pfd - probability of failure on demand
      before - frequency before this layer
      after - frequency after this layer
    • updateTargetStatus

      private void updateTargetStatus()
    • getScenarioName

      public String getScenarioName()
    • getInitiatingEventFrequency

      public double getInitiatingEventFrequency()
    • getTargetFrequency

      public double getTargetFrequency()
    • getMitigatedFrequency

      public double getMitigatedFrequency()
    • getLayers

      public List<LOPAResult.ProtectionLayer> getLayers()
    • isTargetMet

      public boolean isTargetMet()
    • getGapToTarget

      public double getGapToTarget()
    • getTotalRRF

      public double getTotalRRF()
      Gets total risk reduction factor.
      Returns:
      total RRF
    • getRequiredAdditionalRRF

      public double getRequiredAdditionalRRF()
      Gets required additional RRF to meet target.
      Returns:
      required RRF (0 if target already met)
    • getRequiredAdditionalSIL

      public int getRequiredAdditionalSIL()
      Gets required SIL for additional protection.
      Returns:
      required SIL (0 if target met)
    • 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
    • toVisualization

      public String toVisualization()
      Generates ASCII visualization of LOPA.
      Returns:
      ASCII diagram
    • toString

      public String toString()
      Overrides:
      toString in class Object