Improving the Single Component Peng-Robinson Z-Factor Approach for Inerts
Outdated 4-Component EOS model. Note: Gas MW, Tc and Pc will be a function of hydrocarbon specific gravity

Improving the Single Component Peng-Robinson Z-Factor Approach for Inerts

EDITED 20-05-2024 - Significant improvements to fit quality with the inclusion of temperature dependant BIP's has been made since the article was first written below. To find the latest work - including plots and maps showing residuals - can be found on the GitHub site

--- Original article below for posterity ---


Following feedback from Curtis Whitson and Simon Tortike on my single component Peng Robinson Z-Factor calculation method, I explored the potential of extending the approach to explicitly incorporate inerts. This was driven by two main considerations: First, the accuracy of my original single-component model was inherently limited by the choice of critical pressure and temperature correlation. Second, as we increasingly encounter scenarios such as CCUS with high inert concentrations, a simplified yet accurate approach is needed to handle up to 100% inerts — beyond the applicable range for approaches such as Wichert & Aziz.

Methodology

Step 1: I gathered 68,668 density data points from the NIST database for pure vapor and supercritical states of CO2, H2S, and N2, across temperatures of 50-300°F and pressures of 14.7-15,000 psia. These densities were then converted into Z-Factors.

Step 2: I applied regression analysis to these data points using a Peng-Robinson equation of state (EOS), modifying the Volume Shift for CO2, N2, and H2S, and adjusting the OmegaA and OmegaB parameters for CO2. CO2 was the most challenging to model accurately, yet the approach achieved better than 1% average error and maintained less than 5% error for 99% of the data points, except near the critical point.

Step 3: I digitized 1,052 Z-factor measurements from 88 samples detailed in Wichert’s 1970 thesis, which covered mixtures containing 0 - 54.5% CO2, 0 - 73.9% H2S, and 0 - 25.2% N2. I then developed a four-component Peng-Robinson model and modified the coefficients of the Sutton critical property correlation for the hydrocarbon gas and adjusted the binary interaction coefficients between all four components. This optimization was performed with a Python-driven workflow, minimizing the overall root mean square error by systematically regressing the Sutton coefficients with Python (outer loop) and the binary interaction parameters with PhazeComp (inner loop).

Results

While the Peng Robinson formulation is made a bit more complex due to 4 components vs 1, as well as inclusion of binary interaction coefficients, it still requires no iteration and so remains computationally efficient and robust, continuing to tick the boxes I was going after. Match qualities remain good - as detailed below - up to and including 100% pure inert compositions.

Cross plots below detail the pure component inert matches, along with the Wichert Z-Factor matches.

Cross plot of calculated vs NIST Z-Factor for CO2
Cross plot of calculated vs NIST Z-Factor for H2S
Cross plot of calculated vs NIST Z-Factor for N2
Cross plot of calculated vs Wichert reported Z-Factors


Final 4-Component EOS model. Note: Gas MW, Tc and Pc will be a function of hydrocarbon specific gravity


Custom Tc & Pc calculation for hydrocarbon gas as a function of hydrocarbon MW

Additional Resources

All the datasets used for these regressions have been uploaded for public access. To replicate these findings, you will need to download and install Aaron Zicks’ PhazeComp software, which will run these models with the free functionality. I encourage those interested in deepening their understanding of EOS modelling to invest time in mastering this software.

Access the 4-Component Peng-Robinson Z-Factor Model on GitHub

Joop de Kok

Lead Reservoir Engineer CCS at EBN

1 个月

This is great! I tested the density predictions for CO2 in CMG's GEM simulator, and the improvements in the relevant pressure and temperature range are very good compared to the default. I was wondering, in GEM there is also the possibility to include a temperature dependent volume shift. I guess it would be possible to further try to improve the match? I guess I would need to improve my python skills...

David Ogbe

Executive Director

1 个月

Thanks Mark. I find your work to be insightful.

回复
Hakim Djema

MSc EOR, Fluids Reservoir & PVT Engineer

5 个月

Thank you for your work, Mark. Is it possible to modify the constants A and B of the gas fraction, knowing that they are immutable and part of the PR equation?

回复
Victor RONDON

Ingeniero de Analítica en Tecnologias de Subsuelo

5 个月

Sometimes is better start with low value BICs than start with default values. Nitrogen as underbalance drilling gain acceptance, is more frequent in gas reservoir compositions. Nitrogen, would split more gas when is used as injection, and maybe can be used as fracturing fluid becaused unlock lighter components that precedes higher MW fluid opened to sand face.

回复
Simon Tortike

Energy Industry Director & Consultant

5 个月

Another accomplished work and write-up from you Mark. Your contributions are always very practical and I look forward to more in the future!

要查看或添加评论,请登录

Mark Burgoyne的更多文章

  • Z-Factors for Natural Gas: A simple EOS based approach

    Z-Factors for Natural Gas: A simple EOS based approach

    Prompted by preparation for an imminent internal PVT course that I will be delivering shortly, I dusted off the old…

    23 条评论
  • pyResToolbox - your Python Companion

    pyResToolbox - your Python Companion

    Doesn’t time fly…. It only seems a short while ago that I wrote an article detailing the beginning of my journey of…

    24 条评论
  • A PVT Journey – Key learnings so far

    A PVT Journey – Key learnings so far

    As a practising Reservoir Engineer, I’ve always felt that I understood PVT. Like many, I use it almost daily, but…

    14 条评论
  • Black Oil Tables Behaving Badly: Taming negative compressibility

    Black Oil Tables Behaving Badly: Taming negative compressibility

    Many practicing reservoir engineers out there will have come across this a few times. If lucky it’s only been in the…

    15 条评论
  • A Tale of Python and PVT

    A Tale of Python and PVT

    In an earlier post, I’d shared how I challenge myself to undertake a project over each festive season holiday period…

    38 条评论
  • Loving the Lorenz - New life for an old parameter

    Loving the Lorenz - New life for an old parameter

    Since 1950, the Lorenz Coefficient has provided a practical way to quantify layered permeability heterogeneity. Simple…

    15 条评论
  • ResToolbox is dead... Long live ResToolbox2!

    ResToolbox is dead... Long live ResToolbox2!

    Thanks for all your support over the past few years – many positive comments and some pleasant interactions in person…

    18 条评论

社区洞察

其他会员也浏览了