bluebonnet.fluids.oil¶
Oil PVT properties.
Functions¶
|
Calculate the oil formation volume factor (Bo) using Standing. |
|
Calculate the bubble point pressure using Standing. |
|
Calculate the oil formation volume factor (Bo) at the bubble point using Standing. |
|
Calculate the derivative of Bo per solution GOR at the bubble point. |
|
Calculate the solution GOR partition using Standing. |
|
Calculate the instantaneous change in GOR with pressure using Standing. |
Calculate the oil compressibility (c_o) using Standing. |
|
Calculate the oil compressibility (c_o) using Spivey. |
|
|
Calculate the oil formation volume factor (Bo) using Standing. |
|
Calculate the oil density using Standing. |
|
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