Class BoundaryConditions

java.lang.Object
neqsim.process.safety.BoundaryConditions
All Implemented Interfaces:
Serializable

public final class BoundaryConditions extends Object implements Serializable
Immutable container for environmental boundary conditions in safety scenarios.

Boundary conditions define the ambient environment during a safety event, which affects:

  • Heat transfer to/from equipment
  • Dispersion of released material
  • Fire development and radiation
  • Ignition probability

Example usage:

BoundaryConditions conditions = BoundaryConditions.builder().ambientTemperature(278.15) // 5°C
    .windSpeed(8.0) // 8 m/s
    .relativeHumidity(0.75) // 75%
    .pasquillStabilityClass('D').build();
Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • DEFAULT_AMBIENT_TEMPERATURE

      public static final double DEFAULT_AMBIENT_TEMPERATURE
      Default ambient temperature [K] - approximately 15°C.
      See Also:
    • DEFAULT_WIND_SPEED

      public static final double DEFAULT_WIND_SPEED
      Default wind speed [m/s].
      See Also:
    • DEFAULT_RELATIVE_HUMIDITY

      public static final double DEFAULT_RELATIVE_HUMIDITY
      Default relative humidity [fraction].
      See Also:
    • DEFAULT_ATMOSPHERIC_PRESSURE

      public static final double DEFAULT_ATMOSPHERIC_PRESSURE
      Default atmospheric pressure [Pa].
      See Also:
    • ambientTemperature

      private final double ambientTemperature
    • windSpeed

      private final double windSpeed
    • windDirection

      private final double windDirection
    • relativeHumidity

      private final double relativeHumidity
    • atmosphericPressure

      private final double atmosphericPressure
    • solarRadiation

      private final double solarRadiation
    • pasquillStabilityClass

      private final char pasquillStabilityClass
    • surfaceRoughness

      private final double surfaceRoughness
    • seaWaterTemperature

      private final double seaWaterTemperature
    • isOffshore

      private final boolean isOffshore
  • Constructor Details

  • Method Details

    • getAmbientTemperature

      public double getAmbientTemperature()
      Gets ambient temperature.
      Returns:
      ambient temperature [K]
    • getAmbientTemperature

      public double getAmbientTemperature(String unit)
      Gets ambient temperature in specified unit.
      Parameters:
      unit - temperature unit ("K", "C", "F")
      Returns:
      ambient temperature in specified unit
    • getWindSpeed

      public double getWindSpeed()
      Gets wind speed.
      Returns:
      wind speed [m/s]
    • getWindDirection

      public double getWindDirection()
      Gets wind direction.
      Returns:
      wind direction [degrees from North, 0-360]
    • getRelativeHumidity

      public double getRelativeHumidity()
      Gets relative humidity.
      Returns:
      relative humidity [fraction 0-1]
    • getAtmosphericPressure

      public double getAtmosphericPressure()
      Gets atmospheric pressure.
      Returns:
      atmospheric pressure [Pa]
    • getAtmosphericPressureBar

      public double getAtmosphericPressureBar()
      Gets atmospheric pressure in bar.
      Returns:
      atmospheric pressure [bar]
    • getSolarRadiation

      public double getSolarRadiation()
      Gets solar radiation.
      Returns:
      solar radiation [W/m²]
    • getPasquillStabilityClass

      public char getPasquillStabilityClass()
      Gets Pasquill atmospheric stability class.

      Stability classes range from A (very unstable) to F (very stable):

      • A - Very unstable (strong insolation, light wind)
      • B - Unstable
      • C - Slightly unstable
      • D - Neutral (overcast, strong wind)
      • E - Slightly stable
      • F - Stable (night, light wind)
      Returns:
      Pasquill stability class (A-F)
    • getSurfaceRoughness

      public double getSurfaceRoughness()
      Gets surface roughness length.
      Returns:
      surface roughness [m]
    • getSeaWaterTemperature

      public double getSeaWaterTemperature()
      Gets sea water temperature (for offshore installations).
      Returns:
      sea water temperature [K]
    • getSeaWaterTemperature

      public double getSeaWaterTemperature(String unit)
      Gets sea water temperature in specified unit.
      Parameters:
      unit - temperature unit ("K", "C", "F")
      Returns:
      sea water temperature in specified unit
    • isOffshore

      public boolean isOffshore()
      Checks if this is an offshore location.
      Returns:
      true if offshore
    • builder

      public static BoundaryConditions.Builder builder()
      Creates a new builder with default values.
      Returns:
      new builder instance
    • defaultConditions

      public static BoundaryConditions defaultConditions()
      Creates default boundary conditions (temperate onshore).
      Returns:
      default boundary conditions
    • northSeaWinter

      public static BoundaryConditions northSeaWinter()
      Creates typical North Sea winter conditions.
      Returns:
      North Sea winter conditions
    • northSeaSummer

      public static BoundaryConditions northSeaSummer()
      Creates typical North Sea summer conditions.
      Returns:
      North Sea summer conditions
    • gulfOfMexico

      public static BoundaryConditions gulfOfMexico()
      Creates typical Gulf of Mexico conditions.
      Returns:
      Gulf of Mexico conditions
    • onshoreIndustrial

      public static BoundaryConditions onshoreIndustrial()
      Creates typical onshore industrial conditions.
      Returns:
      onshore industrial conditions
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object