PVT properties

PVT properties

Most of the PVT property functions are passed as arguments to the core calculation functions, but are not used directly.

Exported functions

User-facing functions used for model construction.

Oil

Gas

Water

Internal functions

Functions

BeggsAndRobinsonDeadOilViscosity(APIoil, tempF)

Dead oil viscosity (μ_oD) in centipoise.

Takes oil gravity (°API), temp (°F).

Use with caution at 100-150° F: viscosity can be significantly overstated.

Beggs and Robinson method.

source

ChewAndConnallySaturatedOilViscosity(deadOilViscosity, solutionGOR)

Saturated oil viscosity (μₒ) in centipoise.

Takes dead oil viscosity (cp), solution GOR (scf/bbl).

Chew and Connally method to correct from dead to live oil viscosity.

source

GlasoDeadOilViscosity(APIoil, tempF)

Dead oil viscosity (μ_oD) in centipoise.

Takes oil gravity (°API), temp (°F).

Glaso method.

source

GouldWaterVolumeFactor(pressureAbs, tempF)

Water volume factor (B_w).

Takes absolute pressure (psia), temp (°F).

Gould method.

source

HankinsonWithWichertPseudoCriticalPressure(specificGravity, molFracCO2, molFracH2S)

Pseudo-critical pressure in psia.

Takes gas specific gravity, mol fraction of CO₂, mol fraction of H₂S.

Hankin-Thomas-Phillips method, with Wichert and Aziz correction for sour components.

source

HankinsonWithWichertPseudoCriticalTemp(specificGravity, molFracCO2, molFracH2S)

Pseudo-critical temperature, adjusted pseudo-critical temperature in °R, and Wichert correction factor

Takes gas specific gravity, mol fraction of CO₂, mol fraction of H₂S.

Hankin-Thomas-Phillips method, with Wichert and Aziz correction for sour components.

source

KareemEtAlZFactor(pressurePseudoCritical, tempPseudoCriticalRankine, psiAbs, tempF)

Natural gas compressibility deviation factor (Z).

Take pseudocritical pressure (psia), pseudocritical temperature (°R), pressure (psia), temperature (°F).

Can use gauge pressures so long as unit basis matches.

Direct correlation continuous over 0.2 ≤ P_pr ≤ 15.

Kareem, Iwalewa, Al-Marhoun, 2016.

source

KareemEtAlZFactor_simplified(pressurePseudoCritical, tempPseudoCriticalRankine, psiAbs, tempF)

Natural gas compressibility deviation factor (Z).

Take pseudocritical pressure (psia), pseudocritical temperature (°R), pressure (psia), temperature (°F).

Linearized form from Kareem, Iwalewa, Al-Marhoun, 2016.

source

LeeGasViscosity(specificGravity, psiAbs, tempF, Z)

Gas viscosity (μ_g) in centipoise.

Takes gas specific gravity, psia, °F, Z (deviation factor).

Lee et al 1966 method.

source

PapayZFactor(pressurePseudoCritical, tempPseudoCriticalRankine, psiAbs, tempF)

Natural gas compressibility deviation factor (Z).

Take pseudocritical pressure (psia), pseudocritical temperature (°R), pressure (psia), temperature (°F).

Papay 1968 method.

source

StandingBubblePoint(APIoil, sg_gas, R_b, tempF)

Bubble point pressure in psia.

Takes oil gravity (°API), gas specific gravity, total solution GOR at pressures above bubble point (R_b, scf/bbl), temp (°F).

source

StandingOilVolumeFactor(APIoil, specificGravityGas, solutionGOR, psiAbs, tempF)

Oil volume factor (Bₒ).

Takes oil gravity (°API), gas specific gravity, solution GOR (scf/bbl), absolute pressure (psia), temp (°F).

Standing method.

source

StandingSolutionGOR(APIoil, specificGravityGas, psiAbs, tempF)

Solution GOR (Rₛ) in scf/bbl.

Takes oil gravity (°API), gas specific gravity, pressure (psia), temp (°F), total solution GOR (R_b, scf/bbl), and bubblepoint function.

Standing method.

source

StandingSolutionGOR(APIoil, specificGravityGas, psiAbs, tempF)

Solution GOR (Rₛ) in scf/bbl.

Takes oil gravity (°API), gas specific gravity, pressure (psia), temp (°F), total solution GOR (R_b, scf/bbl), and bubblepoint value (psia).

Standing method.

source

gasDensity_insitu(specificGravityGas, Z_factor, abspressure, tempF)

In-situ gas density in lb/ft³ (ρ_g).

Takes gas s.g., Z-factor, absolute pressure (psia), temperature (°F).

source

gasVolumeFactor(pressureAbs, Z, tempF)

Corrected gas volume factor (B_g).

Takes absolute pressure (psia), Z-factor, temp (°F).

source

gas_oil_interfacialtension(APIoil, pressureAbsolute, tempF)

Gas-oil interfactial tension in dynes/cm.

Takes oil API, absolute pressure (psia), temp (°F).

Possibly Baker Swerdloff method; same method utilized by Fekete

source

gas_water_interfacialtension(pressureAbsolute, tempF)

Gas-water interfactial tension in dynes/cm.

Takes absolute pressure (psia), temp (°F).

Possibly Baker Swerdloff method; same method utilized by Fekete

source

oilDensity_insitu(APIoil, specificGravityGas, solutionGOR, oilVolumeFactor)

Oil density (ρₒ) in mass-lbs per ft³.

Takes oil gravity (°API), gas specific gravity, solution GOR (R_s, scf/bbl), oil volume factor.

source

waterDensity_insitu(waterGravity, B_w)

Water density in lb per ft³.

Takes specific gravity, B_w.

source

waterDensity_stb(waterGravity)

Water density in lb per ft³.

Takes water specific gravity.

source

gasVolumeFactor(pressureAbs, Z, tempF)

Corrected gas volume factor (B_g).

Takes absolute pressure (psia), Z-factor, temp (°F).

source

gasDensity_insitu(specificGravityGas, Z_factor, abspressure, tempF)

In-situ gas density in lb/ft³ (ρ_g).

Takes gas s.g., Z-factor, absolute pressure (psia), temperature (°F).

source

oilDensity_insitu(APIoil, specificGravityGas, solutionGOR, oilVolumeFactor)

Oil density (ρₒ) in mass-lbs per ft³.

Takes oil gravity (°API), gas specific gravity, solution GOR (R_s, scf/bbl), oil volume factor.

source

waterDensity_stb(waterGravity)

Water density in lb per ft³.

Takes water specific gravity.

source

waterDensity_insitu(waterGravity, B_w)

Water density in lb per ft³.

Takes specific gravity, B_w.

source

gas_oil_interfacialtension(APIoil, pressureAbsolute, tempF)

Gas-oil interfactial tension in dynes/cm.

Takes oil API, absolute pressure (psia), temp (°F).

Possibly Baker Swerdloff method; same method utilized by Fekete

source

gas_water_interfacialtension(pressureAbsolute, tempF)

Gas-water interfactial tension in dynes/cm.

Takes absolute pressure (psia), temp (°F).

Possibly Baker Swerdloff method; same method utilized by Fekete

source