Class NoiseAssessment

java.lang.Object
neqsim.process.mechanicaldesign.designstandards.NoiseAssessment
All Implemented Interfaces:
Serializable

public class NoiseAssessment extends Object implements Serializable
Equipment noise prediction per NORSOK S-002 and IEC 61672.

Estimates sound power level (SWL) and sound pressure level (SPL) for common process equipment types including valves, compressors, pumps, flares, and piping. Supports aggregate noise assessment at a receiver location. Based on correlations from API 521 (flares), IEC 60534-8-3 (valves), and NORSOK S-002 (general equipment).

Version:
1.0
Author:
esol
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final double[]
    A-weighting corrections for the standard octave bands in dB.
    static final double
    Maximum allowable noise level for personnel protection in dB(A).
    static final double
    Maximum peak noise for equipment areas in dB(A).
    private static final double[]
    ISO 9613-2 standard octave-band centre frequencies in Hz.
    private static final double
    Reference pressure for SPL calculation in Pa (20 micropascals).
    private static final long
    Serialization version UID.
    private static final double
    Reference power for SWL calculation in Watts.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static double
    aggregateNoise(double[] splValues)
    Calculate aggregate noise level from multiple sources at a receiver point.
    static double
    atmosphericAbsorption(double frequencyHz, double temperatureC, double relativeHumidityPct)
    Calculate atmospheric absorption coefficient per ISO 9613-1.
    static double
    compressorNoise(double powerKW, String compressorType)
    Estimate compressor noise per NORSOK S-002 / API 617 guidelines.
    static boolean
    exceedsNorsokLimit(double splDbA)
    Checks whether the computed noise level exceeds the NORSOK S-002 limit.
    static double
    flareNoise(double heatReleaseMW, double tipDiameterM, double exitVelocityMS)
    Estimate flare noise per API 521.
    static double
    pumpNoise(double powerKW, String pumpType)
    Estimate pump noise.
    static double
    splAtDistance(double spl1m, double distanceM)
    Estimate SPL at a given distance from a known SPL at 1m.
    static double
    splAtDistanceOctaveBand(double soundPowerLevelDb, double distanceM, double temperatureC, double relativeHumidityPct)
    Calculate octave-band SPL at distance with frequency-dependent atmospheric absorption.
    static double
    splAtDistanceWithAttenuation(double soundPowerLevelDbA, double distanceM, double temperatureC, double relativeHumidityPct)
    Calculate far-field SPL with atmospheric absorption per ISO 9613-2.
    static double
    valveNoise(double massFlowKgS, double upstreamPressureBar, double downstreamPressureBar, double molecularWeight, double temperatureK, double pipeDiameterM)
    Estimate valve noise per IEC 60534-8-3.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version UID.
      See Also:
    • NORSOK_MAX_CONTINUOUS_DBA

      public static final double NORSOK_MAX_CONTINUOUS_DBA
      Maximum allowable noise level for personnel protection in dB(A). NORSOK S-002 8-hr.
      See Also:
    • NORSOK_MAX_EQUIPMENT_AREA_DBA

      public static final double NORSOK_MAX_EQUIPMENT_AREA_DBA
      Maximum peak noise for equipment areas in dB(A).
      See Also:
    • P_REF

      private static final double P_REF
      Reference pressure for SPL calculation in Pa (20 micropascals).
      See Also:
    • W_REF

      private static final double W_REF
      Reference power for SWL calculation in Watts.
      See Also:
    • OCTAVE_BANDS

      private static final double[] OCTAVE_BANDS
      ISO 9613-2 standard octave-band centre frequencies in Hz.
    • A_WEIGHT

      private static final double[] A_WEIGHT
      A-weighting corrections for the standard octave bands in dB.
  • Constructor Details

    • NoiseAssessment

      public NoiseAssessment()
  • Method Details

    • valveNoise

      public static double valveNoise(double massFlowKgS, double upstreamPressureBar, double downstreamPressureBar, double molecularWeight, double temperatureK, double pipeDiameterM)
      Estimate valve noise per IEC 60534-8-3.
      Parameters:
      massFlowKgS - mass flow through valve in kg/s
      upstreamPressureBar - upstream pressure in bara
      downstreamPressureBar - downstream pressure in bara
      molecularWeight - molecular weight in kg/kmol
      temperatureK - temperature in K
      pipeDiameterM - downstream pipe diameter in meters
      Returns:
      sound pressure level at 1m downstream in dB(A)
    • compressorNoise

      public static double compressorNoise(double powerKW, String compressorType)
      Estimate compressor noise per NORSOK S-002 / API 617 guidelines.
      Parameters:
      powerKW - shaft power in kW
      compressorType - "CENTRIFUGAL", "RECIPROCATING", or "SCREW"
      Returns:
      sound pressure level at 1m in dB(A)
    • pumpNoise

      public static double pumpNoise(double powerKW, String pumpType)
      Estimate pump noise.
      Parameters:
      powerKW - pump power in kW
      pumpType - "CENTRIFUGAL" or "POSITIVE_DISPLACEMENT"
      Returns:
      sound pressure level at 1m in dB(A)
    • flareNoise

      public static double flareNoise(double heatReleaseMW, double tipDiameterM, double exitVelocityMS)
      Estimate flare noise per API 521.
      Parameters:
      heatReleaseMW - total heat release in MW
      tipDiameterM - flare tip diameter in meters
      exitVelocityMS - exit gas velocity in m/s
      Returns:
      sound pressure level at 100m in dB(A)
    • aggregateNoise

      public static double aggregateNoise(double[] splValues)
      Calculate aggregate noise level from multiple sources at a receiver point.
      Parameters:
      splValues - array of individual SPL values in dB(A)
      Returns:
      combined SPL in dB(A)
    • splAtDistance

      public static double splAtDistance(double spl1m, double distanceM)
      Estimate SPL at a given distance from a known SPL at 1m.
      Parameters:
      spl1m - SPL at 1 meter in dB(A)
      distanceM - distance to receiver in meters
      Returns:
      SPL at the distance in dB(A)
    • exceedsNorsokLimit

      public static boolean exceedsNorsokLimit(double splDbA)
      Checks whether the computed noise level exceeds the NORSOK S-002 limit.
      Parameters:
      splDbA - sound pressure level in dB(A)
      Returns:
      true if the level exceeds 83 dB(A) continuous exposure limit
    • atmosphericAbsorption

      public static double atmosphericAbsorption(double frequencyHz, double temperatureC, double relativeHumidityPct)
      Calculate atmospheric absorption coefficient per ISO 9613-1.

      The method implements the simplified broadband formula from ISO 9613-1 Annex B for standard conditions (20 deg C, 70% RH, 101.325 kPa). For more precise work, use the full temperature-humidity-dependent model.

      Parameters:
      frequencyHz - octave band centre frequency in Hz
      temperatureC - ambient temperature in Celsius
      relativeHumidityPct - relative humidity in percent
      Returns:
      atmospheric absorption coefficient in dB/m
    • splAtDistanceWithAttenuation

      public static double splAtDistanceWithAttenuation(double soundPowerLevelDbA, double distanceM, double temperatureC, double relativeHumidityPct)
      Calculate far-field SPL with atmospheric absorption per ISO 9613-2.

      Extends the basic geometric divergence model with frequency-dependent atmospheric absorption and ground effect. The method uses the standard octave-band approach with A-weighting.

      Parameters:
      soundPowerLevelDbA - overall A-weighted sound power level in dB(A)
      distanceM - distance from source in meters
      temperatureC - ambient temperature in Celsius
      relativeHumidityPct - relative humidity in percent
      Returns:
      A-weighted SPL at distance including atmospheric absorption, in dB(A)
    • splAtDistanceOctaveBand

      public static double splAtDistanceOctaveBand(double soundPowerLevelDb, double distanceM, double temperatureC, double relativeHumidityPct)
      Calculate octave-band SPL at distance with frequency-dependent atmospheric absorption.

      Distributes the total sound power across octave bands (assuming flat spectrum), applies frequency-dependent absorption and A-weighting, then sums to get the overall result.

      Parameters:
      soundPowerLevelDb - overall unweighted sound power level in dB
      distanceM - distance from source in meters
      temperatureC - ambient temperature in Celsius
      relativeHumidityPct - relative humidity in percent
      Returns:
      A-weighted SPL at distance in dB(A)