Pressure Volume Temperature PVT
Definition: PVT modeling describes the changes in hydrocarbon fluid properties (volume, density, and phase) as a function of pressure and temperature. It is essential for converting surface volumes (STB) to reservoir volumes (RB).
Key Properties & Symbols
\(B_o\): Oil Formation Volume Factor (RB/STB)
\(R_s\): Solution Gas-Oil Ratio (scf/STB)
\(\mu_o\): Oil Viscosity (cP)
\(\gamma_o, \gamma_g\): Specific gravities of oil and gas.
The Bubble Point Pressure (\(P_b\)) The pressure at which the first bubble of gas comes out of solution. Below this pressure, the fluid is “saturated.” A common correlation used is Standing’s method.
Numerical Example:
\(R_s = 500 \, \text{scf/STB}\)
\(\gamma_g = 0.65\)
\(T = 200 \, ^\circ\text{F}\):
\(\text{API} = 35\)
double Rs = 500, gamma_g = 0.65, T = 200, API = 35, a = Pow(Rs / gamma_g, 0.83);
double b = Pow(10, (0.00091 * T - 0.0125 * API));
double Pb = 18.2 * (a * b - 1.4);
Console.WriteLine($"Bubble Point Pressure = {Pb:F2} psia");
Ouput
Bubble Point Pressure = 2486.40 psia
Oil Formation Volume Factor(:math:B_o)Since oil shrinks as gas escapes, :math:B_o is almost always greater than 1.0.For pressures below the bubble point, we use the Standing correlation:
Numerical Example:
\(\gamma_o = 0.85\) (Typical for 35 API)
Using \(R_s\), - \(\gamma_g\), and - \(T\) from above:
double Rs = 500, gamma_g = 0.65, gamma_o = 0.85, T = 200;
double F = Rs * Pow(gamma_g / gamma_o, 0.5) + 1.25 * T;
double Bo = 0.9759 + 0.00012 * Pow(F, 1.2);
Console.WriteLine($"Bo at Bubble Point = {Bo:F3} RB/STB");
Ouput
Bo at Bubble Point = 1.280 RB/STB
3.Gas Compressibility Factor(\(z\)) For gas modeling, the Ideal Gas Law fails at high pressure. We use the \(Z\)-factor to correct it. The Hall-Yarborough or Dranchuk-Abu-Kassam methods are standard for coding this.
Linearization for Gas Density:
4. Gas Formation Volume Factor( \(B_g\)) is the ratio of the volume of gas at reservoir conditions to the volume of the same mass of gas at standard conditions. Because gas is highly compressible, \(B_g\) is always a very small number (typically \(< 0.01\)).
Mathematical Expression: Derived from the Real Gas Law (\(pV = nzRT\)):
Or in field units (res bbl/scf):
Where:
\(p\) = Reservoir pressure (psia)
\(T\) = Reservoir temperature (\(^\circ R\))
\(Z\) = Gas deviation factor at \(p\) and \(T\)
5.Isothermal Oil Compressibility(\(c_o\)) Above the bubble point (undersaturated), the oil volume changes only slightly due to pressure.
Code Implementation for Undersaturated \(B_o\). If \(P > P_b\), we adjust the \(B_{ ob}\) (at bubble point) using compressibility:
double Bob = 1.32; // Bo at bubble point
double co = 15e-6; // psi^-1
double P = 5000; // Reservoir pressure
double Pb = 2500; // Bubble point
// Bo = Bob * exp(-co * (P - Pb))
double Bo = Bob * Exp(-co * (P - Pb));
Console.WriteLine($"Undersaturated Bo at {P} psi = {Bo:F3} RB/STB");
Ouput
Undersaturated Bo at 5000 psi = 1.271 RB/STB
Practical Application: Material BalanceWe combine these PVT parameters to calculate the Original Oil In Place (OOIP):