Multiphase Flow Slug Screening
Use this skill for public, educational multiphase slug-flow screening. It gives a coarse flow-regime indicator from superficial gas and liquid velocities and a first-pass slug-catcher volume estimate from slug geometry, so an agent can flag slug risk before moving to validated multiphase flow analysis.
When to Use
- When a user asks whether a multiphase line is likely to be in a slug regime.
- When an agent needs a quick slug-catcher volume order-of-magnitude to scope a flow-assurance study.
- When examples must run without confidential pipeline geometry, project flow-assurance reports, or company multiphase guidelines.
Inputs
superficial_gas_velocity: superficial gas velocity in m/s.
superficial_liquid_velocity: superficial liquid velocity in m/s.
pipe_internal_diameter: pipe inside diameter in m.
slug_length_to_diameter: slug length expressed as a multiple of the diameter, default 30.0.
liquid_holdup_in_slug: liquid holdup in the slug body, dimensionless in (0, 1], default 0.8.
surge_factor: surge/safety factor on slug-catcher volume, default 1.2.
available_slug_catcher_volume: optional available slug-catcher volume in m3 for a capacity check.
Outputs
mixture_velocity_m_per_s: sum of the superficial gas and liquid velocities.
froude_number: mixture Froude number using the pipe inside diameter.
liquid_fraction: liquid superficial velocity divided by the mixture velocity.
flow_regime_indicator: coarse public regime label (gas-dominated, slug, liquid-dominated, transition).
estimated_slug_volume_m3: screening slug volume from slug geometry and holdup.
recommended_slug_catcher_volume_m3: slug volume scaled by the surge factor.
capacity_ratio: recommended over available slug-catcher volume when an available volume is given.
slug_warning: ok, watch, or high.
assumptions: public assumptions used by the placeholder model.
Engineering Method
The Python class SlugScreeningModel uses open, published concepts only:
- the mixture velocity is the sum of the superficial gas and liquid velocities, and the Froude number uses the pipe inside diameter as the length scale.
- the flow-regime indicator is a coarse public heuristic over Froude number and liquid fraction. It is not a validated flow-pattern map.
- the slug volume is slug length times pipe area times liquid holdup, with a surge factor giving the recommended slug-catcher volume.
- when an available slug-catcher volume is provided, the capacity ratio drives rule-based warnings; otherwise a slug regime is flagged as
watch.
This is educational and screening-only logic. It is not a validated flow-pattern map, not a slug-catcher design method, and not a replacement for validated multiphase flow analysis and a qualified flow-assurance review.
Python Usage Pattern
from multiphase_flow_slug_screening import SlugScreeningModel
model = SlugScreeningModel()
result = model.evaluate(
superficial_gas_velocity=4.0,
superficial_liquid_velocity=1.0,
pipe_internal_diameter=0.3,
available_slug_catcher_volume=1.0,
)
print(result.flow_regime_indicator)
print(result.recommended_slug_catcher_volume_m3)
print(result.slug_warning)
If the optional neqsim Python package is available, the result records that fact so an agent can recommend moving to validated NeqSim multiphase pipe flow analysis. If it is not installed, the example still runs with public placeholder logic.
Validation Checklist
Common Mistakes
| Symptom |
Cause |
Fix |
| Regime label looks wrong |
Superficial velocities taken at the wrong conditions |
Evaluate superficial velocities at line pressure and temperature |
| Slug volume too small |
Slug length-to-diameter set too low for terrain slugging |
Use a length-to-diameter consistent with the line profile and terrain |
| Capacity check missing |
No available slug-catcher volume provided |
Pass available_slug_catcher_volume for a capacity ratio |
Limitations
- No validated flow-pattern map (Beggs and Brill, Taitel-Dukler) is applied.
- No terrain, severe, or hydrodynamic slugging dynamics are modelled.
- No transient slug tracking or slug frequency is computed.
- Not suitable for safety-critical, design, guarantee, or standards-compliance work.
Related NeqSim Functionality
This educational screening corresponds to validated, rigorous functionality in the NeqSim Java library that a qualified engineer should use for design-grade work:
neqsim.process.equipment.pipeline.PipeBeggsAndBrills — rigorous multiphase pressure drop, holdup, and flow-regime evaluation.
neqsim.process.equipment.separator.ThreePhaseSeparator — slug-catcher / inlet-separation modelling for liquid handling.
In Python the same classes are reachable through the neqsim package (for example from neqsim import jneqsim).
Escalating to a Transient Simulator
This screening cannot produce a slug frequency, a slug length distribution, or the liquid surge that arrives at a receiving facility after a ramp-up or a shut-in and restart. When those govern the answer, escalate to the neqsim-olga-multiphase-simulator skill (or the olga-simulation-agent), which runs an OLGA transient case with slug tracking and returns the arrival trends. Use this screening first to decide whether that cost is justified.
References
1---2name: neqsim-multiphase-flow-slug-screening3description: Educational multiphase slug-flow regime and slug-catcher volume screening. USE WHEN: a task needs a public, screening-level indicator of whether a multiphase line is in an intermittent/slug regime and a first-pass slug-catcher volume estimate before validated multiphase flow analysis.4---56# Multiphase Flow Slug Screening78Use this skill for public, educational multiphase slug-flow screening. It gives a coarse flow-regime indicator from superficial gas and liquid velocities and a first-pass slug-catcher volume estimate from slug geometry, so an agent can flag slug risk before moving to validated multiphase flow analysis.910## When to Use1112- When a user asks whether a multiphase line is likely to be in a slug regime.13- When an agent needs a quick slug-catcher volume order-of-magnitude to scope a flow-assurance study.14- When examples must run without confidential pipeline geometry, project flow-assurance reports, or company multiphase guidelines.1516## Inputs1718- `superficial_gas_velocity`: superficial gas velocity in m/s.19- `superficial_liquid_velocity`: superficial liquid velocity in m/s.20- `pipe_internal_diameter`: pipe inside diameter in m.21- `slug_length_to_diameter`: slug length expressed as a multiple of the diameter, default 30.0.22- `liquid_holdup_in_slug`: liquid holdup in the slug body, dimensionless in (0, 1], default 0.8.23- `surge_factor`: surge/safety factor on slug-catcher volume, default 1.2.24- `available_slug_catcher_volume`: optional available slug-catcher volume in m3 for a capacity check.2526## Outputs2728- `mixture_velocity_m_per_s`: sum of the superficial gas and liquid velocities.29- `froude_number`: mixture Froude number using the pipe inside diameter.30- `liquid_fraction`: liquid superficial velocity divided by the mixture velocity.31- `flow_regime_indicator`: coarse public regime label (gas-dominated, slug, liquid-dominated, transition).32- `estimated_slug_volume_m3`: screening slug volume from slug geometry and holdup.33- `recommended_slug_catcher_volume_m3`: slug volume scaled by the surge factor.34- `capacity_ratio`: recommended over available slug-catcher volume when an available volume is given.35- `slug_warning`: `ok`, `watch`, or `high`.36- `assumptions`: public assumptions used by the placeholder model.3738## Engineering Method3940The Python class `SlugScreeningModel` uses open, published concepts only:4142- the mixture velocity is the sum of the superficial gas and liquid velocities, and the Froude number uses the pipe inside diameter as the length scale.43- the flow-regime indicator is a coarse public heuristic over Froude number and liquid fraction. It is not a validated flow-pattern map.44- the slug volume is slug length times pipe area times liquid holdup, with a surge factor giving the recommended slug-catcher volume.45- when an available slug-catcher volume is provided, the capacity ratio drives rule-based warnings; otherwise a slug regime is flagged as `watch`.4647This is educational and screening-only logic. It is not a validated flow-pattern map, not a slug-catcher design method, and not a replacement for validated multiphase flow analysis and a qualified flow-assurance review.4849## Python Usage Pattern5051```python52from multiphase_flow_slug_screening import SlugScreeningModel5354model = SlugScreeningModel()55result = model.evaluate(56 superficial_gas_velocity=4.0,57 superficial_liquid_velocity=1.0,58 pipe_internal_diameter=0.3,59 available_slug_catcher_volume=1.0,60)6162print(result.flow_regime_indicator)63print(result.recommended_slug_catcher_volume_m3)64print(result.slug_warning)65```6667If the optional `neqsim` Python package is available, the result records that fact so an agent can recommend moving to validated NeqSim multiphase pipe flow analysis. If it is not installed, the example still runs with public placeholder logic.6869## Validation Checklist7071- [ ] Velocities and diameter are in SI units.72- [ ] Example inputs are public and synthetic.73- [ ] Tests cover slug, capacity, and invalid-input cases.74- [ ] Results are described as educational screening indicators.75- [ ] Real slug-catcher sizing is redirected to validated multiphase flow methods and qualified review.7677## Common Mistakes7879| Symptom | Cause | Fix |80| --- | --- | --- |81| Regime label looks wrong | Superficial velocities taken at the wrong conditions | Evaluate superficial velocities at line pressure and temperature |82| Slug volume too small | Slug length-to-diameter set too low for terrain slugging | Use a length-to-diameter consistent with the line profile and terrain |83| Capacity check missing | No available slug-catcher volume provided | Pass `available_slug_catcher_volume` for a capacity ratio |8485## Limitations8687- No validated flow-pattern map (Beggs and Brill, Taitel-Dukler) is applied.88- No terrain, severe, or hydrodynamic slugging dynamics are modelled.89- No transient slug tracking or slug frequency is computed.90- Not suitable for safety-critical, design, guarantee, or standards-compliance work.9192## Related NeqSim Functionality9394This educational screening corresponds to validated, rigorous functionality in the NeqSim Java library that a qualified engineer should use for design-grade work:9596- `neqsim.process.equipment.pipeline.PipeBeggsAndBrills` — rigorous multiphase pressure drop, holdup, and flow-regime evaluation.97- `neqsim.process.equipment.separator.ThreePhaseSeparator` — slug-catcher / inlet-separation modelling for liquid handling.9899In Python the same classes are reachable through the `neqsim` package (for example `from neqsim import jneqsim`).100101## Escalating to a Transient Simulator102103This screening cannot produce a slug frequency, a slug length distribution, or the liquid surge that arrives at a receiving facility after a ramp-up or a shut-in and restart. When those govern the answer, escalate to the `neqsim-olga-multiphase-simulator` skill (or the `olga-simulation-agent`), which runs an OLGA transient case with slug tracking and returns the arrival trends. Use this screening first to decide whether that cost is justified.104105## References106107- NeqSim repository: https://github.com/equinor/neqsim108- NeqSim Skills Guide: https://github.com/equinor/neqsim/blob/master/docs/integration/skills_guide.md109- Public multiphase flow references such as the Beggs and Brill correlation, the Taitel-Dukler flow-pattern map, and NORSOK P-001/P-002 for general multiphase line concepts.