Class SafetyScreener

java.lang.Object
neqsim.process.fielddevelopment.screening.SafetyScreener

public class SafetyScreener extends Object
Safety screener for rapid assessment of safety-related design requirements.

Estimates key safety parameters for concept-level assessment:

  • Blowdown time estimation
  • Minimum design temperature (JT cooling)
  • Hydrocarbon inventory
  • PSV sizing requirements
  • H2S/toxic gas considerations
  • Fire case scenarios

These are screening-level estimates to identify concepts that may require detailed safety analysis or have inherent safety challenges.

Version:
1.0
Author:
ESOL
  • Field Details

    • BLOWDOWN_TARGET_MINUTES

      private static final double BLOWDOWN_TARGET_MINUTES
      See Also:
    • TYPICAL_ORIFICE_FACTOR

      private static final double TYPICAL_ORIFICE_FACTOR
      See Also:
    • LOW_TEMP_THRESHOLD_C

      private static final double LOW_TEMP_THRESHOLD_C
      See Also:
    • HIGH_PRESSURE_BARA

      private static final double HIGH_PRESSURE_BARA
      See Also:
    • H2S_TOXIC_THRESHOLD_PPM

      private static final double H2S_TOXIC_THRESHOLD_PPM
      See Also:
  • Constructor Details

    • SafetyScreener

      public SafetyScreener()
      Creates a new safety screener.
  • Method Details

    • screen

      public SafetyReport screen(FieldConcept concept, FacilityConfig facilityConfig)
      Performs safety screening for a field concept with facility configuration.
      Parameters:
      concept - field concept
      facilityConfig - facility configuration
      Returns:
      safety report
    • quickScreen

      public SafetyReport quickScreen(FieldConcept concept)
      Performs safety screening without facility details.
      Parameters:
      concept - field concept
      Returns:
      safety report
    • estimateInventory

      private double estimateInventory(FieldConcept concept, FacilityConfig facilityConfig)
    • estimateBlowdownTime

      private double estimateBlowdownTime(double inventoryTonnes, double pressureBara)
    • estimateMinMetalTemp

      private double estimateMinMetalTemp(double pressureBara)
    • estimatePSVCapacity

      private double estimatePSVCapacity(FieldConcept concept, double pressureBara)
    • determineSafetyLevel

      private SafetyReport.SafetyLevel determineSafetyLevel(SafetyReport.Builder builder, double blowdownMinutes, double minMetalTemp, double h2sPpm, double maxPressure, boolean manned)
    • addRequirements

      private void addRequirements(SafetyReport.Builder builder, SafetyReport.SafetyLevel level, double h2sPpm, double maxPressure, double minMetalTemp, double blowdownMinutes)
    • addScenarios

      private void addScenarios(SafetyReport.Builder builder)