`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.
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
Lorenze 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 1.4.4:
- Added in new Z-Factor method, 'PR', 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/da/b7/1b05edd51e51eb973b8f04c6f0e4510a97f38791e26691f24de29b1607a1/pyrestoolbox-1.4.4.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\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 Lorenze 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\nChangelist in 1.4.4:\r\n- Added in new Z-Factor method, 'PR', which is a tuned single component Peng Robinson method that is fast and stable\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": "1.4.4",
"project_urls": {
"Homepage": "https://github.com/mwburgoyne/pyResToolbox"
},
"split_keywords": [
"restoolbox",
" petroleum",
" reservoir"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "04821e96190fd64bb9b46771f008ca019cb3d85b67aa574de1fa23b186d3c925",
"md5": "64f40f6f382d7cadaf9de1b82db92c34",
"sha256": "c98946be962b0547d18bf245818d9b33bab8e32ada25c8d8f78e6f5e3a31aa73"
},
"downloads": -1,
"filename": "pyrestoolbox-1.4.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "64f40f6f382d7cadaf9de1b82db92c34",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 105612,
"upload_time": "2024-04-06T01:35:55",
"upload_time_iso_8601": "2024-04-06T01:35:55.331307Z",
"url": "https://files.pythonhosted.org/packages/04/82/1e96190fd64bb9b46771f008ca019cb3d85b67aa574de1fa23b186d3c925/pyrestoolbox-1.4.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dab71b05edd51e51eb973b8f04c6f0e4510a97f38791e26691f24de29b1607a1",
"md5": "c69e819eb773459c7b1301e75e831dfb",
"sha256": "214e2d739c8905254b5f1ed4240cc1456d2ed49457495563441affe4f374238c"
},
"downloads": -1,
"filename": "pyrestoolbox-1.4.4.tar.gz",
"has_sig": false,
"md5_digest": "c69e819eb773459c7b1301e75e831dfb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 111660,
"upload_time": "2024-04-06T01:35:57",
"upload_time_iso_8601": "2024-04-06T01:35:57.017983Z",
"url": "https://files.pythonhosted.org/packages/da/b7/1b05edd51e51eb973b8f04c6f0e4510a97f38791e26691f24de29b1607a1/pyrestoolbox-1.4.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-06 01:35:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mwburgoyne",
"github_project": "pyResToolbox",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pyrestoolbox"
}