bluebonnet.fluids.oil

Oil PVT properties.

Functions

b_o_Standing(→ numpy.typing.NDArray | float)

Calculate the oil formation volume factor (Bo) using Standing.

pressure_bubblepoint_Standing(→ float)

Calculate the bubble point pressure using Standing.

b_o_bubblepoint_Standing(→ numpy.typing.NDArray | float)

Calculate the oil formation volume factor (Bo) at the bubble point using Standing.

db_o_dgor_Standing(→ float)

Calculate the derivative of Bo per solution GOR at the bubble point.

solution_gor_Standing(→ numpy.typing.NDArray | float)

Calculate the solution GOR partition using Standing.

dgor_dpressure_Standing(→ float)

Calculate the instantaneous change in GOR with pressure using Standing.

oil_compressibility_undersat_Standing(→ float)

Calculate the oil compressibility (c_o) using Standing.

oil_compressibility_undersat_Spivey(...)

Calculate the oil compressibility (c_o) using Spivey.

oil_compressibility_Standing(→ float)

Calculate the oil formation volume factor (Bo) using Standing.

density_Standing(→ float)

Calculate the oil density using Standing.

viscosity_beggs_robinson(→ float)

Calculate the oil viscosity using Beggs-Robinson.

Module Contents

bluebonnet.fluids.oil.b_o_Standing(temperature: float, pressure: numpy.typing.NDArray | float, api_gravity: float, gas_specific_gravity: float, solution_gor_initial: float) numpy.typing.NDArray | float[source]

Calculate the oil formation volume factor (Bo) using Standing.

Parameters:
  • temperature (float) – reservoir temperature in Fahrenheit.

  • pressure (float) – reservoir pressure (psia)

  • api_gravity (float) – Oil gravity in degrees API.

  • gas_specific_gravity (float) – Gas gravity relative to air.

  • solution_gor_initial (float) – Initial gas:oil ratio in scf/bbl.

Returns:

Bo, the formation volume factor (V/V)

Return type:

float

Examples

>>> b_o_Standing(200, 3_000, 35, 0.8, 650)
>>> b_o_Standing(200, 2_000, 35, 0.8, 650)
1.2820114682225974
bluebonnet.fluids.oil.pressure_bubblepoint_Standing(temperature: float, api_gravity: float, gas_specific_gravity: float, solution_gor_initial: float) float[source]

Calculate the bubble point pressure using Standing.

Parameters:
  • temperature (float) – reservoir temperature in Fahrenheit.

  • api_gravity (float) – Oil gravity in degrees API.

  • gas_specific_gravity (float) – Gas gravity relative to air.

  • solution_gor_initial (float) – Gas: oil ratio in scf/bbl.

Returns:

p_b – Bubble point pressure in psia.

Return type:

float

Examples

>>> pressure_bubblepoint_Standing(200, 35, 0.8, 650)
2627.2017021875276
bluebonnet.fluids.oil.b_o_bubblepoint_Standing(temperature: float, api_gravity: float, gas_specific_gravity: float, solution_gor_initial: numpy.typing.NDArray | float) numpy.typing.NDArray | float[source]

Calculate the oil formation volume factor (Bo) at the bubble point using Standing.

Parameters:
  • temperature (float) – reservoir temperature in Fahrenheit.

  • api_gravity (float) – Oil gravity in degrees API.

  • gas_specific_gravity (float) – Gas gravity relative to air.

  • solution_gor_initial (NDArray) – Initial gas:oil ratio in scf/bbl.

Returns:

b_o – Oil formation volume factor (rb/stb)

Return type:

NDArray

Example

>>> b_o_bubblepoint_Standing(200, 35, 0.8, 650)
1.3860514623492897
bluebonnet.fluids.oil.db_o_dgor_Standing(temperature: float, api_gravity: float, gas_specific_gravity: float, solution_gor_initial: float) float[source]

Calculate the derivative of Bo per solution GOR at the bubble point.

Parameters:
  • temperature (float) – reservoir temperature in Fahrenheit.

  • api_gravity (float) – Oil gravity in degrees API.

  • gas_specific_gravity (float) – Gas gravity relative to air.

  • solution_gor_initial (NDArray) – Initial gas:oil ratio in scf/bbl.

Returns:

dbo_dgor – Change in Oil formation volume factor per unit GOR (rb/stb / (scf/bbl))

Return type:

NDArray

Example

>>> db_o_dgor_Standing(200, 35, 0.8, 650)
bluebonnet.fluids.oil.solution_gor_Standing(temperature: float, pressure: numpy.typing.NDArray | float, api_gravity: float, gas_specific_gravity: float, solution_gor_initial: float) numpy.typing.NDArray | float[source]

Calculate the solution GOR partition using Standing.

Parameters:
  • temperature (float) – reservoir temperature in Fahrenheit.

  • pressure (float or array) – reservoir pressure (psia)

  • api_gravity (float) – Oil gravity in degrees API.

  • gas_specific_gravity (float) – Gas gravity relative to air.

  • solution_gor_initial (float) – Gas: oil ratio in scf/bbl.

Returns:

gor – Solution GOR in scf/stb

Return type:

float

Examples

>>> solution_gor_Standing(200, 3_000, 35, 0.8, 650)
650
>>> solution_gor_Standing(200, 2_000, 35, 0.8, 650)
453.6099792270382
bluebonnet.fluids.oil.dgor_dpressure_Standing(temperature: float, pressure: float, api_gravity: float, gas_specific_gravity: float, solution_gor_initial: float) float[source]

