neqsim-flow-induced-vibration-screening
Skill4 starsChanged 5 months agoApache-2.0View on GitHub
Educational flow-induced vibration (FIV) screening using a public fluid kinetic-energy (rho v^2) likelihood-of-failure index. USE WHEN: a task needs a public, screening-level check of whether a main-line flow velocity and density produce a kinetic-energy level that warrants a detailed Energy Institute style FIV assessment before piping vibration design.
In this repository90 other files it gives its agents.
- neqsim-document-intelligence-extractionSkill
- neqsim-co2-emissions-screeningSkill
- neqsim-energy-emissions-screeningSkill
- neqsim-weather-dataSkill
- neqsim-anp-open-dataSkill
- neqsim-artificial-lift-screeningSkill
- neqsim-asset-value-npv-screeningSkill
- neqsim-capex-opex-screeningSkill
- neqsim-design-basis-screeningSkill
- neqsim-economy-basis-screeningSkill
- neqsim-ncs-infrastructure-networkSkill
- neqsim-ncs-ownership-equitySkill
- neqsim-ncs-value-chain-optimizationSkill
- neqsim-norwegian-continental-shelf-dataSkill
- neqsim-psc-bid-economics-screeningSkill
- neqsim-reservoir-depletion-screeningSkill
- neqsim-reservoir-facility-value-chainSkill
- neqsim-reservoir-model-builderSkill
- neqsim-resource-classification-screeningSkill
- neqsim-hydrate-margin-checkSkill
- neqsim-hydrate-screeningSkill
- neqsim-multiphase-flow-slug-screeningSkill
- neqsim-olga-multiphase-simulatorSkill
- neqsim-produced-water-scale-screeningSkill
- neqsim-surf-cooldown-screeningSkill
- neqsim-two-phase-flow-regime-screeningSkill
- neqsim-wax-margin-checkSkill
- neqsim-acoustic-induced-vibration-screeningSkill
- neqsim-adsorbent-capillary-condensation-screeningSkill
- neqsim-ageing-life-extension-screeningSkill
- neqsim-cfd-couplingSkill
- neqsim-compressor-antisurge-recycleSkill
- neqsim-compressor-operating-window-checkSkill
- neqsim-compressor-power-screeningSkill
- neqsim-continuous-improvement-toolkitSkill
- neqsim-control-authority-screeningSkill
- neqsim-control-valve-cv-screeningSkill
- neqsim-dry-gas-seal-screeningSkill
- neqsim-dynamic-instrument-controller-setupSkill
- neqsim-dynamic-process-preparationSkill
- neqsim-fem-couplingSkill
- neqsim-fired-heater-duty-screeningSkill
- neqsim-gas-scrubber-sizing-screeningSkill
- neqsim-gas-turbine-performance-screeningSkill
- neqsim-heat-exchanger-fouling-assessmentSkill
- neqsim-line-velocity-checkSkill
- neqsim-noise-screeningSkill
- neqsim-pipe-wall-thickness-screeningSkill
- neqsim-piping-flexibility-screeningSkill
- neqsim-pressure-drop-screeningSkill
- neqsim-pump-hydraulics-screeningSkill
- neqsim-reciprocating-compressor-screeningSkill
- neqsim-reliability-data-screeningSkill
- neqsim-sand-erosion-screeningSkill
- neqsim-separator-modellingSkill
- neqsim-teg-dehydration-modelingSkill
- neqsim-uncertainty-quantificationSkill
- neqsim-utility-balance-screeningSkill
- neqsim-water-dewpoint-dehydration-screeningSkill
- neqsim-benchmark-reference-dataSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 9 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
Use this skill for public, educational flow-induced vibration (FIV) screening.
- Distinctive: line 20
When a user asks whether a line could be prone to flow-induced vibration.
- Distinctive: line 21
When an agent needs a quick kinetic-energy triage to scope a piping vibration study.
- Distinctive: line 22
When examples must run without confidential piping classes, project line lists, or company piping specs.
- Very specific: line 102
Verify the cancellation numerically by re-running one case with a different setSupportArrangement(...) — the calibrated LOF must not move.
- Distinctive: line 104
Use the assumed geometry only to report absolute velocities, and flag it as an assumption.
- Distinctive: line 138
Do not carry a wet-gas FIV rate derating into dry-gas operation.
- Very specific: line 143
When a line is converted from wet gas to dry gas, screen closed side branches with …
- Distinctive: line 155
Run-pipe accelerometers are largely blind to branch pulsation, so a clean main-line vibration record does not clear this mechanism.
- Very specific: line 171
When permanent vibration probes exist, validate the driver before using LOF as a control parameter: correlate the measured velocity (mm/s …
- Distinctive: line 195
No proprietary Energy Institute scoring tables, correction factors, or fatigue calculations are included.
- Distinctive: line 196
No mechanical, modal, acoustic, or support-stiffness analysis is performed.
- Distinctive: line 197
No transient, slug, or two-phase intermittency excitation is modelled.
≈ “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.
Files
Flow-Induced Vibration Screening
Use this skill for public, educational flow-induced vibration (FIV) screening. It computes a fluid kinetic-energy index rho v^2 and compares it to a configurable kinetic-energy threshold so an agent can flag piping that may need a detailed Energy Institute style FIV likelihood-of-failure assessment before vibration design.
When to Use
- When a user asks whether a line could be prone to flow-induced vibration.
- When an agent needs a quick kinetic-energy triage to scope a piping vibration study.
- When examples must run without confidential piping classes, project line lists, or company piping specs.
Inputs
fluid_velocity: actual flowing velocity in the line in m/s.mixture_density: flowing mixture density in kg/m3.kinetic_energy_threshold: screening kinetic-energy threshold in Pa, default 10000.0.small_bore_present: optional flag that a small-bore connection or thermowell is present, default False.
Outputs
kinetic_energy_pa: fluid kinetic-energy indexrho v^2in Pa.threshold_ratio: ratio of the kinetic energy to the screening threshold.likelihood_of_failure_band: qualitativelow,medium, orhighband.fiv_warning:ok,watch, orhigh.small_bore_flag: True when a small-bore connection raises the screening sensitivity.assumptions: public assumptions used by the placeholder model.
Engineering Method
The Python class FlowInducedVibrationModel uses an open, published screening concept only:
- the fluid kinetic energy uses the widely published index
FKE = rho v^2, the same quantity used as the primary driver in public Energy Institute style FIV likelihood-of-failure screening. - the threshold ratio compares the kinetic energy to a configurable screening threshold.
- a small-bore connection flag lowers the effective warning thresholds because small-bore and thermowell connections are a common FIV failure location.
- the likelihood-of-failure band is a simple rule-based label derived from the threshold ratio.
This is educational and screening-only logic. It does not reproduce the proprietary Energy Institute Guidelines, scoring tables, or correction factors. It is not a vibration standard, a fatigue method, a modal analysis, or a replacement for a qualified piping vibration assessment.
Python Usage Pattern
from flow_induced_vibration_screening import FlowInducedVibrationModel
model = FlowInducedVibrationModel()
result = model.evaluate(
fluid_velocity=20.0,
mixture_density=60.0,
kinetic_energy_threshold=10000.0,
small_bore_present=False,
)
print(result.fiv_warning)
print(result.kinetic_energy_pa)
print(result.likelihood_of_failure_band)If the optional neqsim Python package is available, the result records that fact so an agent can recommend moving to validated NeqSim property models for mixture density and velocity, followed by a detailed FIV assessment. If it is not installed, the example still runs with public placeholder logic.
Related NeqSim Functionality
NeqSim already implements a validated Energy Institute style FIV likelihood-of-failure model. Redirect real assessments to:
neqsim.process.measurementdevice.FlowInducedVibrationAnalyser— likelihood-of-failure analyser attached to a pipe segment.neqsim.process.mechanicaldesign.manifold.ManifoldMechanicalDesignCalculator— acoustic-induced vibration (AIV) likelihood-of-failure for manifold piping.
This skill is a public rho v^2 triage layer that decides when to invoke FlowInducedVibrationAnalyser for a full assessment.
Calibrated LOF ratios when the line size is unknown
A very common real situation is that the design LOF is known but the line list is not: a project states "max rate X was set at LOF ≈ 1", yet the diameter, wall thickness and support-arrangement category cannot be retrieved. The assessment is still fully defensible, because the validated correlation is
LOF = rho_mix * v_mix^2 * FVF / F_v with F_v = alpha * (D/t)^betaFor two operating points on the same line, F_v is identical and the flow area A also
cancels (since rho v^2 = mdot^2 / (rho A^2)), so
LOF_2 / LOF_1 = (rho_mix v_mix^2 FVF)_2 / (rho_mix v_mix^2 FVF)_1is exactly independent of D, t and the support category. The recommended pattern is:
- Reproduce the stated design point with an assumed geometry and record
LOF_raw_anchor. - Report every other case as
LOF = LOF_raw_case / LOF_raw_anchor * LOF_design. - Verify the cancellation numerically by re-running one case with a different
setSupportArrangement(...)— the calibrated LOF must not move. - Use the assumed geometry only to report absolute velocities, and flag it as an assumption.
The same identity gives the operating envelope directly, since LOF ~ Q^2 at fixed pressure:
Q_allow(P) = Q_design * sqrt( LOF_design / LOF(Q_design, P) )Sweeping P turns a single design rate into an allowable-rate-versus-pressure curve, which
is usually what an operator actually needs.
Wet gas versus dry gas: which way does the driver move?
A recurring and consequential mistake is to assume that drying a wet-gas line makes flow-induced vibration worse. It makes it better. At the same standard gas rate and pressure:
- the mixture density falls a lot (entrained liquid is what makes the mixture heavy), while the
velocity rises only a few percent, so
rho v^2falls slightly; and - decisively,
FVFdrops from the two-phase branch (~0.3-0.4 at GVF 0.97-0.99) tosqrt(mu_gas [cP])~ 0.11 for a single-phase gas.
The net wet-over-dry driver ratio for a typical rich gas at 40-50 bara is about 3 to 4.
Sanity rule. If a calculation reports that removing liquid from a wet-gas line raises the LOF, the calculation is wrong. Check
FVFfirst: it must fall, not rise, as GVF goes to 1. At GVF = 0.99 the two-phase branch givesFVF = 0.268, so a single-phase gas must come out below that. (A NeqSim defect that returnedFVF ~ 0.61for dry gas - an extra square root plus a Pa*s/cP unit mismatch - was found exactly this way and is fixed; the branch is nowFVF = sqrt(mu_cP / REFERENCE_VISCOSITY_CP).)
The corollary that matters operationally
Because main-line FIV relaxes when a line goes dry, a wet-gas rate limit derived from FIV is conservative for dry service, and main-line FIV usually stops being the binding mechanism. Do not carry a wet-gas FIV rate derating into dry-gas operation. The dry-gas concern is a different mechanism - flow-induced pulsation of dead legs - see the hand-off below.
Hand-off: dry-gas service means screening dead legs, not re-deriving a rate limit
When a line is converted from wet gas to dry gas, screen closed side branches with
neqsim.process.safety.vibration.FlowInducedPulsationScreening (quarter-wave branch modes,
Strouhal lock-in band 0.2-0.6, mode-weighted severity). Three protections that wet gas provided
all disappear at once:
- Acoustic damping collapses - liquid films and droplets are strong absorbers, so a dry branch is a high-Q resonator.
- The branch-mouth shear layer becomes coherent - wet/slugging flow continually disrupts it, which is what prevents sustained lock-in.
- Liquid-filled legs empty - a condensate-filled drain resonates near 850-1000 m/s; once it drains to gas the sound speed falls to ~375 m/s and its modes drop by a factor ~2.3.
Run-pipe accelerometers are largely blind to branch pulsation, so a clean main-line vibration record does not clear this mechanism. Pair the two screenings whenever a dry-gas transition, an increased-velocity case, or a "we measured the main line and it was fine" argument appears.
Gotchas with the validated analyser
| Symptom | Cause | Fix |
| Dry gas reports a higher LOF than wet gas at the same rate and pressure | Physically impossible - FVF is being evaluated wrongly on the GVF > 0.99 branch (historically a unit mismatch: getSegmentMixtureViscosity returns cP, not Pa*s). | Assert FVF(dry) < 0.268 and LOF(dry) < LOF(wet). Update NeqSim if the installed build predates the fix. |
IllegalStateException about wall thickness | pipe.setThickness(...) not set; the LOF correlation divides by D/t. | Set the wall thickness in metres before measuring. |
| GVF comes out ~0.99+ for a "wet" case | The synthetic fluid is too lean - a plausible-looking composition can carry far less liquid than the field. | Calibrate the heavy-end/water content to the measured liquid-to-gas ratio at line conditions; GVF is the property the correlation is most sensitive to. |
| Comparing cases that straddle GVF = 0.99 | FVF changes branch there (quadratic below, viscosity-based above). The branches are continuous in direction but not in slope, so a mixed case set mixes two regimes. | Keep compared cases on the same branch where possible, and always print GVF next to LOF so a branch change is visible. |
| Screening says the main line is fine but the plant has a vibration problem | Main-line LOF does not cover small-bore connections (valve cavity drains, thermowells), loose supports, or dead-leg pulsation, which is where AVIFF failures actually occur. | Treat the main-line LOF as necessary but not sufficient; pair it with a small-bore-connection survey, a support inspection, and FlowInducedPulsationScreening for closed branches. |
Field validation pattern
When permanent vibration probes exist, validate the driver before using LOF as a control
parameter: correlate the measured velocity (mm/s rms) against a driver proxy built from
historian tags, q^2 / P (proportional to rho v^2). A strong Pearson correlation confirms
the response is flow-kinetic-energy driven rather than machinery or acoustic in origin, which
is what justifies expressing the operating limit in rate and pressure.
Validation Checklist
- Inputs are positive and densities and velocities are in SI units.
- Example inputs are public and synthetic.
- Tests cover low, warning, high, small-bore, and invalid-input cases.
- Results are described as educational screening indicators.
- Real FIV assessment is redirected to validated methods, Energy Institute guidelines, and qualified review.
Common Mistakes
| Symptom | Cause | Fix |
| Kinetic energy looks too low | Density taken at standard rather than flowing conditions | Evaluate density at line pressure and temperature |
| Threshold never triggers | Threshold set above realistic main-line limits | Use a service-appropriate threshold and consider the small-bore flag |
| Result treated as a fatigue life | Confusing screening with assessment | Move to a detailed FIV likelihood-of-failure assessment |
Limitations
- No proprietary Energy Institute scoring tables, correction factors, or fatigue calculations are included.
- No mechanical, modal, acoustic, or support-stiffness analysis is performed.
- No transient, slug, or two-phase intermittency excitation is modelled.
References
- NeqSim repository: https://github.com/equinor/neqsim
- NeqSim Skills Guide: https://github.com/equinor/neqsim/blob/master/docs/integration/skills_guide.md
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
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.

