Class NoiseAssessment
- All Implemented Interfaces:
Serializable
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
FieldsModifier and TypeFieldDescriptionprivate static final double[]A-weighting corrections for the standard octave bands in dB.static final doubleMaximum allowable noise level for personnel protection in dB(A).static final doubleMaximum 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 doubleReference pressure for SPL calculation in Pa (20 micropascals).private static final longSerialization version UID.private static final doubleReference power for SWL calculation in Watts. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic doubleaggregateNoise(double[] splValues) Calculate aggregate noise level from multiple sources at a receiver point.static doubleatmosphericAbsorption(double frequencyHz, double temperatureC, double relativeHumidityPct) Calculate atmospheric absorption coefficient per ISO 9613-1.static doublecompressorNoise(double powerKW, String compressorType) Estimate compressor noise per NORSOK S-002 / API 617 guidelines.static booleanexceedsNorsokLimit(double splDbA) Checks whether the computed noise level exceeds the NORSOK S-002 limit.static doubleflareNoise(double heatReleaseMW, double tipDiameterM, double exitVelocityMS) Estimate flare noise per API 521.static doubleEstimate pump noise.static doublesplAtDistance(double spl1m, double distanceM) Estimate SPL at a given distance from a known SPL at 1m.static doublesplAtDistanceOctaveBand(double soundPowerLevelDb, double distanceM, double temperatureC, double relativeHumidityPct) Calculate octave-band SPL at distance with frequency-dependent atmospheric absorption.static doublesplAtDistanceWithAttenuation(double soundPowerLevelDbA, double distanceM, double temperatureC, double relativeHumidityPct) Calculate far-field SPL with atmospheric absorption per ISO 9613-2.static doublevalveNoise(double massFlowKgS, double upstreamPressureBar, double downstreamPressureBar, double molecularWeight, double temperatureK, double pipeDiameterM) Estimate valve noise per IEC 60534-8-3.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
NORSOK_MAX_CONTINUOUS_DBA
public static final double NORSOK_MAX_CONTINUOUS_DBAMaximum 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_DBAMaximum peak noise for equipment areas in dB(A).- See Also:
-
P_REF
private static final double P_REFReference pressure for SPL calculation in Pa (20 micropascals).- See Also:
-
W_REF
private static final double W_REFReference power for SWL calculation in Watts.- See Also:
-
OCTAVE_BANDS
private static final double[] OCTAVE_BANDSISO 9613-2 standard octave-band centre frequencies in Hz. -
A_WEIGHT
private static final double[] A_WEIGHTA-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/supstreamPressureBar- upstream pressure in baradownstreamPressureBar- downstream pressure in baramolecularWeight- molecular weight in kg/kmoltemperatureK- temperature in KpipeDiameterM- downstream pipe diameter in meters- Returns:
- sound pressure level at 1m downstream in dB(A)
-
compressorNoise
Estimate compressor noise per NORSOK S-002 / API 617 guidelines.- Parameters:
powerKW- shaft power in kWcompressorType- "CENTRIFUGAL", "RECIPROCATING", or "SCREW"- Returns:
- sound pressure level at 1m in dB(A)
-
pumpNoise
Estimate pump noise.- Parameters:
powerKW- pump power in kWpumpType- "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 MWtipDiameterM- flare tip diameter in metersexitVelocityMS- 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 HztemperatureC- ambient temperature in CelsiusrelativeHumidityPct- 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 meterstemperatureC- ambient temperature in CelsiusrelativeHumidityPct- 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 dBdistanceM- distance from source in meterstemperatureC- ambient temperature in CelsiusrelativeHumidityPct- relative humidity in percent- Returns:
- A-weighted SPL at distance in dB(A)
-