Petroleum Production & Nodal Analysis
Vogel Two-Phase Oil Inflow Performance (IPR) Formula
Calculate Absolute Open Flow Potential q_max and Target Bottomhole Drawdown Rate q_o = q_max * (1 - 0.2*(P_wf/P_r) - 0.8*(P_wf/P_r)^2) for saturated solution-gas-drive oil wells.
Stop extrapolating straight-line Productivity Index below the reservoir bubble point!
Above bubble-point pressure, single-phase undersaturated oil obeys Darcy’s linear Productivity Index q_o = J * (P_r - P_wf). Once reservoir pressure P_r drops below the bubble point, solution gas evolves near the wellbore as flowing bottomhole pressure P_wf falls, slashing relative permeability to oil k_ro and bending the Inflow Performance Relationship inward! J.V. Vogel (1968, Journal of Petroleum Technology) simulated saturated solution-gas-drive reservoirs to establish the universal dimensionless IPR curve: q_o / q_max = 1 - 0.2 * (P_wf / P_r) - 0.8 * (P_wf / P_r)^2! From just ONE stabilized well test (q_test at P_wf_test), production engineers calibrate Absolute Open Flow Potential q_max = q_test / (1 - 0.2 * (P_wf_test / P_r) - 0.8 * (P_wf_test / P_r)^2) and predict rate at any artificial-lift drawdown P_wf_target!
Verify on Average_Reservoir_Pressure P_r = 2,500 psia (B2), Stabilized_Test_BHP P_wf_test = 1,250 psia (P_wf / P_r = 0.50, B3), Stabilized_Test_Rate q_test = 700 STB/d (B4), and Target_ESP_Pump_BHP P_wf_target = 500 psia (P_wf / P_r = 0.20, B5): Test Dimensionless Factor is 1 - 0.2*(0.50) - 0.8*(0.25) = 0.7000, calibrating Vogel Absolute Open Flow q_max = 700 / 0.70 = 1,000.00 STB/d (E2); Vogel Predicted Oil Rate at 500 psia is 1,000 * (1 - 0.2*(0.20) - 0.8*(0.04)) = 928.00 STB/d (E3); whereas Naive Straight-Line Darcy Extrapolation J = 700 / 1,250 = 0.56 STB/d/psi falsely predicts 0.56 * 2,000 = 1,120.00 STB/d (over-sizing the ESP pump by +192.00 STB/d in E5)!
| Vogel Saturated IPR Metric (P_r=2,500 psia, Test: 700 STB/d @ 1,250 psia, Target=500 psia) | Formula | Verified Output |
|---|---|---|
| Absolute Open Flow Potential q_max | q_test / (1 - 0.2*(Pt/Pr) - 0.8*(Pt/Pr)^2) | 1,000.00 STB/d (at P_wf = 0) |
| Vogel Rate @ 500 psia (STB/d) | q_max * (1 - 0.2*(Pwf/Pr) - 0.8*(Pwf/Pr)^2) | 928.00 STB/d |
| Naive Linear PI Extrapolation | (q_test / (Pr - P_test)) * (Pr - P_target) | 1,120.00 STB/d |
| Gas-Breakout Overprediction Error | Naive_Linear_Rate - Vogel_Rate | +192.00 STB/d Overestimate |
Vogel Calibrated Target Inflow Rate Formula
Validate P_r > 0, 0 <= P_wf_test < P_r, q_test > 0, and 0 <= P_wf_target <= P_r!
=LET(p_rs, B2, p_ts, B3, q_ts, B4, p_tg, B5, IF(OR(p_rs <= 0, p_ts < 0, p_ts >= p_rs, q_ts <= 0, p_tg < 0, p_tg > p_rs), "Invalid Well Test", LET(r_ts, p_ts / p_rs, q_mx, q_ts / (1 - 0.2 * r_ts - 0.8 * r_ts ^ 2), r_tg, p_tg / p_rs, ROUND(q_mx * (1 - 0.2 * r_tg - 0.8 * r_tg ^ 2), 2))))Naive Linear PI Overprediction Audit Formula
Test P_wf_target = 0 psia: Vogel smoothly caps at q_max = 1,000.00 STB/d, whereas Naive Linear PI predicts 1,400.00 STB/d (+40% error)!
=IF(ISTEXT(E3), E3, ROUND((B4 / (B2 - B3)) * (B2 - B5) - E3, 2))Try the example
Use the original values or change them to test your understanding.