Calculate the instantaneous change in GOR with pressure using Standing.

Parameters:
  • temperature (float) – reservoir temperature in Fahrenheit.

  • pressure (float) – reservoir pressure (psia)

  • api_gravity (float) – Oil gravity in degrees API.

  • gas_specific_gravity (float) – Gas gravity relative to air.

  • solution_gor_initial (float) – Initial gas:oil ratio in scf/bbl.

Returns:

dgor – Change in GOR per pressure ( scf / scf / psi). \(\partial R_s/\partial p\)

Return type:

float

Examples

>>> dgor_dpressure_Standing(200, 3_000, 35, 0.8, 650)
0
>>> dgor_dpressure_Standing(200, 2_000, 35, 0.8, 650)
0.2824395998221715
bluebonnet.fluids.oil.oil_compressibility_undersat_Standing(temperature: float, pressure: float, api_gravity: float, gas_specific_gravity: float, solution_gor_initial: float) float[source]

Calculate the oil compressibility (c_o) using Standing.

Parameters:
  • temperature (float) – reservoir temperature in Fahrenheit.

  • pressure (float) – reservoir pressure (psia)

  • api_gravity (float) – Oil gravity in degrees API.

  • gas_specific_gravity (float) – Gas gravity relative to air.

  • solution_gor_initial (float) – Initial gas:oil ratio in scf/bbl.

Returns:

c_o – oil compressibility in 1/psi

Return type:

float

Example

>>> oil_compressibility_undersat_Standing(200, 3_000, 35, 0.8, 650)
1.478788544207282e-05
bluebonnet.fluids.oil.oil_compressibility_undersat_Spivey(temperature: float, pressure: numpy.typing.NDArray | float, api_gravity: float, gas_specific_gravity: float, solution_gor_initial: float) numpy.typing.NDArray | float[source]

Calculate the oil compressibility (c_o) using Spivey.

Parameters:
  • temperature (float) – reservoir temperature in Fahrenheit.

  • pressure (float or array) – reservoir pressure (psia)

  • api_gravity (float) – Oil gravity in degrees API.

  • gas_specific_gravity (float) – Gas gravity relative to air.

  • solution_gor_initial (float) – Initial gas:oil ratio in scf/bbl.

Returns:

c_o – oil compressibility in 1/psi

Return type:

float

Examples

>>> oil_compressibility_undersat_Spivey(200, 3_000, 35, 0.8, 650)
9.177554347361075e-06
bluebonnet.fluids.oil.oil_compressibility_Standing(temperature: float, pressure: float, api_gravity: float, gas_specific_gravity: float, solution_gor_initial: float, temperature_pseudocritical: float, pressure_pseudocritical: float, temperature_standard: float = 60, pressure_standard: float = 14.7) float[source]

Calculate the oil formation volume factor (Bo) using Standing.

Parameters:
  • temperature (float) – reservoir temperature in Fahrenheit.

  • pressure (float) – reservoir pressure (psia)

  • api_gravity (float) – Oil gravity in degrees API.

  • gas_specific_gravity (float) – Gas gravity relative to air.

  • solution_gor_initial (float) – Initial gas:oil ratio in scf/bbl.

  • pressure_pseudocritical (float) – Gas pseudocritical pressure (use gas module) in psia

  • temperature_pseudocritical (float) – Gas pseudocritical temperature (use gas module) in F

  • temperature_standard (float) – standard temperature in F (default: 60)

  • pressure_standard (float) – standard pressure in psia (default: 14.70)

Returns:

c_o – oil compressibility in 1/psi

Return type:

float

Examples

>>> oil_compressibility_Standing(200, 3000, 35, 0.8, 650, -72.2, 653)
>>> oil_compressibility_Standing(200, 2000, 35, 0.8, 650, -72.2, 653)
bluebonnet.fluids.oil.density_Standing(temperature: float, pressure: float, api_gravity: float, gas_specific_gravity: float, solution_gor_initial: float) float[source]

Calculate the oil density using Standing.

Parameters:
  • temperature (float) – reservoir temperature in Fahrenheit.

  • pressure (float) – reservoir pressure (psia)

  • api_gravity (float) – Oil gravity in degrees API.

  • gas_specific_gravity (float) – Gas gravity relative to air.

  • solution_gor_initial (float) – Initial gas:oil ratio in scf/bbl.

Returns:

rho_o – oil density (lb/ft^3)

Return type:

float

Examples

>>> density_Standing(200, 2000, 35, 0.8, 650)
44.989365953905136
bluebonnet.fluids.oil.viscosity_beggs_robinson(temperature: float, pressure: float, api_gravity: float, gas_specific_gravity: float, solution_gor_initial: float) float[source]

Calculate the oil viscosity using Beggs-Robinson.

Parameters:
  • temperature (float) – reservoir temperature in Fahrenheit.

  • pressure (float) – reservoir pressure (psia)

  • api_gravity (float) – Oil gravity in degrees API.

  • gas_specific_gravity (float) – Gas gravity relative to air.

  • solution_gor_initial (float) – Initial gas:oil ratio in scf/bbl.

Returns:

mu_o\(\mu_o\), the oil viscosity

Return type:

float