agentleFS
equinorequinor/neqsim-community-skills/skills/process/neqsim-noise-screening/SKILL.md

neqsim-noise-screening

Skill4 starsChanged 5 months agoApache-2.0View on GitHub

Standards-based gas-valve and restriction noise screening at a stated receiver distance using either a current measured A-weighted level or a conservative pressure-drop energy model. USE WHEN: a task needs noise triage, receiver/workplace assessment, or routing to detailed IEC 60534-8-3 prediction while keeping acoustic-induced-vibration assessment separate.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 6 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill to screen gas-valve and restriction noise at a stated receiver distance from either a representative operating measurement …

    line 16
  2. Distinctive:

    When a user asks whether a gas valve or restriction is likely to be noisy.

    line 20
  3. Distinctive:

    When current measured noise must be evaluated at a stated operating condition and receiver position.

    line 21
  4. Distinctive:

    When an agent needs a quick action/high noise flag before detailed engineering.

    line 22
  5. Distinctive:

    When examples must run without confidential valve trim or vendor noise data.

    line 23
  6. Distinctive:

    Do not use this skill alone to accept personnel exposure, acoustic fatigue, or AIV.

    line 24
  7. Very specific:

    Use measured_spl_at_distance directly when a representative measurement and uncertainty are available.

    line 56

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Noise Screening

Use this skill to screen gas-valve and restriction noise at a stated receiver distance from either a representative operating measurement or a conservative energy model. Keep source prediction, receiver/workplace assessment, and acoustic-induced-vibration (AIV) screening as separate decisions.

When to Use

  • When a user asks whether a gas valve or restriction is likely to be noisy.
  • When current measured noise must be evaluated at a stated operating condition and receiver position.
  • When an agent needs a quick action/high noise flag before detailed engineering.
  • When examples must run without confidential valve trim or vendor noise data.
  • Do not use this skill alone to accept personnel exposure, acoustic fatigue, or AIV.

Inputs

  • mass_flow: gas mass flow in kg/s.
  • pressure_drop: pressure drop across the restriction in bar.
  • inlet_density: inlet gas density in kg/m3.
  • sound_speed: speed of sound in m/s (provide this, or temperature and molar mass).
  • distance: source-to-receiver distance in m, default 1 m.
  • measured_spl_at_distance: optional representative A-weighted measurement in dBA at distance.
  • measured_uncertainty_db: optional positive measurement uncertainty in dB.
  • specific_heat_ratio: ratio of specific heats k, default 1.3.
  • temperature: gas temperature in K (used to estimate sound speed).
  • molar_mass: gas molar mass in g/mol (used to estimate sound speed).
  • Constructor overrides for action level, high level, model uncertainty, acoustic efficiency, and transmission loss.

Outputs

  • vena_contracta_velocity_m_s: estimated velocity at the restriction.
  • mach_number: velocity divided by the speed of sound.
  • internal_sound_power_level_db: internal sound power level (re 1 pW).
  • estimated_spl_1m_dba: screening sound-pressure level at 1 m.
  • estimated_spl_at_distance_dba: assessed A-weighted level at the receiver distance.
  • assessment_basis: measurement or screening-model.
  • noise_warning: ok, action, or high.
  • uncertainty_db, standards_basis, and assumptions for review and escalation.

Engineering Method

The Python class ValveNoiseModel uses this decision path:

  1. Freeze the operating snapshot, source identity, receiver position, and evidence type.
  2. Use measured_spl_at_distance directly when a representative measurement and uncertainty are available.
  3. Otherwise estimate vena-contracta velocity with v = sqrt(2 * dP / rho), mechanical stream power with W_m = 0.5 * mdot * v^2, and acoustic power with W_a = min(0.01, eta_f * Mach^3) * W_m.
  4. Convert sound power to a 1 m level using a configurable transmission loss, then apply free-field spreading 20 log10(r/1 m) to the receiver.
  5. Apply configurable workflow triggers: ok below 85 dBA, action at or above 85 dBA, and high at or above 110 dBA by default.
  6. Escalate elevated or uncertain cases to detailed source prediction, a controlled receiver survey, occupational-hygiene review, or separate AIV screening as applicable.

