Excel Functions for Petroleum Engineering
Browse and use 590 petroleum engineering functions directly in your Excel spreadsheets.
590 functions
PO.DCA.AKB.D
Calculates instantaneous decline rate D(t) for Ansah-Knowles-Buba (2000) decline, [1/T]. Computed numerically.
PO.DCA.AKB.EUR
Estimated Ultimate Recovery (EUR) to an economic rate limit for Ansah-Knowles-Buba (2000) decline, [L3]. Returns cumulative production up to the time the rate reaches the economic limit.
PO.DCA.AKB.Fit
Fit Ansah-Knowles-Buba (2000) decline to rate-time data and return parameters as a row array [Qi, Alpha, Beta].
PO.DCA.AKB.Prod
Calculates cumulative production using Ansah-Knowles-Buba (2000) semi-analytical decline model for bounded reservoirs. Units of volume [L3] and time [T] must be consistent.
PO.DCA.AKB.Rate
Calculates production rate using Ansah-Knowles-Buba (2000) semi-analytical decline model for bounded reservoirs. Units of volume [L3] and time [T] must be consistent.
PO.DCA.AKB.Time
Time to reach an economic rate limit for Ansah-Knowles-Buba (2000) decline, [T]. Returns the time when the production rate falls to the specified economic limit.
PO.DCA.AKB.WFit
Weighted fit of Ansah-Knowles-Buba (2000) decline to rate-time data and return parameters as a row array [Qi, Alpha, Beta].
PO.DCA.Arps.D
Calculates instantaneous decline rate D(t) for Arps decline, [1/T]. D(t) = Di/(1+b×Di×t). Computed numerically.
PO.DCA.Arps.EUR
Estimated Ultimate Recovery (EUR) to an economic rate limit for Arps decline, [L3]. Returns cumulative production up to the time the rate reaches the economic limit.
PO.DCA.Arps.Fit
Fit Arps decline to rate-time data and return parameters as a row array [Qi, Di, b].
PO.DCA.Arps.Prod
Calculates cumulative production using Arps (1945) decline curve, [L3]. Units of volume [L3] and time [T] must be consistent. Use b=0 for exponential, 0<b<1 for hyperbolic, b=1 for harmonic.
PO.DCA.Arps.Rate
Calculates rate using Arps (1945) decline curve, [L3/T]. Units of volume [L3] and time [T] must be consistent. Use b=0 for exponential, 0<b<1 for hyperbolic, b=1 for harmonic.
PO.DCA.Arps.Time
Time to reach an economic rate limit for Arps decline, [T]. Returns the time when the production rate falls to the specified economic limit.
PO.DCA.Arps.WFit
Fit Arps decline to rate-time data with weights and return parameters as a row array [Qi, Di, b].
PO.DCA.Convert.AnnualToMonthly
Converts annual effective decline rate to monthly effective decline rate using compound conversion.
PO.DCA.Convert.DailyToAnnual
Converts daily effective decline rate to annual effective decline rate using compound conversion.
PO.DCA.Convert.EffectiveToNominal
Converts effective (periodic) decline rate to nominal (continuous) decline rate. Dn = -ln(1 - De).
PO.DCA.Convert.MonthlyToAnnual
Converts monthly effective decline rate to annual effective decline rate using compound conversion.
PO.DCA.Convert.NominalToEffective
Converts nominal (continuous) decline rate to effective (periodic) decline rate. De = 1 - exp(-Dn).
PO.DCA.Data.Clean
Cleans production data by interpolating over outlier points. Returns cleaned rate array with outliers replaced by interpolated values.
PO.DCA.Data.OutlierFlag
Flags outliers using rolling window Z-score analysis. Returns TRUE for data points that are outliers based on local statistics.
PO.DCA.Diag.Beta
Computes the beta diagnostic β = t×D(t) for flow regime identification. β≈0.5: linear flow, β≈0.25: bilinear, β≈1.0: boundary-dominated.
PO.DCA.Diag.Bourdet
Calculates the Bourdet (smoothed) derivative at point t. Used for flow regime identification and production diagnostics.
PO.DCA.Diag.bParam
Computes the time-varying Arps b-parameter. b=0: exponential, 0<b<1: hyperbolic, b=1: harmonic, b>1: transient (unconventional).
PO.DCA.Duong.D
Calculates instantaneous decline rate D(t) for Duong model, [1/T]. Computed numerically.
PO.DCA.Duong.EUR
Estimated Ultimate Recovery (EUR) to an economic rate limit for Duong decline, [L3].
PO.DCA.Duong.Fit
Fit Duong decline to rate-time data and return parameters as a row array [q1, qInf, a, m].
PO.DCA.Duong.Prod
Calculates cumulative production using Duong decline model, [L3]. Units of volume [L3] and time [T] must be consistent.
PO.DCA.Duong.Rate
Calculates rate using Duong decline model, [L3/T]. Units of volume [L3] and time [T] must be consistent.
PO.DCA.Duong.Time
Time to reach an economic rate limit for Duong decline, [T]. Returns the time when the rate falls to the specified limit.
PO.DCA.Duong.WFit
Weighted fit of Duong decline to rate-time data and return parameters as a row array [q1, qInf, a, m].
PO.DCA.EEDM.D
Calculates instantaneous decline rate D(t) for Extended Exponential Decline Model (EEDM), [1/T]. Computed analytically.
PO.DCA.EEDM.EUR
Estimated Ultimate Recovery (EUR) for Extended Exponential Decline Model (EEDM). Returns Q0/BetaL (approximate EUR based on terminal decline), [L3].
PO.DCA.EEDM.Fit
Fit Extended Exponential Decline Model (EEDM) to rate-time data and return parameters as a row array [Q0, BetaL, BetaE, n].
PO.DCA.EEDM.Prod
Calculates cumulative production using Extended Exponential Decline Model (EEDM). Units of volume [L3] and time [T] must be consistent.
PO.DCA.EEDM.Rate
Calculates production rate using Extended Exponential Decline Model (EEDM). Units of volume [L3] and time [T] must be consistent.
PO.DCA.EEDM.Time
Time to reach an economic rate limit for Extended Exponential Decline Model (EEDM), [T].
PO.DCA.EEDM.WFit
Weighted fit of Extended Exponential Decline Model (EEDM) to rate-time data and return parameters as a row array [Q0, BetaL, BetaE, n].
PO.DCA.LGM.D
Calculates instantaneous decline rate D(t) for Logistic Growth Model (LGM), [1/T]. Computed analytically.
PO.DCA.LGM.EUR
Estimated Ultimate Recovery (EUR) for Logistic Growth Model (LGM). Returns K (carrying capacity), [L3].
PO.DCA.LGM.Fit
Fit Logistic Growth Model (LGM) to rate-time data and return parameters as a row array [K, a, n].
PO.DCA.LGM.Prod
Calculates cumulative production using Logistic Growth Model (LGM). Units of volume [L3] and time [T] must be consistent.
PO.DCA.LGM.Rate
Calculates production rate using Logistic Growth Model (LGM). Units of volume [L3] and time [T] must be consistent.
PO.DCA.LGM.Time
Time to reach an economic rate limit for Logistic Growth Model (LGM), [T].
PO.DCA.LGM.WFit
Weighted fit of Logistic Growth Model (LGM) to rate-time data and return parameters as a row array [K, a, n].
PO.DCA.ModHyp.D
Calculates instantaneous decline rate D(t) for Modified Hyperbolic decline, [1/T]. Computed numerically.
PO.DCA.ModHyp.EUR
Estimated Ultimate Recovery (EUR) to an economic rate limit for modified hyperbolic decline, [L3]. Returns cumulative production up to the time the rate reaches the economic limit.
PO.DCA.ModHyp.Fit
Fit Modified Hyperbolic decline to rate-time data and return parameters as a row array [Qi, Di, Dlim, b].
PO.DCA.ModHyp.Prod
Calculates cumulative production using modified hyperbolic production decline curve. Units of volume [L3] and time [T] must be consistent.
PO.DCA.ModHyp.Rate
Calculates rate using modified hyperbolic production decline curve. Units of volume [L3] and time [T] must be consistent.
PO.DCA.ModHyp.Time
Time to reach an economic rate limit for modified hyperbolic decline, [T]. Returns the time when the production rate falls to the specified economic limit.
PO.DCA.ModHyp.WFit
Weighted fit of Modified Hyperbolic decline to rate-time data and return parameters as a row array [Qi, Di, Dlim, b].
PO.DCA.PLE.D
Calculates instantaneous decline rate D(t) for Power Law Exponential (PLE) model, [1/T]. D(t) = D∞ + n×Di0×t^(n-1). Computed numerically.
PO.DCA.PLE.EUR
Estimated Ultimate Recovery (EUR) to an economic rate limit for Power Law Exponential (PLE) decline, [L3]. Returns cumulative production up to the time the rate reaches the economic limit.
PO.DCA.PLE.Fit
Fit Power Law Exponential (PLE) decline to rate-time data and return parameters as a row array [Qi_intercept, Di_intercept, D_inf, n].
PO.DCA.PLE.Prod
Calculates cumulative production using Power Law Exponential (PLE) rate decline model. Units of volume [L3] and time [T] must be consistent.
PO.DCA.PLE.Rate
Calculates production rate using Power Law Exponential (PLE) rate decline model. Units of volume [L3] and time [T] must be consistent.
PO.DCA.PLE.Time
Time to reach an economic rate limit for Power Law Exponential (PLE) decline, [T]. Returns the time when the production rate falls to the specified economic limit.
PO.DCA.PLE.WFit
Weighted fit of Power Law Exponential (PLE) decline to rate-time data and return parameters as a row array [Qi_intercept, Di_intercept, D_inf, n].
PO.DCA.SEDM.D
Calculates instantaneous decline rate D(t) for Stretched Exponential model, [1/T]. D(t) = (n/τ)×(t/τ)^(n-1). Computed numerically.
PO.DCA.SEDM.EUR
Estimated Ultimate Recovery (EUR) to an economic rate limit for Stretched Exponential decline, [L3].
PO.DCA.SEDM.Fit
Fit Stretched Exponential decline to rate-time data and return parameters as a row array [Qi, Tau, N].
PO.DCA.SEDM.Prod
Calculates cumulative production using Stretched Exponential decline model. Units of volume [L3] and time [T] must be consistent.
PO.DCA.SEDM.Rate
Calculates production rate using Stretched Exponential decline model. Units of volume [L3] and time [T] must be consistent.
PO.DCA.SEDM.Time
Time to reach an economic rate limit for Stretched Exponential decline, [T].
PO.DCA.SEDM.WFit
Weighted fit of Stretched Exponential decline to rate-time data and return parameters as a row array [Qi, Tau, N].
PO.DCA.THM.D
Calculates instantaneous decline rate D(t) for Transient Hyperbolic Model, [1/T]. Computed analytically.
PO.DCA.THM.EUR
Estimated Ultimate Recovery (EUR) to an economic rate limit for Transient Hyperbolic Model, [L3].
PO.DCA.THM.Fit
Fit Transient Hyperbolic Model to rate-time data and return parameters as a row array [Qi, Di, bi, bf, telf].
PO.DCA.THM.Prod
Calculates cumulative production using Transient Hyperbolic Model. Units of volume [L3] and time [T] must be consistent.
PO.DCA.THM.Rate
Calculates production rate using Transient Hyperbolic Model. Units of volume [L3] and time [T] must be consistent.
PO.DCA.THM.Time
Time to reach an economic rate limit for Transient Hyperbolic Model, [T].
PO.DCA.THM.WFit
Weighted fit of Transient Hyperbolic Model to rate-time data and return parameters as a row array [Qi, Di, bi, bf, telf].
PO.EoS.Component.Exists
Checks if a component exists in the database. Returns TRUE or FALSE.
PO.EoS.Component.List
Returns a list of all available component names in the database.
PO.EoS.Component.Props
Returns component properties [Tc, Pc, omega, Mw] as a row array from the database. Spills horizontally into 4 cells.
PO.EoS.Envelope.PR
Phase envelope using Peng-Robinson EoS. Output: 'bubble_T', 'bubble_P', 'dew_T', 'dew_P' (arrays), or 'cricondenbar_P/T', 'cricondentherm_P/T', 'critical_P/T' (scalars).
PO.EoS.Envelope.SRK
Phase envelope using SRK EoS. Output: 'bubble_T', 'bubble_P', 'dew_T', 'dew_P' (arrays), or 'cricondenbar_P/T', 'cricondentherm_P/T', 'critical_P/T' (scalars).
PO.EoS.Flash.PR
PT Flash calculation using Peng-Robinson EoS. Returns V (vapor fraction), L (liquid fraction), x (liquid composition), y (vapor composition), or K (K-values) based on output parameter.
PO.EoS.Flash.SRK
PT Flash calculation using SRK EoS. Returns V (vapor fraction), L (liquid fraction), x (liquid composition), y (vapor composition), or K (K-values) based on output parameter.
PO.EoS.Fug.PR
Calculates fugacity for all components using Peng-Robinson EoS, [Pa]. Returns array.
PO.EoS.Fug.SRK
Calculates fugacity for all components using SRK EoS, [Pa]. Returns array.
PO.EoS.Ki.PR
Calculates K-values (equilibrium ratios Ki = φL/φV) using Peng-Robinson EoS, [-]. Returns array.
PO.EoS.Ki.SRK
Calculates K-values (equilibrium ratios Ki = φL/φV) using SRK EoS, [-]. Returns array.
PO.EoS.Kij.ChuehPrausnitz
Estimates binary interaction parameter kij from critical volumes using Chueh-Prausnitz correlation, [-].
PO.EoS.Kij.Matrix
Generates N×N binary interaction parameter matrix using correlation. Methods: 'Nikos' (PR, T-dependent), 'Elliot-Daubert' (SRK), 'Chueh-Prausnitz'. Returns N×N array.
PO.EoS.Mixture.Mw
Calculates mixture molecular weight from mole fractions and property table, [kg/mol].
PO.EoS.Pb.PR
Calculates bubble point pressure using Peng-Robinson EoS, [Pa].
PO.EoS.Pb.SRK
Calculates bubble point pressure using SRK EoS, [Pa].
PO.EoS.Pdew.PR
Calculates dew point pressure using Peng-Robinson EoS, [Pa].
PO.EoS.Pdew.SRK
Calculates dew point pressure using SRK EoS, [Pa].
PO.EoS.Phi.PR
Calculates fugacity coefficients for all components using Peng-Robinson EoS, [-]. Returns array.
PO.EoS.Phi.SRK
Calculates fugacity coefficients for all components using SRK EoS, [-]. Returns array.
PO.EoS.Rho.PR
Calculates density using Peng-Robinson EoS, [kg/m³].
PO.EoS.Rho.SRK
Calculates density using SRK EoS, [kg/m³].
PO.EoS.SCN.Props
Returns Katz-Firoozabadi SCN properties [Tc, Pc, omega, Mw] as a row array. Carbon number range: 6-45.
PO.EoS.Tb.PR
Calculates bubble point temperature using Peng-Robinson EoS, [K].
PO.EoS.Tb.SRK
Calculates bubble point temperature using SRK EoS, [K].
PO.EoS.Tdew.PR
Calculates dew point temperature using Peng-Robinson EoS, [K].
PO.EoS.Tdew.SRK
Calculates dew point temperature using SRK EoS, [K].