Oil FVF and Bubble Point (Vasquez-Beggs)
On this page
Summary
The oil formation volume factor, Oil formation volume factor, is the reservoir volume of oil and its dissolved gas per stock-tank barrel. It depends on how much gas is dissolved, which is set by Bubble point pressure and the Solution gas-oil ratio. The Vasquez-Beggs correlations estimate the solution gas, the bubble point and the factor from the oil gravity, the gas gravity, the temperature and the pressure. Use them when no laboratory PVT report exists, and replace them with the report when it does.
Inputs and outputs
| Item | Units | |
|---|---|---|
| Input | Oil gravity | °API |
| Input | Gas gravity | air = 1 |
| Input | Formation temperature | °F |
| Input | Solution gas-oil ratio at bubble point | scf/stb |
| Input | Reservoir pressure | psia |
| Output | Bubble point pressure | psia |
| Output | Solution gas-oil ratio | scf/stb |
| Output | Oil formation volume factor | rb/stb |
Equations
The Vasquez-Beggs solution gas-oil ratio at pressure \(\Pres\) (psia) and temperature \(\Tform\) (°F) is
so for a measured solution gas-oil ratio at the bubble point, \(\Rsob\), the bubble point pressure is the inversion
At or below the bubble point the oil is saturated, the solution gas is \(\Rsol\) at the current pressure, and the factor is
Above the bubble point the oil is undersaturated, the gas in solution stays at \(\Rsob\), and the factor at the bubble point, \(B_{ob}\) (the previous equation with \(\Rsol = \Rsob\)), falls with pressure according to the oil compressibility:
The coefficients depend on the oil gravity:
| Coefficient | API ≤ 30 | API > 30 |
|---|---|---|
| \(C_1\) | 0.0362 | 0.0178 |
| \(C_2\) | 1.0937 | 1.1870 |
| \(C_3\) | 25.724 | 23.931 |
| \(C_4\) | 4.677e-4 | 4.670e-4 |
| \(C_5\) | 1.751e-5 | 1.100e-5 |
| \(C_6\) | -1.811e-8 | 1.337e-9 |
Vasquez and Beggs define \(\gammaGas\) as the gas gravity corrected to a separator pressure of 100 psig. If the gravity was measured at another separator pressure \(p_s\) (psia) and temperature \(T_s\) (°F), the correction is \(\gamma_{g,100} = \gamma_g\left[1 + 5.912\times10^{-5}\,\mathrm{API}\,T_s\log_{10}(p_s/114.7)\right]\).
Standing's correlations are the common alternative. With \(\gamma_o = 141.5/(131.5 + \mathrm{API})\),
| Symbol | Variable | Units | Typical range |
|---|---|---|---|
| \(\mathrm{API}\) | Oil gravity | °API | 10 to 60 |
| \(\gamma_g\) | Gas gravity | air = 1 | 0.55 to 1.3 |
| \(T_f\) | Formation temperature | °F | 75 to 350 |
| \(R_{sb}\) | Solution gas-oil ratio at bubble point | scf/stb | 0 to 2000 |
| \(p\) | Reservoir pressure | psia | 500 to 20000 |
| \(R_s\) | Solution gas-oil ratio | scf/stb | 0 to 2000 |
| \(p_b\) | Bubble point pressure | psia | |
| \(c_o\) | Undersaturated oil compressibility | 1/psi | 5e-6 to 3e-5 |
| \(B_o\) | Oil formation volume factor | rb/stb | 1.0 to 2.5 |
Single-value calculator
Behavior
The factor climbs with pressure as gas dissolves, reaches its maximum at the bubble point, and then falls slowly as the undersaturated oil is compressed. For a 35 °API oil of gas gravity 0.75 at 200 °F, the three curves use solution gas-oil ratios of 300, 600 and 900 scf/stb. Their bubble points are 1,590, 2,852 and 4,013 psia, and the peak factors are 1.215, 1.357 and 1.500. Below 1,500 psia the three curves are the same, 1.205 at 1,500 psia, because they follow the same saturated line; each leaves it at its own bubble point. Above the bubble point the 600 scf/stb curve falls from 1.357 to 1.346 at 3,500 psia and 1.325 at 6,000 psia. A richer oil has both a higher bubble point and a higher factor.
Parameter guidance
Gas gravity and oil gravity come from the PVT report or from the separator and stock-tank measurements of the production test. The correlation expects the solution-gas gravity corrected to 100 psig. Solution gas-oil ratio at the bubble point is the flash gas-oil ratio of a PVT report, or the initial producing gas-oil ratio of a test if the oil was saturated, as a screening value. Pressure and temperature are the reservoir values from Reservoir Pressure and Temperature. The calculator takes the reservoir pressure so that the factor can be evaluated at the initial pressure, or at any lower pressure for a depleted case. The correlations were fitted to a data set of crude oils from many fields and should be used within their ranges, roughly 15 to 60 °API, 0.5 to 1.35 gas gravity, 75 to 294 °F and solution gas-oil ratios up to about 2,200 scf/stb. Outside those ranges, or for volatile oil, use a PVT report or an equation of state.
Worked example
A 35 °API oil with gas gravity 0.75 at 200 °F and a bubble-point solution gas-oil ratio of 600 scf/stb, evaluated along a pressure decline. The last lines compare the bubble point and factor at the bubble point with Standing's correlations:
import math
api, g, T, rsb = 35.0, 0.75, 200.0, 600.0
c1, c2, c3 = (0.0362, 1.0937, 25.724) if api <= 30 else (0.0178, 1.1870, 23.931)
c4, c5, c6 = (4.677e-4, 1.751e-5, -1.811e-8) if api <= 30 else (4.670e-4, 1.100e-5, 1.337e-9)
k = g * math.exp(c3 * api / (T + 459.67))
pb = (rsb / (c1 * k)) ** (1 / c2)
print(f"bubble point (Vasquez-Beggs) = {pb:,.0f} psia")
def bo_sat(rs):
return 1 + c4 * rs + (T - 60) * (api / g) * (c5 + c6 * rs)
co_den = -1433 + 5 * rsb + 17.2 * T - 1180 * g + 12.61 * api
print(f"{'p (psia)':>9} {'state':>14} {'Rs':>7} {'Bo':>7}")
for p in (500, 1000, 2000, 2852, 3500, 5000, 6000):
if p <= pb:
rs = c1 * k * p ** c2
print(f"{p:9d} {'saturated':>14} {rs:7.1f} {bo_sat(rs):7.4f}")
else:
co = co_den / (1e5 * p)
print(f"{p:9d} {'undersaturated':>14} {rsb:7.1f} {bo_sat(rsb) * math.exp(co * (pb - p)):7.4f}")
go = 141.5 / (131.5 + api)
pb_s = 18.2 * ((rsb / g) ** 0.83 * 10 ** (0.00091 * T - 0.0125 * api) - 1.4)
bob_s = 0.9759 + 1.2e-4 * (rsb * (g / go) ** 0.5 + 1.25 * T) ** 1.2
print(f"Standing: Pb = {pb_s:,.0f} psia, Bob = {bob_s:.4f} Vasquez-Beggs: Pb = {pb:,.0f} psia, Bob = {bo_sat(rsb):.4f}")
Output
bubble point (Vasquez-Beggs) = 2,852 psia
p (psia) state Rs Bo
500 saturated 76.0 1.1080
1000 saturated 172.9 1.1541
2000 saturated 393.8 1.2592
2852 undersaturated 600.0 1.3573
3500 undersaturated 600.0 1.3459
5000 undersaturated 600.0 1.3310
6000 undersaturated 600.0 1.3252
Standing: Pb = 2,570 psia, Bob = 1.3489 Vasquez-Beggs: Pb = 2,852 psia, Bob = 1.3573
Assumptions and limitations
- The oil is a black oil: a liquid at reservoir conditions that sheds gas as pressure falls. Volatile oils and near-critical fluids are outside the correlation, and an equation of state is needed.
- The coefficients were fitted to a set of crude oils and are an average. A single oil can be off by 10 percent or more in solution gas-oil ratio and by a few percent in formation volume factor, which is the reason for using a PVT report whenever there is one.
- The correlations assume the solution gas-oil ratio, the gas gravity and the oil gravity are consistent with one another. Mixed or inconsistent inputs, such as a gas gravity from another well, give a bubble point that does not match the reservoir.
- The undersaturated step uses an oil compressibility correlation, and the formation volume factor at the bubble point is assumed to be that of the saturated correlation.
- Temperature is the reservoir temperature, constant over the interval. Pressure is treated as one value for the interval.
QC checks
- The bubble point from the correlation is close to the measured bubble point of a nearby PVT sample, within about 10 to 15 percent. If the measured value is lower than the reservoir pressure the oil is undersaturated, and if higher there is a gas cap or the sample is not representative.
- The factor is above 1 and rises with the solution gas-oil ratio. A factor below 1 means a unit or input error.
- At and below the bubble point the factor falls as pressure falls, and above it the factor also falls as pressure rises. The curve is peaked at the bubble point: any other shape means the saturated and undersaturated branches were mixed up.
- Compare with Standing's correlations. A large difference between the two, more than about 5 to 10 percent, signals an input outside the range of one of them.
- API is the stock-tank gravity, and temperature is in degrees Fahrenheit. The correlation uses absolute temperature internally.
Going Deeper
The first widely used oil correlations were Standing's, published in 1947 from California oils, and Vasquez and Beggs fitted a larger, worldwide data set in 1980 and split the coefficients at 30 °API to reflect the different behavior of heavy and light oils. Neither is a substitute for a PVT report. Where the reservoir fluid was sampled, laboratory differential liberation and separator tests give the solution gas-oil ratio and the factor directly; the correlation is then used only to extend to other pressures or to wells without samples. A common implementation error is to apply the saturated equation at all pressures, which makes the factor keep rising above the bubble point instead of falling. For gas condensates and volatile oils, the reservoir volumes depend on a compositional treatment, and the factor is reported with a vaporized oil-gas ratio as well.
References
- Vasquez, M. and Beggs, H.D., 1980. Correlations for fluid physical property prediction. Journal of Petroleum Technology, 32(6), 968–970.
- Standing, M.B., 1947. A pressure-volume-temperature correlation for mixtures of California oils and gases. Drilling and Production Practice, American Petroleum Institute, 275–287.
Python reference implementation
Python reference implementation
The Python reference implementation is available to registered users with a verified email address. Register or sign in to view it.