The model is a triage calculation, not a full IEC 60534-8-3 prediction. The default model uncertainty is +/-10 dB. Default thresholds are workflow triggers rather than universal legal exposure limits.

Python Usage Pattern

from noise_screening import ValveNoiseModel

model = ValveNoiseModel()
result = model.evaluate(
    mass_flow=12.0,
    pressure_drop=40.0,
    inlet_density=35.0,
    temperature=310.0,
    molar_mass=19.0,
  distance=3.0,
)

print(result.mach_number)
print(result.estimated_spl_at_distance_dba)
print(result.assessment_basis)
print(result.noise_warning)

For current operating evidence, provide the measured receiver level and its uncertainty:

measured = model.evaluate(
  mass_flow=12.0,
  pressure_drop=40.0,
  inlet_density=35.0,
  sound_speed=410.0,
  distance=3.0,
  measured_spl_at_distance=92.0,
  measured_uncertainty_db=2.0,
)

Related NeqSim Functionality

For detailed valve source prediction, use existing NeqSim classes:

  • neqsim.process.equipment.valve.ThrottlingValve — flow-vs-Cv valve and pressure-drop response that defines the noise duty.
  • neqsim.process.equipment.valve.ControlValve — control valve with characteristic and controller coupling.
  • neqsim.process.mechanicaldesign.valve.ControlValveNoise_IEC_60534_8_3 — aerodynamic source prediction with flow regime, mechanical stream power, pipe-wall transmission loss, and external A-weighted level.

For the detailed class, call setFlowConditions(...), setAcousticProperties(...), setGeometry(...), setValveCoefficients(...), and calcNoise(). Read getSoundPressureLevelDbA(), getOutletMach(), getFlowRegime(), getMechanicalStreamPower(), and getTransmissionLoss(). Obtain density, speed of sound, and isentropic exponent from a flashed NeqSim fluid; treat valve coefficients and geometry as controlled vendor/design inputs.

Validation Checklist

  • Mass flow, pressure drop, and density are positive.
  • Either a sound speed or temperature and molar mass are supplied.
  • Receiver distance, operating timestamp/window, source identity, and evidence basis are recorded.
  • Measurement method, instrument, background correction, and uncertainty are recorded when measured data are used.
  • The result is treated as screening evidence, not universal exposure or AIV acceptance.
  • Detailed source prediction is redirected to NeqSim/vendor tools and qualified review.

Common Mistakes

SymptomCauseFix
SPL looks too preciseTreated indicator as IEC resultUse it only for screening
Mach offSound speed from wrong gasProvide molar mass and temperature
Wrong magnitudeMass flow in kg/h not kg/sUse kg/s
AIV accepted from dBANoise and pipe-vibration criteria were conflatedRun a separate AIV screening
Measurement cannot be reproducedOperating state or receiver position is missingRecord time window, process data, location, and uncertainty

Limitations

  • The model path is not an IEC 60534-8-3 prediction and has no octave-band content.
  • Free-field spreading omits reflections, shielding, multiple sources, directivity, atmospheric absorption, and distributed pipe radiation.
  • A single dBA value cannot establish daily exposure dose, hearing protection, acoustic fatigue, or AIV acceptability.
  • A measurement applies only to its operating state, receiver position, instrument setup, background correction, and uncertainty.
  • Design acceptance requires controlled standards editions, verified valve/vendor data, and competent acoustic review.

References

  • IEC 60534-8-3, control-valve aerodynamic noise prediction method.
  • ISO 3744, sound-power determination from sound-pressure measurements.
  • ISO 11201, emission sound-pressure measurement at work stations and specified positions.
  • ISO 9613-2, engineering prediction of outdoor sound propagation.
  • ISO 15664, noise-control design procedures for open plant.
  • ISO 1999, estimation of noise-induced hearing loss.
  • NeqSim repository: https://github.com/equinor/neqsim

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.