Pressure & temperature correlations

Correlations

Pressure, temperature, and friction factor correlations. Not used directly but passed as model arguments.

Pressure correlations

BeggsAndBrill(<arguments>)

Calculates pressure drop for a single pipe segment using Beggs and Brill 1973 method, with optional Payne corrections.

Returns a ΔP in psi.

Doesn't account for oil/water phase slip, but does properly account for inclination.

As of release v0.9, assumes outlet-defined models only, i.e. top-down from wellhead; thus, uphill flow corresponds to producers and downhill flow to injectors.

For more information, see Petroleum Production Systems by Economides et al., or the the Fekete reference on pressure drops.

Arguments

All arguments take U.S. field units.

  • md: measured depth of the pipe segment, feet
  • tvd: true vertical depth, feet
  • inclination: inclination from vertical, degrees (e.g. vertical => 0)
  • id: inner diameter of the pipe segment, inches
  • v_sl: superficial liquid mixture velocity, ft/s
  • v_sg: superficial gas velocity, ft/s
  • ρ_l: liquid mixture density, lb/ft³
  • ρ_g: gas density, lb/ft³
  • σ_l: liquid/gas interfacial tension, centipoise
  • μ_l: liquid mixture dynamic viscosity
  • μ_g: gas dynamic viscosity
  • roughness: pipe roughness, inches
  • pressure_est: estimated average pressure of the pipe segment (needed to determine the kinetic effects component of the pressure drop)
  • frictionfactor::Function = SerghideFrictionFactor: function used to determine the Moody friction factor
  • uphill_flow = true: indicates uphill or downhill flow. It is assumed that the start of the 1D segment is an outlet and not an inlet
  • PayneCorrection = true: indicates whether the Payne et al. 1979 corrections should be applied to prevent overprediction of liquid holdup.
source

HagedornAndBrown(<arguments>)

Calculates pressure drop for a single pipe segment using the Hagedorn & Brown 1965 method (with recent modifications), with optional Griffith and Wallis bubble flow corrections.

Returns a ΔP in psi.

Doesn't account for oil/water phase slip, and does not incorporate flow regimes distinctions outside of in/out of bubble flow. Originally developed for vertical wells.

As of release v0.9, assumes outlet-defined models only, i.e. top-down from wellhead; thus, uphill flow corresponds to producers and downhill flow to injectors.

For more information, see Petroleum Production Systems by Economides et al., or the the Fekete reference on pressure drops.

Arguments

All arguments take U.S. field units.

  • md: measured depth of the pipe segment, feet
  • tvd: true vertical depth, feet
  • inclination: inclination from vertical, degrees (e.g. vertical => 0)
  • id: inner diameter of the pipe segment, inches
  • v_sl: superficial liquid mixture velocity, ft/s
  • v_sg: superficial gas velocity, ft/s
  • ρ_l: liquid mixture density, lb/ft³
  • ρ_g: gas density, lb/ft³
  • σ_l: liquid/gas interfacial tension, centipoise
  • μ_l: liquid mixture dynamic viscosity
  • μ_g: gas dynamic viscosity
  • roughness: pipe roughness, inches
  • pressure_est: estimated average pressure of the pipe segment (needed to determine the kinetic effects component of the pressure drop)
  • frictionfactor::Function = SerghideFrictionFactor: function used to determine the Moody friction factor
  • uphill_flow = true: indicates uphill or downhill flow. It is assumed that the start of the 1D segment is an outlet and not an inlet
  • GriffithWallisCorrection = true: indicates whether the Griffith and Wallis 1961 corrections should be applied to prevent overprediction of liquid holdup.
source

Temperature correlations

linear_wellboretemp(;WHT, BHT, wellbore::Wellbore)

Linear temperature profile from a wellhead temperature and bottomhole temperature in °F for a Wellbore object.

Interpolation is based on true vertical depth of the wellbore, not md.

source

Shiu_wellboretemp(<named arguments>)

Wrapper to compute temperature profile for a Wellbore object using Ramey correlation with Shiu relaxation factor correlation.

Arguments

  • BHT: bottomhole temperature in °F
  • geothermal_gradient = 1.0: geothermal gradient in °F per 100 feet
  • wellbore::Wellbore: Wellbore object to use as reference for segmentation, inclination, and
  • q_o: oil rate in stb/d
  • q_w: water rate in stb/d
  • GLR: gas:liquid ratio in scf/day
  • APIoil: oil gravity
  • sg_water: water specific gravity
  • sg_gas: gas specific gravity
  • WHP: wellhead/outlet absolute pressure in psig
source

Ramey_wellboretemp(z, inclination, T_bh, A, G_g = 1.0)

Estimates wellbore temp using Ramey 1962 method.

Arguments

  • z: true vertical depth from the bottom of the well, ft
  • T_bh: bottomhole temperature, °F
  • A: relaxation factor
  • G_g = 1.0: geothermal gradient in °F per 100 ft of true vertical depth
source

Shiu_Beggs_relaxationfactor(<arguments>)

Generates the relaxation factor, A, needed for the Ramey method, for underspecified conditions.

This correlation assumes flow has stabilized and that the transient time component f(t) is not changing.

Arguments

All arguments are in U.S. field units.

  • q_o: oil rate in stb/d
  • q_w: water rate in stb/d
  • APIoil: API oil gravity
  • sg_water: water specific gravity
  • GLR: gas:liquid ratio in scf/stb
  • sg_gas: gas specific gravity
  • id: flow path inner diameter in inches
  • WHP: wellhead/outlet absolute pressure in psig
source

Friction factor correlations

SerghideFrictionFactor(N_Re, id, roughness = 0.01)

Uses the direct Serghide 1984 correlation to determine friction factor, in place of the Colebrook implicit solution.

Takes the dimensionless Reynolds number, pipe inner diameter in inches, and roughness in inches.

Not intended for Reynolds numbers between 2000-4000.

source

ChenFrictionFactor(N_Re, id, roughness = 0.01)

Uses the direct Chen 1979 correlation to determine friction factor, in place of the Colebrook implicit solution.

Takes the dimensionless Reynolds number, pipe inner diameter in inches, and roughness in inches.

Not intended for Reynolds numbers between 2000-4000.

source