Gas FVF and Z-Factor
On this page
Summary
The gas formation volume factor, Gas formation volume factor, is the reservoir volume that one standard cubic foot of gas occupies. It follows from the real-gas law with the compressibility factor Gas compressibility factor. The factor is estimated from the gas gravity with Sutton's pseudo-critical properties and an explicit equation of state, the Hall-Yarborough form, solved for the reduced density. Use it for a dry or lean gas when no laboratory Z-factor is available.
Inputs and outputs
| Item | Units | |
|---|---|---|
| Input | Reservoir pressure | psia |
| Input | Formation temperature | °F |
| Input | Gas gravity | air = 1 |
| Output | Pseudo-critical temperature | °R |
| Output | Pseudo-critical pressure | psia |
| Output | Pseudo-reduced temperature | dimensionless |
| Output | Pseudo-reduced pressure | dimensionless |
| Output | Reduced density (Hall-Yarborough) | dimensionless |
| Output | Gas compressibility factor | dimensionless |
| Output | Gas formation volume factor | rcf/scf |
Equations
Pseudo-critical properties from the gas gravity (Sutton's correlation for hydrocarbon gases), with temperature in Rankine and pressure in psia:
The pseudo-reduced properties are
Hall and Yarborough write the real-gas equation of state in terms of a reduced density \(\Yhy\). With \(t = 1/\Tpr\) and \(A = 0.06125\,t\,\exp\!\left[-1.2\,(1-t)^2\right]\), the density is the root of
and the compressibility factor and the formation volume factor follow:
The constant 0.02827 is \(p_{sc}/T_{sc}\) for 14.7 psia and 520 °R. The calculator solves \(F = 0\) by bisection on the interval 0 to 0.99, which always converges. Newton iteration from a small starting value is the usual choice and is faster, but it can step outside the valid range for low reduced temperature and high reduced pressure.
| Symbol | Variable | Units | Typical range |
|---|---|---|---|
| \(\gamma_g\) | Gas gravity | air = 1 | 0.55 to 1.3 |
| \(T_f\) | Formation temperature | °F | 75 to 350 |
| \(p\) | Reservoir pressure | psia | 500 to 20000 |
| \(T_{pc}\) | Pseudo-critical temperature | °R | 350 to 500 |
| \(p_{pc}\) | Pseudo-critical pressure | psia | 570 to 700 |
| \(T_{pr}\) | Pseudo-reduced temperature | dimensionless | 1.2 to 3 |
| \(p_{pr}\) | Pseudo-reduced pressure | dimensionless | 0 to 15 |
| \(Y\) | Reduced density (Hall-Yarborough) | dimensionless | 0 to 0.5 |
| \(Z\) | Gas compressibility factor | dimensionless | 0.7 to 1.4 |
| \(B_g\) | Gas formation volume factor | rcf/scf | 0.002 to 0.02 |
Single-value calculator
Behavior
The Z-factor falls below 1 at moderate pressure, where attraction between molecules makes the gas more compressible than an ideal gas, and then rises above 1 at high pressure, where molecular volume dominates. At 200 °F and a gas gravity of 0.7, Z is 0.922 at 1,000 psia, 0.886 at 3,000, 0.999 at 5,000 and 1.254 at 8,000 psia. A heavier gas has a lower Z in the dip: at 3,000 psia the gravities 0.6, 0.7 and 0.8 give 0.920, 0.886 and 0.851. The order reverses at high pressure: at 8,000 psia the same three give 1.234, 1.254 and 1.280. The formation volume factor itself falls steeply with pressure, almost as 1/p: at 200 °F and 0.7 gravity it is 0.0172, 0.00550, 0.00373 and 0.00292 rcf/scf at 1,000, 3,000, 5,000 and 8,000 psia. At the same pressure it rises with temperature, from 0.00337 at 150 °F to 0.00409 at 250 °F at 5,000 psia.
Parameter guidance
Gas gravity is the specific gravity of the produced gas relative to air, from a gas analysis or from the separator gas of a test; typical dry gas values are 0.55 to 0.7 and rich gas reaches 0.8 or more. Temperature is the reservoir temperature from Reservoir Pressure and Temperature. Pressure is the reservoir pressure, absolute, at the depth of the interval. The correlation for pseudo-critical properties is for hydrocarbon gases. Hydrogen sulfide and carbon dioxide change them and need a correction such as that of Wichert and Aziz, and nitrogen is usually corrected as well; with large fractions of those gases, use a laboratory Z-factor. For a condensate gas use the well-stream gravity, and note that the surface condensate yield must be added separately. The Hall-Yarborough form is considered reliable for pseudo-reduced temperature between about 1.2 and 3 and pseudo-reduced pressure up to about 15 or so; outside those bounds the calculator still returns a number, but it should not be trusted.
Worked example
A lean gas with gravity 0.70 at 200 °F, evaluated along a pressure decline, and the Bg that would result from assuming Z = 1 (the ideal gas):
import math
g, T = 0.70, 200.0
tpc = 169.2 + 349.5 * g - 74 * g ** 2
ppc = 756.8 - 131 * g - 3.6 * g ** 2
tabs = T + 459.67
t = tpc / tabs # 1 / Tpr
A = 0.06125 * t * math.exp(-1.2 * (1 - t) ** 2)
c1 = 14.76 * t - 9.76 * t ** 2 + 4.58 * t ** 3
c2 = 90.7 * t - 242.2 * t ** 2 + 42.4 * t ** 3
c3 = 2.18 + 2.82 * t
print(f"Tpc = {tpc:.1f} R, Ppc = {ppc:.1f} psia, Tpr = {tabs / tpc:.3f}")
def z_hy(p):
ppr = p / ppc
f = lambda y: -A * ppr + (y + y**2 + y**3 - y**4) / (1 - y) ** 3 - c1 * y**2 + c2 * y ** c3
lo, hi = 1e-12, 0.99
for _ in range(80):
mid = 0.5 * (lo + hi)
lo, hi = (lo, mid) if f(mid) > 0 else (mid, hi)
y = 0.5 * (lo + hi)
return ppr, y, A * ppr / y
print(f"{'p (psia)':>9} {'Ppr':>6} {'Y':>7} {'Z':>6} {'Bg (rcf/scf)':>13} {'Bg if Z=1':>10}")
for p in (500, 1000, 2000, 3000, 5000, 8000, 10000):
ppr, y, z = z_hy(p)
bg = 0.02827 * z * tabs / p
print(f"{p:9d} {ppr:6.2f} {y:7.4f} {z:6.3f} {bg:13.6f} {0.02827 * tabs / p:10.6f}")
ppr, y, z = z_hy(5000)
bg = 0.02827 * z * tabs / 5000
print(f"at 5000 psia: Bg = {bg * 1000:.2f} rcf/Mscf = {bg / 5.614583 * 1000:.3f} rb/Mscf; expansion factor 1/Bg = {1 / bg:.0f} scf/rcf")
Output
Tpc = 377.6 R, Ppc = 663.3 psia, Tpr = 1.747
p (psia) Ppr Y Z Bg (rcf/scf) Bg if Z=1
500 0.75 0.0222 0.958 0.035728 0.037298
1000 1.51 0.0460 0.922 0.017202 0.018649
2000 3.02 0.0964 0.880 0.008207 0.009324
3000 4.52 0.1438 0.886 0.005505 0.006216
5000 7.54 0.2123 0.999 0.003728 0.003730
8000 12.06 0.2707 1.254 0.002923 0.002331
10000 15.08 0.2960 1.434 0.002674 0.001865
at 5000 psia: Bg = 3.73 rcf/Mscf = 0.664 rb/Mscf; expansion factor 1/Bg = 268 scf/rcf
Assumptions and limitations
- The gas is a dry or lean natural gas of mostly hydrocarbon composition. The pseudo-critical correlation is a function of gravity alone, which is only valid when the gas composition follows a typical hydrocarbon trend.
- Non-hydrocarbon components (H2S, CO2, N2) are not corrected. They can shift Z by several percent and change the formation volume factor by the same amount.
- The equation of state is an empirical fit to the Standing-Katz chart. It is reliable in the range stated in the parameter guidance and weaker near the critical point and at very high pressure.
- Pressure and temperature are single values for the interval. Z and Bg change with depth, and a deep, thick interval needs a pressure-depth profile.
- The factor is for a single-phase gas. A gas condensate below its dew point has a liquid phase, and the factor of the produced wellstream does not describe it.
QC checks
- Z is near 1 at low pressure, dips below 1 at a few thousand psia for a typical gas, and returns above 1 at high pressure. A Z that keeps decreasing, or a Z above 1.5 at moderate pressure, indicates an input out of range.
- Bg is about 0.003 to 0.01 rcf/scf for a gas reservoir of 3,000 to 8,000 psia at normal temperatures. A value above 0.05 suggests the pressure was entered in the wrong units, such as psig or MPa.
- The solver gives the same Z with bisection and with Newton iteration. A second equation of state, such as Dranchuk-Abou-Kassem, is a useful independent check and typically agrees within a few percent in the normal range of the correlations.
- Compare with a laboratory Z-factor or a gas analysis measured at the reservoir temperature. A difference of more than a few percent calls for a composition correction.
- Pressure is in psia and temperature is absolute (Rankine) inside the calculation.
Going Deeper
Z-factors were traditionally read from the Standing-Katz chart, which is a plot of Z against reduced pressure for lines of reduced temperature. Equations that reproduce the chart came with computers. Hall and Yarborough fitted one in 1973, and Dranchuk and Abou-Kassem fitted an eleven-coefficient equation in 1975; both are solved for a reduced density by iteration and they agree closely in the usual range. Sutton's 1985 correlation improved the pseudo-critical properties for gases with a high molecular weight, where the older gravity relations underestimated them. A different, simpler approach is to fit a polynomial of Z against pressure to a laboratory constant-composition expansion and use that. In unconventional gas, the gas in place of a shale is not described by free-gas volume alone: adsorbed gas adds to it and is covered with the organic matter in the TOC topic. Wet gas and condensate reservoirs need the produced liquids added with a yield, and a near-critical fluid needs a compositional model.
References
- Hall, K.R. and Yarborough, L., 1973. A new equation of state for Z-factor calculations. Oil and Gas Journal, 71(25), 82–92.
- Sutton, R.P., 1985. Compressibility factors for high-molecular-weight reservoir gases. SPE 14265, SPE Annual Technical Conference and Exhibition, Las Vegas, NV.
- Standing, M.B. and Katz, D.L., 1942. Density of natural gases. Transactions of the AIME, 146, 140–149.
- Dranchuk, P.M. and Abou-Kassem, J.H., 1975. Calculation of Z factors for natural gases using equations of state. Journal of Canadian Petroleum Technology, 14(3), 34–36.
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.