`pyrestoolbox`
==============
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
A collection of Reservoir Engineering Utilities
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
This set of functions focuses on those that the author uses often while
crafting programming solutions. These are the scripts that are often
copy/pasted from previous work - sometimes slightly modified - resulting
in a trail of slightly different versions over the years. Some attempt
has been made here to make this implementation flexible enough such that
it can be relied on as-is going forward.
Note: Version 2.x now refactors functions into different modules, requiring seperate imports
Includes functions to perform simple calculations including;
- Inflow for oil and gas
- PVT Calculations for oil
- PVT calculation for gas
- Return critical parameters for typical components
- Creation of Black Oil Table information
- Creation of layered permeability distribution consistent with a
Lorenz heterogeneity factor
- Extract problem cells information from Intesect (IX) print files
- Generation of AQUTAB include file influence functions for use in
ECLIPSE
- Creation of Corey and LET relative permeability tables in Eclipse
format
- Calculation of Methane and CO2 saturated brine properties
Apologies in advance that it is only in oilfield
units with no current plans to add universal multi-unit support.
Changelist in 2.1.0:
- Fixed variable Typing issue that caused problems with Python 3.9 and older.
- Added reference to the Burgoyne ('BUR') methods for gas Z-Factor and critical property correlation
Changelist in 2.0.0:
- Modified the new Z-Factor method, 'BUR', now a tuned five component Peng Robinson method that is fast and stable and able to handle up to 100% of CO2, H2S, N2 or H2 as well as natural gas. Viscosities are calculated with a tuned LBC model.
- Refactored all code to split into modules for ease of future maintenance
Changelist in 1.4.4:
- Added in new Z-Factor method, 'BUR', which is a tuned single component Peng Robinson method that is fast and stable
Changelist in 1.4.2:
- Corrected CO2 solubility calculations when two roots in CO2 liquid phase
Changelist in 1.4.1:
- Added calculation of Ezrokhi coefficients for brine density and viscosity with dissolved CO2
Changelist in 1.4.0:
- Introduced CO2 saturated brine calculations using Spycher & Pruess modified SRK EOS method
- Rectified an error introduced in Gas Z-Factor calculations due to errant indentation
Changelist in 1.3.9:
- Tweaks to speed DAK and Hall & Yarborough Z-Factor calculations
Changelist in 1.3.8:
- Fix bug in Hall & Yarborough Z-Factor calculation
Changelist in 1.3.5:
- Fix bug in ECL deck zip/check recursion
Changelist in 1.3.4:
- Extend ECL deck zip/check function to handle IX formatted decks, and support zipping multiple decks at once.
Changelist in 1.3.2:
- Added robust Rachford Rice solver in Simulation Helpers
- Moved relative permeability functions and simulation helpers to seperate .simtools module
Changelist in 1.2.0
- Added Component Critical Property Library
Changelist in v1.1.4:
- Attempting to fix reported issue with required dependencies not installing correctly
Changelist in v1.1:
- Fix API to SG calculation (141.4 vs 141.5)
- Added lower limit to first rho_po estimate for Oil Density with McCain method to avoid negative values with high Rs
- Added oil_sg and oil_api functions
- Modified HY Z-Factor solve algorithm to improve robustness
- Modified DAK Z-Factor solve algorithm to improve robustness
- Added Gas Z-Factor correlation from Wang, Ye & Wu (2021)
- Removed 'LIN' Z-Factor method due to significant errors above 12,000 psi. Use WYW method instead if speed needed.
Head to the project site for more information & documentation;
https://github.com/mwburgoyne/pyResToolbox
Start by importing the package;
from pyrestoolbox import pyrestoolbox as rtb
Function List includes
-------------
- Gas Flow Rate Radial
- Gas Flow Rate Linear
- Oil Flow Rate Radial
- Oil Flow Rate Linear
----------------------------
- Gas Tc & Pc Calculation
- Gas Z-Factor
Calculation
- Gas Viscosity
- Gas Viscosity \* Z
- Gas Compressibility
- Gas Formation Volume Factor
- Gas Density
- Gas Water of Condensation
- Convert P/Z to P
- Convert Gas Gradient to SG
- Delta Pseudopressure
- Gas Condensate FWS SG
----------------------------
- Component Critical Properties Library
----------------------------
- Oil Density from MW
- Oil Critical Properties with Twu
- Incrememtal GOR post Separation
- Oil Bubble Point Pressure
- Oil GOR at Pb
- Oil GOR at P
- Oil Compressibility
- Oil Density
- Oil Formation Volume Factor
- Oil Viscosity
- Generate Black Oil Table data
- Estimate soln gas SG from oil
- Estimate SG of gas post separator
- Calculate weighted average surface gas SG
- Oil API to SG
- Oil SG to API
----------------------------
- Calculate suite of methane saturated brine properties
- Calculate suite of CO2 saturated brine properties
----------------------------
- Lorenz coefficient from Beta value
- Lorenz coefficient from flow fraction
- Lorenz coefficient to flow fraction
- Lorenz coefficient to permeability array
----------------------------
- Summarize IX convergence errors from PRT file
- Create Aquifer Influence Functions
- Solve Rachford Rice for user specified feed Zis and Ki's
- Create sets of rel perm tables
Raw data
{
"_id": null,
"home_page": "https://github.com/mwburgoyne/pyResToolbox",
"name": "pyrestoolbox",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "restoolbox, petroleum, reservoir",
"author": "Mark W. Burgoyne",
"author_email": "mark.w.burgoyne@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/6b/09/f3559912ef4dcdb6247fa41428c104586bb74f029b4a96b654e50da8d55a/pyrestoolbox-2.1.1.tar.gz",
"platform": null,
"description": "`pyrestoolbox`\r\n==============\r\n\r\n\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\--\r\nA collection of Reservoir Engineering Utilities\r\n\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\-\\--\r\n\r\nThis set of functions focuses on those that the author uses often while\r\ncrafting programming solutions. These are the scripts that are often\r\ncopy/pasted from previous work - sometimes slightly modified - resulting\r\nin a trail of slightly different versions over the years. Some attempt\r\nhas been made here to make this implementation flexible enough such that\r\nit can be relied on as-is going forward.\r\n\r\nNote: Version 2.x now refactors functions into different modules, requiring seperate imports\r\n\r\nIncludes functions to perform simple calculations including;\r\n\r\n- Inflow for oil and gas\r\n- PVT Calculations for oil\r\n- PVT calculation for gas\r\n- Return critical parameters for typical components\r\n- Creation of Black Oil Table information\r\n- Creation of layered permeability distribution consistent with a\r\n Lorenz heterogeneity factor\r\n- Extract problem cells information from Intesect (IX) print files\r\n- Generation of AQUTAB include file influence functions for use in\r\n ECLIPSE\r\n- Creation of Corey and LET relative permeability tables in Eclipse\r\n format\r\n- Calculation of Methane and CO2 saturated brine properties\r\n\r\nApologies in advance that it is only in oilfield\r\nunits with no current plans to add universal multi-unit support.\r\n\r\n\r\nChangelist in 2.1.0:\r\n- Fixed variable Typing issue that caused problems with Python 3.9 and older.\r\n- Added reference to the Burgoyne ('BUR') methods for gas Z-Factor and critical property correlation\r\n\r\nChangelist in 2.0.0:\r\n- Modified the new Z-Factor method, 'BUR', now a tuned five component Peng Robinson method that is fast and stable and able to handle up to 100% of CO2, H2S, N2 or H2 as well as natural gas. Viscosities are calculated with a tuned LBC model.\r\n- Refactored all code to split into modules for ease of future maintenance\r\n\r\nChangelist in 1.4.4:\r\n- Added in new Z-Factor method, 'BUR', which is a tuned single component Peng Robinson method that is fast and stable \r\n\r\n\r\nChangelist in 1.4.2:\r\n- Corrected CO2 solubility calculations when two roots in CO2 liquid phase\r\n\r\nChangelist in 1.4.1:\r\n- Added calculation of Ezrokhi coefficients for brine density and viscosity with dissolved CO2\r\n\r\nChangelist in 1.4.0:\r\n- Introduced CO2 saturated brine calculations using Spycher & Pruess modified SRK EOS method\r\n- Rectified an error introduced in Gas Z-Factor calculations due to errant indentation\r\n\r\nChangelist in 1.3.9:\r\n- Tweaks to speed DAK and Hall & Yarborough Z-Factor calculations\r\n\r\nChangelist in 1.3.8:\r\n- Fix bug in Hall & Yarborough Z-Factor calculation\r\n\r\nChangelist in 1.3.5:\r\n- Fix bug in ECL deck zip/check recursion\r\n\r\nChangelist in 1.3.4:\r\n- Extend ECL deck zip/check function to handle IX formatted decks, and support zipping multiple decks at once.\r\n\r\nChangelist in 1.3.2:\r\n- Added robust Rachford Rice solver in Simulation Helpers\r\n- Moved relative permeability functions and simulation helpers to seperate .simtools module\r\n\r\nChangelist in 1.2.0\r\n- Added Component Critical Property Library\r\n\r\nChangelist in v1.1.4:\r\n- Attempting to fix reported issue with required dependencies not installing correctly\r\n\r\nChangelist in v1.1:\r\n- Fix API to SG calculation (141.4 vs 141.5)\r\n- Added lower limit to first rho_po estimate for Oil Density with McCain method to avoid negative values with high Rs\r\n- Added oil_sg and oil_api functions\r\n- Modified HY Z-Factor solve algorithm to improve robustness\r\n- Modified DAK Z-Factor solve algorithm to improve robustness\r\n- Added Gas Z-Factor correlation from Wang, Ye & Wu (2021)\r\n- Removed 'LIN' Z-Factor method due to significant errors above 12,000 psi. Use WYW method instead if speed needed.\r\n\r\nHead to the project site for more information & documentation;\r\nhttps://github.com/mwburgoyne/pyResToolbox\r\n\r\nStart by importing the package;\r\nfrom pyrestoolbox import pyrestoolbox as rtb\r\n\r\nFunction List includes\r\n-------------\r\n\r\n- Gas Flow Rate Radial \r\n- Gas Flow Rate Linear \r\n- Oil Flow Rate Radial \r\n- Oil Flow Rate Linear \r\n----------------------------\r\n- Gas Tc & Pc Calculation \r\n- Gas Z-Factor \r\n Calculation \r\n- Gas Viscosity \r\n- Gas Viscosity \\* Z \r\n- Gas Compressibility \r\n- Gas Formation Volume Factor \r\n- Gas Density \r\n- Gas Water of Condensation \r\n- Convert P/Z to P \r\n- Convert Gas Gradient to SG \r\n- Delta Pseudopressure \r\n- Gas Condensate FWS SG \r\n----------------------------\r\n- Component Critical Properties Library\r\n----------------------------\r\n- Oil Density from MW \r\n- Oil Critical Properties with Twu \r\n- Incrememtal GOR post Separation \r\n- Oil Bubble Point Pressure \r\n- Oil GOR at Pb \r\n- Oil GOR at P \r\n- Oil Compressibility \r\n- Oil Density \r\n- Oil Formation Volume Factor \r\n- Oil Viscosity \r\n- Generate Black Oil Table data \r\n- Estimate soln gas SG from oil \r\n- Estimate SG of gas post separator \r\n- Calculate weighted average surface gas SG \r\n- Oil API to SG \r\n- Oil SG to API\r\n----------------------------\r\n- Calculate suite of methane saturated brine properties \r\n- Calculate suite of CO2 saturated brine properties \r\n----------------------------\r\n- Lorenz coefficient from Beta value \r\n- Lorenz coefficient from flow fraction \r\n- Lorenz coefficient to flow fraction \r\n- Lorenz coefficient to permeability array \r\n----------------------------\r\n- Summarize IX convergence errors from PRT file \r\n- Create Aquifer Influence Functions \r\n- Solve Rachford Rice for user specified feed Zis and Ki's \r\n- Create sets of rel perm tables \r\n \r\n \r\n",
"bugtrack_url": null,
"license": null,
"summary": "pyResToolbox - A collection of Reservoir Engineering Utilities",
"version": "2.1.1",
"project_urls": {
"Homepage": "https://github.com/mwburgoyne/pyResToolbox"
},
"split_keywords": [
"restoolbox",
" petroleum",
" reservoir"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "47318643ad8d46cc5774fa85bae5f084391c4498e6c62847896bdeb4ef7ae2ca",
"md5": "15cf60f4328d85ee79db0d2c851d5551",
"sha256": "737db5c95f3ff249be34c2742d2b78807342b13f410433cc19f4ac3cd85b4310"
},
"downloads": -1,
"filename": "pyrestoolbox-2.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "15cf60f4328d85ee79db0d2c851d5551",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 873965,
"upload_time": "2024-11-01T06:23:41",
"upload_time_iso_8601": "2024-11-01T06:23:41.458857Z",
"url": "https://files.pythonhosted.org/packages/47/31/8643ad8d46cc5774fa85bae5f084391c4498e6c62847896bdeb4ef7ae2ca/pyrestoolbox-2.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b09f3559912ef4dcdb6247fa41428c104586bb74f029b4a96b654e50da8d55a",
"md5": "0e95e592d6569bc9a0a1950736cea0ee",
"sha256": "5a454ac27cbd047cd19b380b559adb789c27231ccd1b644bc324704e0494ac97"
},
"downloads": -1,
"filename": "pyrestoolbox-2.1.1.tar.gz",
"has_sig": false,
"md5_digest": "0e95e592d6569bc9a0a1950736cea0ee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 854523,
"upload_time": "2024-11-01T06:23:44",
"upload_time_iso_8601": "2024-11-01T06:23:44.426997Z",
"url": "https://files.pythonhosted.org/packages/6b/09/f3559912ef4dcdb6247fa41428c104586bb74f029b4a96b654e50da8d55a/pyrestoolbox-2.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-01 06:23:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mwburgoyne",
"github_project": "pyResToolbox",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pyrestoolbox"
}